* Added ItemCustPriceAll entity
This commit is contained in:
23
FaKrosnoApi/Controllers/ItemCustPriceAllController.cs
Normal file
23
FaKrosnoApi/Controllers/ItemCustPriceAllController.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
using AutoMapper;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using SytelineSaAppEfDataModel.Dtos;
|
||||||
|
using SytelineSaAppEfDataModel.Services;
|
||||||
|
|
||||||
|
namespace FaKrosnoApi.Controllers;
|
||||||
|
|
||||||
|
[ApiController]
|
||||||
|
[Route("api/[controller]")]
|
||||||
|
public class ItemCustPriceAllController(IItemCustPriceAllService service, IMapper mapper) : Controller
|
||||||
|
{
|
||||||
|
[HttpGet("by-parameters")]
|
||||||
|
public async Task<ActionResult<ItemCustPriceAllDto>> GetItemCustPriceAll(string itemCode, string customerDoInvoice)
|
||||||
|
{
|
||||||
|
var result = await service.GetItemCustPriceAllAsync(itemCode, customerDoInvoice);
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Ok(mapper.Map<ItemCustPriceAllDto>(result));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -107,6 +107,7 @@ builder.Services.AddScoped<ICustomerService, CustomerService>();
|
|||||||
builder.Services.AddScoped<ICustomerTpService, CustomerTpService>();
|
builder.Services.AddScoped<ICustomerTpService, CustomerTpService>();
|
||||||
builder.Services.AddScoped<IItemService, ItemService>();
|
builder.Services.AddScoped<IItemService, ItemService>();
|
||||||
builder.Services.AddScoped<IVatCodeAssociationService, VatCodeAssociationService>();
|
builder.Services.AddScoped<IVatCodeAssociationService, VatCodeAssociationService>();
|
||||||
|
builder.Services.AddScoped<IItemCustPriceAllService, ItemCustPriceAllService>();
|
||||||
|
|
||||||
builder.Services.AddHostedService<TimedHostedService>();
|
builder.Services.AddHostedService<TimedHostedService>();
|
||||||
|
|
||||||
|
|||||||
39
SytelineSaAppEfDataModel/Dtos/ItemCustPriceAllDto.cs
Normal file
39
SytelineSaAppEfDataModel/Dtos/ItemCustPriceAllDto.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
namespace SytelineSaAppEfDataModel.Dtos;
|
||||||
|
|
||||||
|
public class ItemCustPriceAllDto
|
||||||
|
{
|
||||||
|
public string SiteRef { get; set; }
|
||||||
|
public string Item { get; set; }
|
||||||
|
public string CustNum { get; set; }
|
||||||
|
public int CustItemSeq { get; set; }
|
||||||
|
public DateTime EffectDate { get; set; }
|
||||||
|
public decimal? ContPrice { get; set; }
|
||||||
|
public decimal? BrkQty1 { get; set; }
|
||||||
|
public decimal? BrkQty2 { get; set; }
|
||||||
|
public decimal? BrkQty3 { get; set; }
|
||||||
|
public decimal? BrkQty4 { get; set; }
|
||||||
|
public decimal? BrkQty5 { get; set; }
|
||||||
|
public decimal? BrkPrice1 { get; set; }
|
||||||
|
public decimal? BrkPrice2 { get; set; }
|
||||||
|
public decimal? BrkPrice3 { get; set; }
|
||||||
|
public decimal? BrkPrice4 { get; set; }
|
||||||
|
public decimal? BrkPrice5 { get; set; }
|
||||||
|
public string BaseCode1 { get; set; }
|
||||||
|
public string BaseCode2 { get; set; }
|
||||||
|
public string BaseCode3 { get; set; }
|
||||||
|
public string BaseCode4 { get; set; }
|
||||||
|
public string BaseCode5 { get; set; }
|
||||||
|
public string DolPercent1 { get; set; }
|
||||||
|
public string DolPercent2 { get; set; }
|
||||||
|
public string DolPercent3 { get; set; }
|
||||||
|
public string DolPercent4 { get; set; }
|
||||||
|
public string DolPercent5 { get; set; }
|
||||||
|
public bool NoteExistsFlag { get; set; }
|
||||||
|
public DateTime RecordDate { get; set; }
|
||||||
|
public Guid RowPointer { get; set; }
|
||||||
|
public string CreatedBy { get; set; }
|
||||||
|
public string UpdatedBy { get; set; }
|
||||||
|
public DateTime CreateDate { get; set; }
|
||||||
|
public bool InWorkflow { get; set; }
|
||||||
|
public bool IncludeTaxInPrice { get; set; }
|
||||||
|
}
|
||||||
39
SytelineSaAppEfDataModel/Entities/ItemCustPriceAll.cs
Normal file
39
SytelineSaAppEfDataModel/Entities/ItemCustPriceAll.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
namespace SytelineSaAppEfDataModel.Entities;
|
||||||
|
|
||||||
|
public class ItemCustPriceAll
|
||||||
|
{
|
||||||
|
public string SiteRef { get; set; }
|
||||||
|
public string Item { get; set; }
|
||||||
|
public string CustNum { get; set; }
|
||||||
|
public int CustItemSeq { get; set; }
|
||||||
|
public DateTime EffectDate { get; set; }
|
||||||
|
public decimal? ContPrice { get; set; }
|
||||||
|
public decimal? BrkQty1 { get; set; }
|
||||||
|
public decimal? BrkQty2 { get; set; }
|
||||||
|
public decimal? BrkQty3 { get; set; }
|
||||||
|
public decimal? BrkQty4 { get; set; }
|
||||||
|
public decimal? BrkQty5 { get; set; }
|
||||||
|
public decimal? BrkPrice1 { get; set; }
|
||||||
|
public decimal? BrkPrice2 { get; set; }
|
||||||
|
public decimal? BrkPrice3 { get; set; }
|
||||||
|
public decimal? BrkPrice4 { get; set; }
|
||||||
|
public decimal? BrkPrice5 { get; set; }
|
||||||
|
public string BaseCode1 { get; set; }
|
||||||
|
public string BaseCode2 { get; set; }
|
||||||
|
public string BaseCode3 { get; set; }
|
||||||
|
public string BaseCode4 { get; set; }
|
||||||
|
public string BaseCode5 { get; set; }
|
||||||
|
public string DolPercent1 { get; set; }
|
||||||
|
public string DolPercent2 { get; set; }
|
||||||
|
public string DolPercent3 { get; set; }
|
||||||
|
public string DolPercent4 { get; set; }
|
||||||
|
public string DolPercent5 { get; set; }
|
||||||
|
public bool NoteExistsFlag { get; set; }
|
||||||
|
public DateTime RecordDate { get; set; }
|
||||||
|
public Guid RowPointer { get; set; }
|
||||||
|
public string CreatedBy { get; set; }
|
||||||
|
public string UpdatedBy { get; set; }
|
||||||
|
public DateTime CreateDate { get; set; }
|
||||||
|
public bool InWorkflow { get; set; }
|
||||||
|
public bool IncludeTaxInPrice { get; set; }
|
||||||
|
}
|
||||||
@@ -30,6 +30,7 @@ namespace SytelineSaAppEfDataModel
|
|||||||
CreateMap<CustomerTp, CustomerTpDto>().ReverseMap();
|
CreateMap<CustomerTp, CustomerTpDto>().ReverseMap();
|
||||||
CreateMap<Item, ItemDto>().ReverseMap();
|
CreateMap<Item, ItemDto>().ReverseMap();
|
||||||
CreateMap<VatCodeAssociation, VatCodeAssociationDto>().ReverseMap();
|
CreateMap<VatCodeAssociation, VatCodeAssociationDto>().ReverseMap();
|
||||||
|
CreateMap<ItemCustPriceAll, ItemCustPriceAllDto>().ReverseMap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
using SytelineSaAppEfDataModel.Dtos;
|
||||||
|
|
||||||
|
namespace SytelineSaAppEfDataModel.Services;
|
||||||
|
|
||||||
|
public interface IItemCustPriceAllService
|
||||||
|
{
|
||||||
|
Task<ItemCustPriceAllDto?> GetItemCustPriceAllAsync(string item, string customerNumber);
|
||||||
|
}
|
||||||
13
SytelineSaAppEfDataModel/Services/ItemCustPriceAllService.cs
Normal file
13
SytelineSaAppEfDataModel/Services/ItemCustPriceAllService.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using AutoMapper;
|
||||||
|
using SytelineSaAppEfDataModel.Dtos;
|
||||||
|
|
||||||
|
namespace SytelineSaAppEfDataModel.Services;
|
||||||
|
|
||||||
|
public class ItemCustPriceAllService(SytelineSaAppDbContext context, IMapper mapper) : IItemCustPriceAllService
|
||||||
|
{
|
||||||
|
public async Task<ItemCustPriceAllDto?> GetItemCustPriceAllAsync(string item, string customerNumber)
|
||||||
|
{
|
||||||
|
return await Task.FromResult(mapper.Map<ItemCustPriceAllDto?>(context.ItemCustPriceAlls
|
||||||
|
.OrderByDescending(x => x.EffectDate).FirstOrDefault(x => x.Item == item && x.CustNum == customerNumber)));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,6 +29,7 @@ namespace SytelineSaAppEfDataModel
|
|||||||
public DbSet<CustomerTp> CustomerTps { get; set; }
|
public DbSet<CustomerTp> CustomerTps { get; set; }
|
||||||
public DbSet<Item> Items { get; set; }
|
public DbSet<Item> Items { get; set; }
|
||||||
public DbSet<VatCodeAssociation> VatCodeAssociations { get; set; }
|
public DbSet<VatCodeAssociation> VatCodeAssociations { get; set; }
|
||||||
|
public DbSet<ItemCustPriceAll> ItemCustPriceAlls { get; set; }
|
||||||
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
{
|
{
|
||||||
@@ -2299,6 +2300,174 @@ namespace SytelineSaAppEfDataModel
|
|||||||
.HasMaxLength(200)
|
.HasMaxLength(200)
|
||||||
.IsRequired(false);
|
.IsRequired(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity<ItemCustPriceAll>(entity =>
|
||||||
|
{
|
||||||
|
entity.ToTable("itemcustprice_all");
|
||||||
|
|
||||||
|
entity.HasKey(e => new { e.SiteRef, e.Item, e.CustNum, e.CustItemSeq, e.EffectDate });
|
||||||
|
|
||||||
|
entity.Property(e => e.SiteRef)
|
||||||
|
.HasColumnName("site_ref")
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.Item)
|
||||||
|
.HasColumnName("item")
|
||||||
|
.HasMaxLength(60)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.CustNum)
|
||||||
|
.HasColumnName("cust_num")
|
||||||
|
.HasMaxLength(14)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.CustItemSeq)
|
||||||
|
.HasColumnName("cust_item_seq")
|
||||||
|
.HasColumnType("int")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.EffectDate)
|
||||||
|
.HasColumnName("effect_date")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.ContPrice)
|
||||||
|
.HasColumnName("cont_price")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkQty1)
|
||||||
|
.HasColumnName("brk_qty##1")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkQty2)
|
||||||
|
.HasColumnName("brk_qty##2")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkQty3)
|
||||||
|
.HasColumnName("brk_qty##3")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkQty4)
|
||||||
|
.HasColumnName("brk_qty##4")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkQty5)
|
||||||
|
.HasColumnName("brk_qty##5")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkPrice1)
|
||||||
|
.HasColumnName("brk_price##1")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkPrice2)
|
||||||
|
.HasColumnName("brk_price##2")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkPrice3)
|
||||||
|
.HasColumnName("brk_price##3")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkPrice4)
|
||||||
|
.HasColumnName("brk_price##4")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BrkPrice5)
|
||||||
|
.HasColumnName("brk_price##5")
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BaseCode1)
|
||||||
|
.HasColumnName("base_code##1")
|
||||||
|
.HasMaxLength(2)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BaseCode2)
|
||||||
|
.HasColumnName("base_code##2")
|
||||||
|
.HasMaxLength(2)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BaseCode3)
|
||||||
|
.HasColumnName("base_code##3")
|
||||||
|
.HasMaxLength(2)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BaseCode4)
|
||||||
|
.HasColumnName("base_code##4")
|
||||||
|
.HasMaxLength(2)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.BaseCode5)
|
||||||
|
.HasColumnName("base_code##5")
|
||||||
|
.HasMaxLength(2)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.DolPercent1)
|
||||||
|
.HasColumnName("dol_percent##1")
|
||||||
|
.HasMaxLength(1)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.DolPercent2)
|
||||||
|
.HasColumnName("dol_percent##2")
|
||||||
|
.HasMaxLength(1)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.DolPercent3)
|
||||||
|
.HasColumnName("dol_percent##3")
|
||||||
|
.HasMaxLength(1)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.DolPercent4)
|
||||||
|
.HasColumnName("dol_percent##4")
|
||||||
|
.HasMaxLength(1)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.DolPercent5)
|
||||||
|
.HasColumnName("dol_percent##5")
|
||||||
|
.HasMaxLength(1)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
|
entity.Property(e => e.NoteExistsFlag)
|
||||||
|
.HasColumnName("NoteExistsFlag")
|
||||||
|
.HasColumnType("tinyint")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.RecordDate)
|
||||||
|
.HasColumnName("RecordDate")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.RowPointer)
|
||||||
|
.HasColumnName("RowPointer")
|
||||||
|
.HasColumnType("uniqueidentifier")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.CreatedBy)
|
||||||
|
.HasColumnName("CreatedBy")
|
||||||
|
.HasMaxLength(60)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.UpdatedBy)
|
||||||
|
.HasColumnName("UpdatedBy")
|
||||||
|
.HasMaxLength(60)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.CreateDate)
|
||||||
|
.HasColumnName("CreateDate")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.InWorkflow)
|
||||||
|
.HasColumnName("InWorkflow")
|
||||||
|
.HasColumnType("tinyint")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
entity.Property(e => e.IncludeTaxInPrice)
|
||||||
|
.HasColumnName("include_tax_in_price")
|
||||||
|
.HasColumnType("tinyint")
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
// Index
|
||||||
|
entity.HasIndex(e => new { e.RowPointer, e.SiteRef })
|
||||||
|
.HasDatabaseName("IX_itemcustprice_all_RowPointer")
|
||||||
|
.IsUnique();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user