protected GarmentDraftPackingListItemModel MapToModel(GarmentDraftPackingListItemViewModel viewModel) { var details = (viewModel.Details ?? new List <GarmentDraftPackingListDetailViewModel>()).Select(d => { var sizes = (d.Sizes ?? new List <GarmentDraftPackingListDetailSizeViewModel>()).Select(s => { s.Size = s.Size ?? new SizeViewModel(); return(new GarmentDraftPackingListDetailSizeModel(s.Size.Id, s.Size.Size, s.Quantity) { Id = s.Id }); }).ToList(); return(new GarmentDraftPackingListDetailModel(d.Carton1, d.Carton2, d.Style, d.Colour, d.CartonQuantity, d.QuantityPCS, d.TotalQuantity, d.Length, d.Width, d.Height, d.GrossWeight, d.NetWeight, d.NetNetWeight, sizes, d.Index) { Id = d.Id }); }).ToList(); viewModel.BuyerBrand = viewModel.BuyerBrand ?? new Buyer(); viewModel.Uom = viewModel.Uom ?? new UnitOfMeasurement(); viewModel.Unit = viewModel.Unit ?? new Unit(); viewModel.Comodity = viewModel.Comodity ?? new Comodity(); viewModel.Buyer = viewModel.Buyer ?? new Buyer(); viewModel.Section = viewModel.Section ?? new Section(); GarmentDraftPackingListItemModel GarmentDraftPackingListItemModel = new GarmentDraftPackingListItemModel(viewModel.RONo, viewModel.SCNo, viewModel.BuyerBrand.Id, viewModel.BuyerBrand.Name, viewModel.Comodity.Id, viewModel.Comodity.Code, viewModel.Comodity.Name, viewModel.ComodityDescription, viewModel.Quantity, viewModel.Uom.Id.GetValueOrDefault(), viewModel.Uom.Unit, viewModel.PriceRO, viewModel.Price, viewModel.PriceFOB, viewModel.PriceCMT, viewModel.Amount, viewModel.Valas, viewModel.Unit.Id, viewModel.Unit.Code, viewModel.Article, viewModel.OrderNo, viewModel.Description, viewModel.DescriptionMd, viewModel.Buyer.Id, viewModel.Buyer.Code, viewModel.Section.Code, details, viewModel.Remarks); return(GarmentDraftPackingListItemModel); }
public async Task <int> Update(int id, GarmentDraftPackingListItemViewModel viewModel) { GarmentDraftPackingListItemModel draftItemModel = MapToModel(viewModel); foreach (var detail in draftItemModel.Details) { detail.SetNetNetWeight(detail.NetNetWeight == 0 ? 0.9 * detail.NetWeight : detail.NetNetWeight, _identityProvider.Username, UserAgent); } return(await _draftPackingListItemRepository.UpdateAsync(id, draftItemModel)); }
public Task <int> InsertAsync(GarmentDraftPackingListItemModel model) { model.FlagForCreate(_identityProvider.Username, UserAgent); foreach (var detail in model.Details) { detail.FlagForCreate(_identityProvider.Username, UserAgent); foreach (var size in detail.Sizes) { size.FlagForCreate(_identityProvider.Username, UserAgent); } } _dbSet.Add(model); return(_dbContext.SaveChangesAsync()); }
public void Read_Success() { var model = new GarmentDraftPackingListItemModel("", "", 1, "", 1, "", "", "", 1, 1, "", 1, 1, 1, 1, 1, "", 1, "", "", "", "", "", 1, "", "", new List <GarmentDraftPackingListDetailModel>(), ""); var repoMock = new Mock <IGarmentDraftPackingListItemRepository>(); repoMock.Setup(s => s.ReadAll()) .Returns(new List <GarmentDraftPackingListItemModel>() { model }.AsQueryable()); var service = GetService(GetServiceProvider(repoMock.Object).Object); var result = service.Read(1, 25, "{}", "{}", ""); Assert.NotEmpty(result.Data); }
public async Task <int> Create(List <GarmentDraftPackingListItemViewModel> viewModels) { int Created = viewModels.Count(); int count = 0; foreach (var viewModel in viewModels) { GarmentDraftPackingListItemModel draftItemModel = MapToModel(viewModel); if (draftItemModel.Details.Count() > 0) { foreach (var detail in draftItemModel.Details) { detail.SetNetNetWeight(detail.NetNetWeight == 0 ? 0.9 * detail.NetWeight : detail.NetNetWeight, _identityProvider.Username, UserAgent); } } count += await _draftPackingListItemRepository.InsertAsync(draftItemModel); } Created = Created == count ? 1 : 0; return(Created); }
public async Task ReadById_Success() { var sizes = new HashSet <GarmentDraftPackingListDetailSizeModel> { new GarmentDraftPackingListDetailSizeModel(1, "", 1) }; var details = new HashSet <GarmentDraftPackingListDetailModel> { new GarmentDraftPackingListDetailModel(1, 1, "", "", 1, 1, 1, 1, 1, 1, 1, 1, 1, sizes, 1) }; var model = new GarmentDraftPackingListItemModel("", "", 1, "", 1, "", "", "", 1, 1, "", 1, 1, 1, 1, 1, "", 1, "", "", "", "", "", 1, "", "", details, ""); var repoMock = new Mock <IGarmentDraftPackingListItemRepository>(); repoMock.Setup(s => s.ReadByIdAsync(It.IsAny <int>())) .ReturnsAsync(model); var serviceProviderMock = GetServiceProvider(repoMock.Object); var service = GetService(serviceProviderMock.Object); var result = await service.ReadById(1); Assert.NotNull(result); }
protected GarmentDraftPackingListItemViewModel MapToViewModel(GarmentDraftPackingListItemModel model) { var vm = new GarmentDraftPackingListItemViewModel() { Active = model.Active, Id = model.Id, CreatedAgent = model.CreatedAgent, CreatedBy = model.CreatedBy, CreatedUtc = model.CreatedUtc, DeletedAgent = model.DeletedAgent, DeletedBy = model.DeletedBy, DeletedUtc = model.DeletedUtc, IsDeleted = model.IsDeleted, LastModifiedAgent = model.LastModifiedAgent, LastModifiedBy = model.LastModifiedBy, LastModifiedUtc = model.LastModifiedUtc, RONo = model.RONo, SCNo = model.SCNo, BuyerBrand = new Buyer { Id = model.BuyerBrandId, Name = model.BuyerBrandName }, Comodity = new Comodity { Id = model.ComodityId, Code = model.ComodityCode, Name = model.ComodityName }, ComodityDescription = model.ComodityDescription, Quantity = model.Quantity, Uom = new UnitOfMeasurement { Id = model.UomId, Unit = model.UomUnit }, PriceRO = model.PriceRO, Price = model.Price, PriceFOB = model.PriceFOB, PriceCMT = model.PriceCMT, Amount = model.Amount, Valas = model.Valas, Unit = new Unit { Id = model.UnitId, Code = model.UnitCode }, Article = model.Article, OrderNo = model.OrderNo, Description = model.Description, DescriptionMd = model.DescriptionMd, Section = new Section { Code = model.SectionCode }, Buyer = new Buyer { Id = model.BuyerId, Code = model.BuyerCode }, Remarks = model.Remarks, Details = (model.Details ?? new List <GarmentDraftPackingListDetailModel>()).Select(d => new GarmentDraftPackingListDetailViewModel { Active = d.Active, Id = d.Id, CreatedAgent = d.CreatedAgent, CreatedBy = d.CreatedBy, CreatedUtc = d.CreatedUtc, DeletedAgent = d.DeletedAgent, DeletedBy = d.DeletedBy, DeletedUtc = d.DeletedUtc, IsDeleted = d.IsDeleted, LastModifiedAgent = d.LastModifiedAgent, LastModifiedBy = d.LastModifiedBy, LastModifiedUtc = d.LastModifiedUtc, PackingListItemId = d.PackingListItemId, Carton1 = d.Carton1, Carton2 = d.Carton2, Style = d.Style, Colour = d.Colour, CartonQuantity = d.CartonQuantity, QuantityPCS = d.QuantityPCS, TotalQuantity = d.TotalQuantity, Length = d.Length, Width = d.Width, Height = d.Height, GrossWeight = d.GrossWeight, NetWeight = d.NetWeight, NetNetWeight = d.NetNetWeight, Index = d.Index, Sizes = (d.Sizes ?? new List <GarmentDraftPackingListDetailSizeModel>()).Select(s => new GarmentDraftPackingListDetailSizeViewModel { Active = s.Active, Id = s.Id, CreatedAgent = s.CreatedAgent, CreatedBy = s.CreatedBy, CreatedUtc = s.CreatedUtc, DeletedAgent = s.DeletedAgent, DeletedBy = s.DeletedBy, DeletedUtc = s.DeletedUtc, IsDeleted = s.IsDeleted, LastModifiedAgent = s.LastModifiedAgent, LastModifiedBy = s.LastModifiedBy, LastModifiedUtc = s.LastModifiedUtc, Size = new SizeViewModel { Id = s.SizeId, Size = s.Size }, Quantity = s.Quantity }).ToList() }).ToList(), }; return(vm); }
public Task <int> UpdateAsync(int id, GarmentDraftPackingListItemModel item) { var itemToUpdate = _dbSet.Include(i => i.Details) .ThenInclude(i => i.Sizes) .FirstOrDefault(s => s.Id == id); itemToUpdate.SetRONo(item.RONo, _identityProvider.Username, UserAgent); itemToUpdate.SetSCNo(item.SCNo, _identityProvider.Username, UserAgent); itemToUpdate.SetBuyerBrandId(item.BuyerBrandId, _identityProvider.Username, UserAgent); itemToUpdate.SetBuyerBrandName(item.BuyerBrandName, _identityProvider.Username, UserAgent); itemToUpdate.SetComodityId(item.ComodityId, _identityProvider.Username, UserAgent); itemToUpdate.SetComodityCode(item.ComodityCode, _identityProvider.Username, UserAgent); itemToUpdate.SetComodityName(item.ComodityName, _identityProvider.Username, UserAgent); itemToUpdate.SetComodityDescription(item.ComodityDescription, _identityProvider.Username, UserAgent); itemToUpdate.SetQuantity(item.Quantity, _identityProvider.Username, UserAgent); itemToUpdate.SetUomId(item.UomId, _identityProvider.Username, UserAgent); itemToUpdate.SetUomUnit(item.UomUnit, _identityProvider.Username, UserAgent); itemToUpdate.SetPriceRO(item.PriceRO, _identityProvider.Username, UserAgent); itemToUpdate.SetPrice(item.Price, _identityProvider.Username, UserAgent); itemToUpdate.SetPriceFob(item.PriceFOB, _identityProvider.Username, UserAgent); itemToUpdate.SetPriceCmt(item.PriceCMT, _identityProvider.Username, UserAgent); itemToUpdate.SetAmount(item.Amount, _identityProvider.Username, UserAgent); itemToUpdate.SetValas(item.Valas, _identityProvider.Username, UserAgent); itemToUpdate.SetUnitId(item.UnitId, _identityProvider.Username, UserAgent); itemToUpdate.SetUnitCode(item.UnitCode, _identityProvider.Username, UserAgent); itemToUpdate.SetArticle(item.Article, _identityProvider.Username, UserAgent); itemToUpdate.SetOrderNo(item.OrderNo, _identityProvider.Username, UserAgent); itemToUpdate.SetDescription(item.Description, _identityProvider.Username, UserAgent); itemToUpdate.SetDescriptionMd(item.DescriptionMd, _identityProvider.Username, UserAgent); itemToUpdate.SetRemarks(item.Remarks, _identityProvider.Username, UserAgent); foreach (var detailToUpdate in itemToUpdate.Details) { var detail = item.Details.FirstOrDefault(d => d.Id == detailToUpdate.Id); if (detail != null) { detailToUpdate.SetCarton1(detail.Carton1, _identityProvider.Username, UserAgent); detailToUpdate.SetCarton2(detail.Carton2, _identityProvider.Username, UserAgent); detailToUpdate.SetColour(detail.Colour, _identityProvider.Username, UserAgent); detailToUpdate.SetStyle(detail.Style, _identityProvider.Username, UserAgent); detailToUpdate.SetCartonQuantity(detail.CartonQuantity, _identityProvider.Username, UserAgent); detailToUpdate.SetQuantityPCS(detail.QuantityPCS, _identityProvider.Username, UserAgent); detailToUpdate.SetTotalQuantity(detail.TotalQuantity, _identityProvider.Username, UserAgent); detailToUpdate.SetLength(detail.Length, _identityProvider.Username, UserAgent); detailToUpdate.SetWidth(detail.Width, _identityProvider.Username, UserAgent); detailToUpdate.SetHeight(detail.Height, _identityProvider.Username, UserAgent); detailToUpdate.SetGrossWeight(detail.GrossWeight, _identityProvider.Username, UserAgent); detailToUpdate.SetNetWeight(detail.NetWeight, _identityProvider.Username, UserAgent); detailToUpdate.SetNetNetWeight(detail.NetNetWeight, _identityProvider.Username, UserAgent); detailToUpdate.SetIndex(detail.Index, _identityProvider.Username, UserAgent); foreach (var sizeToUpdate in detailToUpdate.Sizes) { var size = detail.Sizes.FirstOrDefault(s => s.Id == sizeToUpdate.Id); if (size != null) { sizeToUpdate.SetSizeId(size.SizeId, _identityProvider.Username, UserAgent); sizeToUpdate.SetSize(size.Size, _identityProvider.Username, UserAgent); sizeToUpdate.SetQuantity(size.Quantity, _identityProvider.Username, UserAgent); } else { sizeToUpdate.FlagForDelete(_identityProvider.Username, UserAgent); } } foreach (var size in detail.Sizes.Where(w => w.Id == 0)) { size.FlagForCreate(_identityProvider.Username, UserAgent); detailToUpdate.Sizes.Add(size); } } else { detailToUpdate.FlagForDelete(_identityProvider.Username, UserAgent); } } foreach (var detail in item.Details.Where(w => w.Id == 0)) { detail.FlagForCreate(_identityProvider.Username, UserAgent); foreach (var size in detail.Sizes) { size.FlagForCreate(_identityProvider.Username, UserAgent); } itemToUpdate.Details.Add(detail); } return(_dbContext.SaveChangesAsync()); }