Bài 2.a: Tạo và đăng ký một thực thể với YAF
Kết quả sau khi đọc bài này
Ở bài này tôi hướng dẫn các bạn tạo và đăng ký một lớp Product. Có thuộc tính:
- Name: string
- Price:double
sau đó đăng ký và đưa vào menu.
Tạo lớp Product
- Trong thư mục Modules, tạo thư mục con Inventory
- Tạo lớp Product.cs
- cho lớp thừa kết từ YsvObject
- Sử dụng phím tắt như hướng dẫn hoặc các bạn có thể tự gõ
Bạn có thể sử dụng CodeRush để tạo nhanh như sau:
Tạo thuộc tính tên
Thêm thuộc tính giá
using DevExpress.ExpressApp.DC;
using DevExpress.Persistent.Base;
using DevExpress.Xpo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YouSoft.Vn.XAFCustom.Core.Entities;
using YouSoft.Vn.XAFCustom.Supports.Attributes;
using YouSoft.Vn.XAFCustom.Supports.Attributes.Validation;
namespace App.Module.Modules.Inventory
{
//gõ dn và dấu cách
[XafDisplayName("Hàng hóa")]
public class Product:YsvObject
{
//gõ xps để ra trường tên
private double _price;
private string _name;
[XafDisplayName("Tên")]
//[ToolTip("")]
[Size(SizeAttribute.DefaultStringMappingFieldSize)]
public string Name
{
get => _name;
set => SetPropertyValue(nameof(Name), ref _name, value);
}
//gõ xpd sẽ ra như bên dưới
[XafDisplayName("Giá")]
//[ToolTip("")]
public double Price
{
get => _price;
set => SetPropertyValue(nameof(Price), ref _price, value);
}
public Product(Session session) : base(session)
{
}
public Product()
{
}
}
}
- Mở file App.Module.cs thêm đoạn code sau để đăng ký lớp vừa tạo
protected override void Register(ModuleEntityService service)
{
base.Register(service);
service.Register<Employee>()
.Register<AppSettings>()
//vừa thêm ở đây
.Register<Product>();
}
- Build project App.Module
- Trong dự án App.Module, double click để mở file Model.DesignedDiffs.xafml
- Thêm một mục item vào navigation
- Chọn Product ListView:
- Chạy project App.Win hoặc App.Web để xem kết quả sẽ như vầy:







Không có nhận xét nào:
Đăng nhận xét