public void GenerateSchedulekDetails(ScheduleGeneratorViewModel viewmodel) { var productionschedule = this.Queryable().Where(x => x.Id == viewmodel.ProductionScheduleId).First(); var workdetails = this._workdetailservice.Queryable().Where(x => viewmodel.WorkDetails.Contains(x.Id)).ToList(); var list = new List <ScheduleDetail>(); foreach (var workdetail in workdetails) { ScheduleDetail item = new ScheduleDetail(); item.ActualConsumeTime = 0; item.ActualProductionQty = 0; item.AltConsumeTime = 0; item.AltProdctionDate1 = workdetail.AltProdctionDate1; item.ActualProdctionDate1 = workdetail.ActualProdctionDate1; item.AltProdctionDate2 = workdetail.AltProdctionDate1; item.BomComponentId = workdetail.BomComponentId; item.ParentBomComponentId = workdetail.ParentBomComponentId; item.ComponentSKUId = workdetail.ComponentSKUId; item.ConsumeQty = workdetail.ConsumeQty; item.GraphSKU = workdetail.GraphSKU; item.GraphVer = workdetail.GraphVer; item.OrderKey = workdetail.OrderKey; item.ParentSKUId = workdetail.ParentSKUId; item.ProductionScheduleId = productionschedule.Id; item.Remark1 = workdetail.Remark1; item.Remark2 = workdetail.Remark2; item.RequirementQty = workdetail.RequirementQty; item.ScheduleNo = productionschedule.ScheduleNo; item.ScheduleProductionQty = workdetail.RequirementQty; item.Status = 0; item.WorkDetailId = workdetail.Id; item.WorkNo = workdetail.WorkNo; list.Add(item); } _scheduledetailservice.InsertRange(list); }