Stworzenie Pierwszej Encji

< Cofnij

 

Informacja

Zobacz jak dodać moduł do aplikacji: Definicja Dodatków

 

Podpięcie biblioteki Ingenes.ExpressApp.BaseModule.dll.

Jeśli twój moduł nie ma dostępu do biblioteki Ingenes.ExpressApp.BaseModule.dll. wykonaj następujące kroki aby dodać bibliotekę:

Wgraj bibliotekę Ingenes.ExpressApp.BaseModule.dll. do katalogu libs który znajduję się w docelowej lokalizacji modułu.

Następnie podepnij w projekcie referencje do tej biblioteki:

Oraz dopisz następujący kod do Samochod.cs:

// using System; 
...
using Ingenes.ExpressApp.Modules.BaseModule.BusinessObjects.Operator;

 

Teraz przejdźmy do stworzenia pierwszej encji dla naszego modułu, dla tego przykładu będzie to samochód i możemy to zrobić poprzez kliknięcie prawym przyciskiem myszy w obiekt BusinessObjects w głównym module naszego rozwiązania czyli:
(NazwaRozwiazania).Module->*PPM*BusinessObjects-> Add -> New Item -> Class

Następnie zmieniamy nazwę encji (dla tego przykładu będzie to samochód), poprzez kliknięcie prawym przyciskiem myszy w nowo utworzoną encję.
Wypełniamy także nowo utworzoną encje następującym kodem. (Usuwamy obecną zawartość i wklejamy cały kod poniżej). W ten sposób utworzysz encję z podstawowym kodem niezbędnym do wykonania zadań w tym tutorialu.

using System;
using System.Linq;
using System.Text;
using DevExpress.Xpo;
using DevExpress.ExpressApp;
using System.ComponentModel;
using DevExpress.ExpressApp.DC;
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using System.Collections.Generic;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
using DevExpress.ExpressApp.ConditionalAppearance;
using Ingenes.ExpressApp.Modules.CoreModule.BusinessObjects;
using Ingenes.ExpressApp.Modules.BaseModule.BusinessObjects.Operator;


namespace Ingenes.ExpressApp.Samochody.BusinessObjects
{
// Tutaj będziemy mogli dodawać atrybuty encji
    [DefaultClassOptions]
    [NavigationItem("Ewidencja Samochodow")] // <- Ustala gdzie będzie można znaleźć moduł w aplikacji

public class samochod : BaseObject // <- samochod zastępujemy odpowiednio nazwą encji
    { // Inherit from a different class to provide a custom primary key, concurrency and deletion behavior, etc. (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument113146.aspx).
        public samochod(Session session) // <- samochod zastępujemy odpowiednio nazwą encji
            : base(session)
        {
        }
        public override void AfterConstruction()
        {
            base.AfterConstruction();
            // Place your initialization code here (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument112834.aspx).
            
        }

// W tym miejscu będziemy definiować pola encji (properties).
}

Dodanie pól do encji

Następnie do już istniejącej encji możemy zacząć dodawać pola które będą przyjmować różne wartości.
Dla tego przykładu dodamy pola NumerRejestracyjny(string), Marka(string) oraz RokProdukcji(int). Dodatkowo możemy ustawić NumerRejestracyjny jako pole wymagane.
Kod widoczny poniżej dodajemy do naszej nowo utworzonej klasy czyli Samochod.cs

// W tym miejscu będziemy definiować pola klasy (properties).

private string _NrRejestracyjny;
        [XafDisplayName("Numer Rejestracyjny"), ToolTip("Nr Rejestracyjny")]
        [RuleRequiredField(DefaultContexts.Save)] // <- Pole Wymagane
        public string NrRejestracyjny
        {
            get { return _NrRejestracyjny; }
            set { SetPropertyValue("NrRejestracyjny", ref _NrRejestracyjny, value); }
        }

        private string _Marka;
        [XafDisplayName("Marka"), ToolTip("Marka")]
        public string Marka
        {
            get { return _Marka; }
            set { SetPropertyValue("Marka", ref _Marka, value); }
        }

        private int _RokProdukcji;
        [XafDisplayName("Rok Produkcji"), ToolTip("Rok Produkcji")]
        public int RokProdukcji
        {
            get { return _RokProdukcji; }
            set { SetPropertyValue("RokProdukcji", ref _RokProdukcji, value); }
        }
}

 

Dodajmy także atrybuty encji które stworzą osobną lokalizacje (NavigationItem) dla modułu w aplikacji.(Ewidencja Samochodów). Oraz ustalą NumerRejestracyjny jako domyślne pole.

namespace Ingenes.ExpressApp.Samochody.BusinessObjects

// Tutaj będziemy mogli dodawać atrybuty klasy
// ...
    [NavigationItem("Ewidencja Samochodow")]
    [DefaultProperty("NrRejestracyjny")] 
// ...

 

Efekt końcowy

Po podpięciu dll naszego modułu do aplikacji powinniśmy zobaczyć nowo dodaną encję pod lokalizacją Ewidencja Samochodów. Oraz będziemy mogli dodać samochody za pomocą formularza.

Następny Artykuł: Dodanie operatora i daty utworzenia