public override void UpdateAsync(long id, CostCalculationGarment model) { GeneratePONumbers(model); if (model.CostCalculationGarment_Materials != null) { HashSet <long> detailIds = costCalculationGarmentMaterialLogic.GetCostCalculationIds(id); foreach (var itemId in detailIds) { CostCalculationGarment_Material data = model.CostCalculationGarment_Materials.FirstOrDefault(prop => prop.Id.Equals(itemId)); if (data == null) { CostCalculationGarment_Material dataItem = DbContext.CostCalculationGarment_Materials.FirstOrDefault(prop => prop.Id.Equals(itemId)); EntityExtension.FlagForDelete(dataItem, IdentityService.Username, "sales-service"); //await costCalculationGarmentMaterialLogic.DeleteAsync(itemId); } else { costCalculationGarmentMaterialLogic.UpdateAsync(itemId, data); } foreach (CostCalculationGarment_Material item in model.CostCalculationGarment_Materials) { if (item.Id <= 0) { costCalculationGarmentMaterialLogic.Create(item); } } } } EntityExtension.FlagForUpdate(model, IdentityService.Username, "sales-service"); DbSet.Update(model); }
public void Read_With_EmptyKeyword_Return_Success() { string testName = GetCurrentMethod(); var dbContext = _dbContext(testName); IIdentityService identityService = new IdentityService { Username = "******" }; var model = new CostCalculationGarment_Material() { Code = "Code", AutoIncrementNumber = 1, BudgetQuantity = 1, CategoryCode = "CategoryCode", Information = "Information" }; dbContext.CostCalculationGarment_Materials.Add(model); dbContext.SaveChanges(); CostCalculationGarmentMaterialLogic unitUnderTest = new CostCalculationGarmentMaterialLogic(GetServiceProvider(testName).Object, identityService, dbContext); dbContext.SaveChanges(); int page = 1; int size = 1; string order = "{}"; string keyword = null; var result = unitUnderTest.Read(page, size, order, new List <string>() { "" }, keyword, "{}"); Assert.True(0 < result.Data.Count); Assert.NotEmpty(result.Data); }
public async Task GeneratePO(int Id) { HashSet <int> CostCalculationGarment_Materials = new HashSet <int>(this.CostCalculationGarment_MaterialService.DbSet .Where(p => p.CostCalculationGarmentId.Equals(Id)) .Select(p => p.Id)); foreach (int id in CostCalculationGarment_Materials) { CostCalculationGarment_Material model = await CostCalculationGarment_MaterialService.ReadModelById(id); if (model.PO_SerialNumber == null || model.PO_SerialNumber == 0) { await CostCalculationGarment_MaterialService.GeneratePO(model); } } }
public override async Task <int> UpdateModel(int Id, CostCalculationGarment Model) { Model.ImagePath = await this.AzureImageService.UploadImage(Model.GetType().Name, Model.Id, Model._CreatedUtc, Model.ImageFile); GeneratePONumbers(Model); int updated = await this.UpdateAsync(Id, Model); if (Model.CostCalculationGarment_Materials != null) { HashSet <int> CostCalculationGarment_Materials = new HashSet <int>(this.CostCalculationGarment_MaterialService.DbSet .Where(p => p.CostCalculationGarmentId.Equals(Id)) .Select(p => p.Id)); foreach (int CostCalculationGarment_Material in CostCalculationGarment_Materials) { CostCalculationGarment_Material model = Model.CostCalculationGarment_Materials.FirstOrDefault(prop => prop.Id.Equals(CostCalculationGarment_Material)); if (model == null) { await this.CostCalculationGarment_MaterialService.DeleteModel(CostCalculationGarment_Material); } else { await this.CostCalculationGarment_MaterialService.UpdateModel(CostCalculationGarment_Material, model); } } foreach (CostCalculationGarment_Material CostCalculationGarment_Material in Model.CostCalculationGarment_Materials) { if (CostCalculationGarment_Material.Id.Equals(0)) { await this.CostCalculationGarment_MaterialService.CreateModel(CostCalculationGarment_Material); } } } return(updated); }
public CostCalculationGarment MapToModel(CostCalculationGarmentViewModel viewModel) { CostCalculationGarment model = new CostCalculationGarment(); PropertyCopier <CostCalculationGarmentViewModel, CostCalculationGarment> .Copy(viewModel, model); model.Convection = viewModel.Convection; model.FabricAllowance = Percentage.ToFraction(viewModel.FabricAllowance); model.AccessoriesAllowance = Percentage.ToFraction(viewModel.AccessoriesAllowance); model.SizeRange = viewModel.SizeRange; model.BuyerId = viewModel.Buyer._id; model.BuyerName = viewModel.Buyer.name; model.EfficiencyId = viewModel.Efficiency.Id; model.EfficiencyValue = Percentage.ToFraction(viewModel.Efficiency.Value); model.UOMID = viewModel.UOM._id; model.UOMCode = viewModel.UOM.code; model.UOMUnit = viewModel.UOM.unit; model.WageId = viewModel.Wage.Id; model.WageRate = viewModel.Wage.Value != null ? (double)viewModel.Wage.Value : 0; model.ComodityID = viewModel.Commodity._id; model.Commodity = viewModel.Commodity.name; model.CommodityDescription = viewModel.CommodityDescription; model.THRId = viewModel.THR.Id; model.THRRate = viewModel.THR.Value != null ? (double)viewModel.THR.Value : 0; model.RateId = viewModel.Rate.Id; model.RateValue = viewModel.Rate.Value != null ? (double)viewModel.Rate.Value : 0; model.CostCalculationGarment_Materials = new List <CostCalculationGarment_Material>(); foreach (CostCalculationGarment_MaterialViewModel CostCalculationGarment_MaterialVM in viewModel.CostCalculationGarment_Materials) { CostCalculationGarment_Material CostCalculationGarment_Material = new CostCalculationGarment_Material(); PropertyCopier <CostCalculationGarment_MaterialViewModel, CostCalculationGarment_Material> .Copy(CostCalculationGarment_MaterialVM, CostCalculationGarment_Material); CostCalculationGarment_Material.Convection = model.Convection; CostCalculationGarment_Material.ProductId = CostCalculationGarment_MaterialVM.Product._id; CostCalculationGarment_Material.ProductCode = CostCalculationGarment_MaterialVM.Product.code; CostCalculationGarment_Material.Construction = CostCalculationGarment_MaterialVM.Product.construction; CostCalculationGarment_Material.Yarn = CostCalculationGarment_MaterialVM.Product.yarn; CostCalculationGarment_Material.Width = CostCalculationGarment_MaterialVM.Product.width; CostCalculationGarment_Material.Composition = CostCalculationGarment_MaterialVM.Product.composition; CostCalculationGarment_Material.CategoryId = CostCalculationGarment_MaterialVM.Category._id; CostCalculationGarment_Material.CategoryName = CostCalculationGarment_MaterialVM.Category.SubCategory != null ? CostCalculationGarment_MaterialVM.Category.name + " - " + CostCalculationGarment_MaterialVM.Category.SubCategory : CostCalculationGarment_MaterialVM.Category.name; CostCalculationGarment_Material.UOMQuantityId = CostCalculationGarment_MaterialVM.UOMQuantity._id; CostCalculationGarment_Material.UOMQuantityName = CostCalculationGarment_MaterialVM.UOMQuantity.unit; CostCalculationGarment_Material.UOMPriceId = CostCalculationGarment_MaterialVM.UOMPrice._id; CostCalculationGarment_Material.UOMPriceName = CostCalculationGarment_MaterialVM.UOMPrice.unit; CostCalculationGarment_Material.ShippingFeePortion = Percentage.ToFraction(CostCalculationGarment_MaterialVM.ShippingFeePortion); model.CostCalculationGarment_Materials.Add(CostCalculationGarment_Material); } model.CommissionPortion = Percentage.ToFraction(viewModel.CommissionPortion); model.Risk = Percentage.ToFraction(viewModel.Risk); model.OTL1Id = viewModel.OTL1.Id; model.OTL1Rate = viewModel.OTL1.Value != null ? (double)viewModel.OTL1.Value : 0; model.OTL1CalculatedRate = viewModel.OTL1.CalculatedValue != null ? (double)viewModel.OTL1.CalculatedValue : 0; model.OTL2Id = viewModel.OTL2.Id; model.OTL2Rate = viewModel.OTL2.Value != null ? (double)viewModel.OTL2.Value : 0; model.OTL2CalculatedRate = viewModel.OTL2.CalculatedValue != null ? (double)viewModel.OTL2.CalculatedValue : 0; model.NETFOBP = Percentage.ToFraction(viewModel.NETFOBP); return(model); }
private int GetLastMaterialFabricNumberByCategoryName(string convection) { CostCalculationGarment_Material result = DbContext.CostCalculationGarment_Materials.AsNoTracking().Where(w => w.CategoryName.ToUpper().Equals("FABRIC") && w.Convection.Equals(convection)).OrderByDescending(o => o._CreatedUtc.Year).ThenByDescending(m => m.AutoIncrementNumber).FirstOrDefault(); return(result == null ? 0 : result.AutoIncrementNumber); }
public CostCalculationGarment MapToModel(CostCalculationGarmentViewModel viewModel) { CostCalculationGarment model = new CostCalculationGarment(); PropertyCopier <CostCalculationGarmentViewModel, CostCalculationGarment> .Copy(viewModel, model); model.LineId = viewModel.Line.Id; model.LineCode = viewModel.Line.Code; model.LineName = viewModel.Line.Name; model.FabricAllowance = Percentage.ToFraction(viewModel.FabricAllowance); model.AccessoriesAllowance = Percentage.ToFraction(viewModel.AccessoriesAllowance); model.SizeRangeId = viewModel.SizeRange.Id; model.SizeRangeName = viewModel.SizeRange.Name; model.BuyerId = viewModel.Buyer.Id; model.BuyerName = viewModel.Buyer.Name; model.EfficiencyId = viewModel.Efficiency.Id; model.EfficiencyValue = Percentage.ToFraction(viewModel.Efficiency.Value); model.WageId = viewModel.Wage.Id; model.WageRate = viewModel.Wage.Value != null ? (double)viewModel.Wage.Value : 0; model.THRId = viewModel.THR.Id; model.THRRate = viewModel.THR.Value != null ? (double)viewModel.THR.Value : 0; model.RateId = viewModel.Rate.Id; model.RateValue = viewModel.Rate.Value != null ? (double)viewModel.Rate.Value : 0; model.CostCalculationGarment_Materials = new List <CostCalculationGarment_Material>(); foreach (CostCalculationGarment_MaterialViewModel CostCalculationGarment_MaterialVM in viewModel.CostCalculationGarment_Materials) { CostCalculationGarment_Material CostCalculationGarment_Material = new CostCalculationGarment_Material(); PropertyCopier <CostCalculationGarment_MaterialViewModel, CostCalculationGarment_Material> .Copy(CostCalculationGarment_MaterialVM, CostCalculationGarment_Material); CostCalculationGarment_Material.CategoryId = CostCalculationGarment_MaterialVM.Category.Id; CostCalculationGarment_Material.CategoryName = CostCalculationGarment_MaterialVM.Category.SubCategory != null ? CostCalculationGarment_MaterialVM.Category.Name + " - " + CostCalculationGarment_MaterialVM.Category.SubCategory : CostCalculationGarment_MaterialVM.Category.Name; CostCalculationGarment_Material.MaterialId = CostCalculationGarment_MaterialVM.Material.Id; CostCalculationGarment_Material.MaterialName = CostCalculationGarment_MaterialVM.Material.Name; CostCalculationGarment_Material.UOMQuantityId = CostCalculationGarment_MaterialVM.UOMQuantity.Id; CostCalculationGarment_Material.UOMQuantityName = CostCalculationGarment_MaterialVM.UOMQuantity.Name; CostCalculationGarment_Material.UOMPriceId = CostCalculationGarment_MaterialVM.UOMPrice.Id; CostCalculationGarment_Material.UOMPriceName = CostCalculationGarment_MaterialVM.UOMPrice.Name; CostCalculationGarment_Material.ShippingFeePortion = Percentage.ToFraction(CostCalculationGarment_MaterialVM.ShippingFeePortion); model.CostCalculationGarment_Materials.Add(CostCalculationGarment_Material); } model.CommissionPortion = Percentage.ToFraction(viewModel.CommissionPortion); model.Risk = Percentage.ToFraction(viewModel.Risk); model.OTL1Id = viewModel.OTL1.Id; model.OTL1Rate = viewModel.OTL1.Value != null ? (double)viewModel.OTL1.Value : 0; model.OTL1CalculatedRate = viewModel.OTL1.CalculatedValue != null ? (double)viewModel.OTL1.CalculatedValue : 0; model.OTL2Id = viewModel.OTL2.Id; model.OTL2Rate = viewModel.OTL2.Value != null ? (double)viewModel.OTL2.Value : 0; model.OTL2CalculatedRate = viewModel.OTL2.CalculatedValue != null ? (double)viewModel.OTL2.CalculatedValue : 0; model.NETFOBP = Percentage.ToFraction(viewModel.NETFOBP); return(model); }