public vmChemicalSetupMasterDetail GetSizingChemicalSetupMasterByID(vmCmnParameters objcmnParam, out int recordsTotal) { vmChemicalSetupMasterDetail objChemicalMasterByID = null; recordsTotal = 0; try { using (_ctxCmn = new ERP_Entities()) { objChemicalMasterByID = (from MP in _ctxCmn.PrdSizingChemicalSetups join CM in _ctxCmn.CmnItemMasters on MP.ItemID equals CM.ItemID join SD in _ctxCmn.PrdSetSetups on MP.SetID equals SD.SetID join UM in _ctxCmn.CmnUOMs on MP.UnitID equals UM.UOMID where MP.CompanyID == objcmnParam.loggedCompany && MP.IsDeleted == false && MP.ChemicalSetupID == objcmnParam.id //&& objcmnParam.id == 0 ? true : IM.ItemID == objcmnParam.id orderby MP.ChemicalSetupID descending select new { ChemicalSetupID = MP.ChemicalSetupID, ItemID = MP.ItemID, ArticleNo = CM.ArticleNo, SetID = MP.SetID, SetNo = SD.SetNo, DepartmentID = MP.DepartmentID, Qty = MP.Qty, UnitID = MP.UnitID, UOMName = UM.UOMName }).Select(x => new vmChemicalSetupMasterDetail { ChemicalSetupID = x.ChemicalSetupID, ItemID = x.ItemID, ArticleNo = x.ArticleNo, SetID = (long)x.SetID, SetNo = x.SetNo, DepartmentID = x.DepartmentID, Qty = x.Qty, UnitID = x.UnitID, UOMName = x.UOMName }).FirstOrDefault(); //recordsTotal = objSetWiseMasterByID.Count(); } } catch (Exception e) { e.ToString(); } return(objChemicalMasterByID); }
public IHttpActionResult GetSizingChemicalSetupMasterByID(object[] data) { vmChemicalSetupMasterDetail ListMasterByID = null; vmCmnParameters objcmnParam = JsonConvert.DeserializeObject <vmCmnParameters>(data[0].ToString()); int recordsTotal = 0; try { ListMasterByID = objChemicalService.GetSizingChemicalSetupMasterByID(objcmnParam, out recordsTotal); } catch (Exception e) { e.ToString(); } return(Json(new { recordsTotal, ListMasterByID })); //return objDOMaster.ToList(); }
public HttpResponseMessage SaveUpdateChemConsumptionInfo(object[] data) { vmChemicalSetupMasterDetail itemMaster = JsonConvert.DeserializeObject <vmChemicalSetupMasterDetail>(data[0].ToString()); List <vmChemicalSetupMasterDetail> itemDetails = JsonConvert.DeserializeObject <List <vmChemicalSetupMasterDetail> >(data[1].ToString()); vmCmnParameters objcmnParam = JsonConvert.DeserializeObject <vmCmnParameters>(data[2].ToString()); string result = ""; try { if (ModelState.IsValid) { result = objFCC.SaveUpdateChemConsumptionInfo(itemMaster, itemDetails, objcmnParam); } } catch (Exception e) { e.ToString(); result = ""; } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public IHttpActionResult SaveUpdateSizingChemicalMasterDetail(object[] data) { string result = string.Empty; vmChemicalSetupMasterDetail Master = JsonConvert.DeserializeObject <vmChemicalSetupMasterDetail>(data[0].ToString()); List <vmChemicalSetupMasterDetail> Detail = JsonConvert.DeserializeObject <List <vmChemicalSetupMasterDetail> >(data[1].ToString()); vmCmnParameters objcmnParam = JsonConvert.DeserializeObject <vmCmnParameters>(data[2].ToString()); try { //if (ModelState.IsValid) //{ result = objChemicalService.SaveUpdateSizingChemicalMasterDetail(Master, Detail, objcmnParam); //} } catch (Exception e) { e.ToString(); result = "0"; } return(Json(new { result })); }
public string SaveUpdateSizingChemicalMasterDetail(vmChemicalSetupMasterDetail Master, List <vmChemicalSetupMasterDetail> Detail, vmCmnParameters objcmnParam) { string result = string.Empty; using (var transaction = new TransactionScope()) { //*********************************************Start Initialize Variable***************************************** long MasterId = 0, DetailId = 0, FirstDigit = 0, OtherDigits = 0; //***************************************End Initialize Variable************************************************* //**************************Start Initialize Generic Repository Based on table*********************************** GFactory_EF_PrdSizingChemicalSetup = new PrdSizingChemicalSetup_EF(); GFactory_EF_PrdSizingChemicalSetupDetail = new PrdSizingChemicalSetupDetail_EF(); //****************************End Initialize Generic Repository Based on table*********************************** //**********************************Start Create Related Table Instance to Save********************************** var MasterItem = new PrdSizingChemicalSetup(); var DetailItem = new List <PrdSizingChemicalSetupDetail>(); var DetailItems = new List <PrdSizingChemicalSetupDetail>(); //************************************End Create Related Table Instance to Save********************************** //*************************************Start Create Model Instance to get Data*********************************** vmChemicalSetupMasterDetail item = new vmChemicalSetupMasterDetail(); vmChemicalSetupMasterDetail items = new vmChemicalSetupMasterDetail(); PrdSizingChemicalSetupDetail itemdel = new PrdSizingChemicalSetupDetail(); //***************************************End Create Model Instance to get Data*********************************** var SDetail = Detail.Where(x => x.ChemicalSetupDetailID == 0).ToList(); var UDetail = Detail.Where(x => x.ChemicalSetupDetailID != 0).ToList(); //**************************************************Start Main Operation************************************************ if (Detail.Count > 0) { try { if (Master.ChemicalSetupID == 0) { //***************************************************Start Save Operation************************************************ //**********************************************Start Generate Master & Detail ID**************************************** MasterId = Convert.ToInt16(GFactory_EF_PrdSizingChemicalSetup.getMaxID("PrdSizingChemicalSetup")); DetailId = Convert.ToInt64(GFactory_EF_PrdSizingChemicalSetupDetail.getMaxID("PrdSizingChemicalSetupDetail")); FirstDigit = Convert.ToInt64(DetailId.ToString().Substring(0, 1)); OtherDigits = Convert.ToInt64(DetailId.ToString().Substring(1, DetailId.ToString().Length - 1)); //***********************************************End Generate Master & Detail ID***************************************** MasterItem = new PrdSizingChemicalSetup { ChemicalSetupID = MasterId, DepartmentID = (int)objcmnParam.DepartmentID, ItemID = (long)Master.ItemID, Qty = (decimal)Master.Qty, SetID = Master.SetID, UnitID = (int)Master.UnitID, UserID = objcmnParam.loggeduser, CompanyID = objcmnParam.loggedCompany, CreateBy = objcmnParam.loggeduser, CreateOn = DateTime.Now, CreatePc = HostService.GetIP(), IsDeleted = false }; for (int i = 0; i < Detail.Count; i++) { item = Detail[i]; var Detailitem = new PrdSizingChemicalSetupDetail { ChemicalSetupDetailID = Convert.ToInt64(FirstDigit + "" + OtherDigits), ChemicalSetupID = MasterId, ChemicalID = (long)item.ChemicalID, MaxQty = item.MaxQty, MinQty = (decimal)item.MinQty, UnitID = (int)item.UnitID, CompanyID = objcmnParam.loggedCompany, CreateBy = objcmnParam.loggeduser, CreateOn = DateTime.Now, CreatePc = HostService.GetIP(), IsDeleted = false }; DetailItem.Add(Detailitem); OtherDigits++; } //***************************************************End Save Operation************************************************ } else { //***********************************Start Get Data From Related Table to Update********************************* var MasterAll = GFactory_EF_PrdSizingChemicalSetup.GetAll().Where(x => x.ChemicalSetupID == Master.ChemicalSetupID && x.CompanyID == objcmnParam.loggedCompany); var DetailAll = GFactory_EF_PrdSizingChemicalSetupDetail.GetAll().Where(x => x.ChemicalSetupID == Master.ChemicalSetupID && x.CompanyID == objcmnParam.loggedCompany).ToList(); //*************************************End Get Data From Related Table to Update********************************* //***************************************************Start Update Operation******************************************** MasterItem = MasterAll.First(x => x.ChemicalSetupID == Master.ChemicalSetupID); MasterItem.DepartmentID = (int)objcmnParam.DepartmentID; MasterItem.ItemID = (long)Master.ItemID; MasterItem.Qty = (decimal)Master.Qty; MasterItem.SetID = Master.SetID; MasterItem.UnitID = (int)Master.UnitID; MasterItem.UserID = objcmnParam.loggeduser; MasterItem.CompanyID = objcmnParam.loggedCompany; MasterItem.UpdateBy = objcmnParam.loggeduser; MasterItem.UpdateOn = DateTime.Now; MasterItem.UpdatePc = HostService.GetIP(); MasterItem.IsDeleted = false; for (int i = 0; i < UDetail.Count; i++) { item = UDetail[i]; foreach (PrdSizingChemicalSetupDetail d in DetailAll.Where(d => d.ChemicalSetupID == Master.ChemicalSetupID && d.ChemicalSetupDetailID == item.ChemicalSetupDetailID)) { d.ChemicalID = (long)item.ChemicalID; d.MaxQty = item.MaxQty; d.MinQty = (decimal)item.MinQty; d.UnitID = (int)item.UnitID; d.CompanyID = objcmnParam.loggedCompany; d.UpdateBy = objcmnParam.loggeduser; d.UpdateOn = DateTime.Now; d.UpdatePc = HostService.GetIP(); d.IsDeleted = false; DetailItem.Add(d); break; } } if (SDetail != null && SDetail.Count != 0) { for (int i = 0; i < SDetail.Count; i++) { item = SDetail[i]; DetailId = Convert.ToInt64(GFactory_EF_PrdSizingChemicalSetupDetail.getMaxID("PrdSizingChemicalSetupDetail")); FirstDigit = Convert.ToInt64(DetailId.ToString().Substring(0, 1)); OtherDigits = Convert.ToInt64(DetailId.ToString().Substring(1, DetailId.ToString().Length - 1)); var Detailitems = new PrdSizingChemicalSetupDetail { ChemicalSetupDetailID = Convert.ToInt64(FirstDigit + "" + OtherDigits), ChemicalSetupID = (long)Master.ChemicalSetupID, ChemicalID = (long)item.ChemicalID, MaxQty = item.MaxQty, MinQty = (decimal)item.MinQty, UnitID = (int)item.UnitID, CompanyID = objcmnParam.loggedCompany, CreateBy = objcmnParam.loggeduser, CreateOn = DateTime.Now, CreatePc = HostService.GetIP(), IsDeleted = false }; DetailItems.Add(Detailitems); GFactory_EF_PrdSizingChemicalSetupDetail.updateMaxID("PrdSizingChemicalSetupDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits))); } } if (UDetail.Count < DetailAll.Count()) { for (int i = 0; i < DetailAll.Count(); i++) { itemdel = DetailAll[i]; var delDetail = (from del in DetailItem.Where(x => x.ChemicalSetupDetailID == itemdel.ChemicalSetupDetailID) select del.ChemicalSetupDetailID).FirstOrDefault(); if (delDetail != itemdel.ChemicalSetupDetailID) { var tem = DetailAll.FirstOrDefault(d => d.ChemicalSetupID == Master.ChemicalSetupID && d.ChemicalSetupDetailID == itemdel.ChemicalSetupDetailID); tem.CompanyID = objcmnParam.loggedCompany; tem.DeleteBy = objcmnParam.loggeduser; tem.DeleteOn = DateTime.Now; tem.DeletePc = HostService.GetIP(); tem.IsDeleted = true; DetailItem.Add(tem); } } } //***************************************************End Update Operation******************************************** } if (Master.ChemicalSetupID > 0) { //***************************************************Start Update************************************************ if (MasterItem != null) { GFactory_EF_PrdSizingChemicalSetup.Update(MasterItem); GFactory_EF_PrdSizingChemicalSetup.Save(); } if (DetailItem != null && DetailItem.Count != 0) { GFactory_EF_PrdSizingChemicalSetupDetail.UpdateList(DetailItem.ToList()); GFactory_EF_PrdSizingChemicalSetupDetail.Save(); } if (DetailItems != null && DetailItems.Count != 0) { GFactory_EF_PrdSizingChemicalSetupDetail.InsertList(DetailItems.ToList()); GFactory_EF_PrdSizingChemicalSetupDetail.Save(); } //***************************************************End Update************************************************ } else { //***************************************************Start Save************************************************ if (MasterItem != null) { GFactory_EF_PrdSizingChemicalSetup.Insert(MasterItem); GFactory_EF_PrdSizingChemicalSetup.Save(); GFactory_EF_PrdSizingChemicalSetup.updateMaxID("PrdSizingChemicalSetup", Convert.ToInt64(MasterId)); } if (DetailItem != null && DetailItem.Count != 0) { GFactory_EF_PrdSizingChemicalSetupDetail.InsertList(DetailItem.ToList()); GFactory_EF_PrdSizingChemicalSetupDetail.Save(); GFactory_EF_PrdSizingChemicalSetupDetail.updateMaxID("PrdSizingChemicalSetupDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1))); } //******************************************************End Save************************************************ } transaction.Complete(); result = "1"; } catch (Exception e) { result = ""; e.ToString(); } } else { result = ""; } } return(result); //**************************************************End Main Operation************************************************ }
//public IEnumerable<vmChemicalSetupMasterDetail> GetChecmicalByID(vmCmnParameters objcmnParam) //{ // IEnumerable<vmChemicalSetupMasterDetail> objChemicalSetup = null; // using (ERP_Entities _ctxCmn = new ERP_Entities()) // { // try // { // objChemicalSetup = (from master in _ctxCmn.PrdFinishingChemicalSetups // join detail in _ctxCmn.PrdFinishingChemicalSetupDetails on master.FinChemicalStupID equals detail.FinChemicalStupID// into leftColorGroup // join FT in _ctxCmn.PrdFinishingTypes on master.FinishingProcessID equals FT.FinishingProcessID // join item in _ctxCmn.CmnItemMasters on detail.ChemicalID equals item.ItemID// into leftColorGroup // join uom in _ctxCmn.CmnUOMs on detail.UnitID equals uom.UOMID // where (FT.FInishTypeID == objcmnParam.id && master.IsDeleted == false) // select new vmChemicalSetupMasterDetail // { // FinChemicalStupID = master.FinChemicalStupID, // ChemicalID = detail.ChemicalID, // MaxQty = detail.MaxQty, // MinQty = detail.MinQty, // ItemName = item.ItemName, // UnitID = uom.UOMID, // UOMName = uom.UOMName // }).Distinct().ToList(); // } // catch (Exception e) // { // e.ToString(); // } // } // return objChemicalSetup; //} public string SaveUpdateChemConsumptionInfo(vmChemicalSetupMasterDetail ChemConsumptionInfo, List <vmChemicalSetupMasterDetail> DCDetailList, vmCmnParameters objcmnParam) { string result = string.Empty; using (TransactionScope transaction = new TransactionScope()) { GenericFactory_EF_PrdFinishingConsumptionMaster = new PrdFinishingConsumptionMaster_EF(); GenericFactory_EF_PrdFinishingConsumptionDetail = new PrdFinishingConsumptionDetail_EF(); long MasterId = 0, DetailId = 0, FirstDigit = 0, OtherDigits = 0; string CustomNo = string.Empty, FinishingConsumptionNo = string.Empty; //PrdFinishingConsumptionMaster Master = new PrdFinishingConsumptionMaster(); //List<PrdFinishingConsumptionDetail> Detail = new List<PrdFinishingConsumptionDetail>(); PrdFinishingConsumptionMaster Master = new PrdFinishingConsumptionMaster(); List <PrdFinishingConsumptionDetail> Detail = new List <PrdFinishingConsumptionDetail>(); vmChemicalSetupMasterDetail item = new vmChemicalSetupMasterDetail(); try { if (ChemConsumptionInfo.FinishingConsumptionID == 0) { MasterId = Convert.ToInt64(GenericFactory_EF_PrdFinishingConsumptionMaster.getMaxID("PrdFinishingConsumptionMaster")); DetailId = Convert.ToInt64(GenericFactory_EF_PrdFinishingConsumptionDetail.getMaxID("PrdFinishingConsumptionDetail")); FirstDigit = Convert.ToInt64(DetailId.ToString().Substring(0, 1)); OtherDigits = Convert.ToInt64(DetailId.ToString().Substring(1, DetailId.ToString().Length - 1)); CustomNo = GenericFactory_EF_PrdFinishingConsumptionMaster.getCustomCode(objcmnParam.menuId, DateTime.Now, objcmnParam.loggedCompany, objcmnParam.loggeduser, 1); // 1 for DB ID if (CustomNo != null && CustomNo != "") { FinishingConsumptionNo = CustomNo; } else { FinishingConsumptionNo = MasterId.ToString(); } Master = new PrdFinishingConsumptionMaster() { FinishingConsumptionID = MasterId, FinishingConsumptionNo = FinishingConsumptionNo, WeavingMRRID = ChemConsumptionInfo.WeavingMRRID, ItemID = ChemConsumptionInfo.ItemID, FinishingTypeID = ChemConsumptionInfo.FinishingTypeID, Volume = ChemConsumptionInfo.Volume, ConsumptionDate = ChemConsumptionInfo.ConsumptionDate, Remarks = ChemConsumptionInfo.Remarks, UnitID = (int)ChemConsumptionInfo.UnitID, IsDeleted = false, IsReleased = false, TransactionTypeID = objcmnParam.tTypeId, CompanyID = objcmnParam.loggedCompany, CreateOn = DateTime.Now, CreateBy = objcmnParam.loggeduser, CreatePc = HostService.GetIP(), }; foreach (vmChemicalSetupMasterDetail sdtl in DCDetailList) { PrdFinishingConsumptionDetail objConsmuptionDetail = new PrdFinishingConsumptionDetail(); objConsmuptionDetail.FinishingConsumptionDetailID = Convert.ToInt64(FirstDigit + "" + OtherDigits); objConsmuptionDetail.FinishingConsumptionID = MasterId; objConsmuptionDetail.ChemicalID = sdtl.ChemicalID; objConsmuptionDetail.UnitID = sdtl.UnitID; objConsmuptionDetail.RequiredQty = sdtl.RequiredQty; objConsmuptionDetail.AccQty = sdtl.AccQty; objConsmuptionDetail.Amount = sdtl.Amount; objConsmuptionDetail.BatchID = sdtl.BatchID; objConsmuptionDetail.SupplierID = sdtl.SupplierID; objConsmuptionDetail.ConsumptionDate = Master.ConsumptionDate; objConsmuptionDetail.UnitPrice = sdtl.UnitPrice; objConsmuptionDetail.IsDeleted = false; objConsmuptionDetail.IsReleased = false; objConsmuptionDetail.DepartmentID = objcmnParam.DepartmentID; objConsmuptionDetail.TransactionTypeID = objcmnParam.tTypeId; objConsmuptionDetail.CompanyID = objcmnParam.loggedCompany; objConsmuptionDetail.CreateOn = DateTime.Now; objConsmuptionDetail.CreateBy = objcmnParam.loggeduser; objConsmuptionDetail.CreatePc = HostService.GetIP(); Detail.Add(objConsmuptionDetail); OtherDigits++; } } else { Master = GenericFactory_EF_PrdFinishingConsumptionMaster.FindBy(m => m.FinishingConsumptionID == ChemConsumptionInfo.FinishingConsumptionID).FirstOrDefault(); Master.WeavingMRRID = ChemConsumptionInfo.WeavingMRRID; Master.ItemID = ChemConsumptionInfo.ItemID; Master.FinishingTypeID = ChemConsumptionInfo.FinishingTypeID; Master.Volume = ChemConsumptionInfo.Volume;; Master.ConsumptionDate = ChemConsumptionInfo.ConsumptionDate; Master.Remarks = ChemConsumptionInfo.Remarks; Master.UnitID = (int)ChemConsumptionInfo.UnitID; Master.TransactionTypeID = objcmnParam.tTypeId; Master.CompanyID = objcmnParam.loggedCompany; Master.UpdateOn = DateTime.Now; Master.UpdateBy = objcmnParam.loggeduser; Master.UpdatePc = HostService.GetIP(); foreach (vmChemicalSetupMasterDetail lcd in DCDetailList) { PrdFinishingConsumptionDetail FiniConDe = GenericFactory_EF_PrdFinishingConsumptionDetail.FindBy(m => m.FinishingConsumptionDetailID == lcd.FinishingConsumptionDetailID).FirstOrDefault(); FiniConDe.ChemicalID = lcd.ChemicalID; FiniConDe.UnitID = lcd.UnitID; FiniConDe.RequiredQty = lcd.RequiredQty; FiniConDe.AccQty = lcd.AccQty; FiniConDe.Amount = lcd.Amount; FiniConDe.BatchID = lcd.BatchID; FiniConDe.SupplierID = lcd.SupplierID; FiniConDe.ConsumptionDate = Master.ConsumptionDate; FiniConDe.UnitPrice = lcd.UnitPrice; FiniConDe.DepartmentID = objcmnParam.DepartmentID; FiniConDe.TransactionTypeID = objcmnParam.tTypeId; FiniConDe.CompanyID = objcmnParam.loggedCompany; FiniConDe.UpdateOn = DateTime.Now; FiniConDe.UpdateBy = objcmnParam.loggeduser; FiniConDe.UpdatePc = HostService.GetIP(); Detail.Add(FiniConDe); } } if (ChemConsumptionInfo.FinishingConsumptionID > 0) { GenericFactory_EF_PrdFinishingConsumptionMaster.Update(Master); GenericFactory_EF_PrdFinishingConsumptionMaster.Save(); GenericFactory_EF_PrdFinishingConsumptionDetail.UpdateList(Detail); GenericFactory_EF_PrdFinishingConsumptionDetail.Save(); } else { GenericFactory_EF_PrdFinishingConsumptionMaster.Insert(Master); GenericFactory_EF_PrdFinishingConsumptionMaster.Save(); GenericFactory_EF_PrdFinishingConsumptionMaster.updateMaxID("PrdFinishingConsumptionMaster", Convert.ToInt64(MasterId)); GenericFactory_EF_PrdFinishingConsumptionMaster.updateCustomCode(objcmnParam.menuId, DateTime.Now, objcmnParam.loggedCompany, 1, 1); GenericFactory_EF_PrdFinishingConsumptionDetail.InsertList(Detail); GenericFactory_EF_PrdFinishingConsumptionDetail.Save(); GenericFactory_EF_PrdFinishingConsumptionDetail.updateMaxID("PrdFinishingConsumptionDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1))); } transaction.Complete(); result = Master.FinishingConsumptionNo; } catch (Exception e) { result = ""; e.ToString(); } } return(result); }
public string SaveUpdateSizingChemicalMasterDetail(vmChemicalSetupMasterDetail Master, List <vmChemicalSetupMasterDetail> Detail, vmCmnParameters objcmnParam) { string result = string.Empty; using (var transaction = new TransactionScope()) { //*********************************************Start Initialize Variable***************************************** long MasterId = 0, DetailId = 0, FirstDigit = 0, OtherDigits = 0; //***************************************End Initialize Variable************************************************* //**************************Start Initialize Generic Repository Based on table*********************************** GFactory_EF_PrdSizingChemicalConsumption = new PrdSizingChemicalConsumption_EF(); GFactory_EF_PrdSizingChemicalconsumptionDetail = new PrdSizingChemicalconsumptionDetail_EF(); //****************************End Initialize Generic Repository Based on table*********************************** //**********************************Start Create Related Table Instance to Save********************************** var MasterItem = new PrdSizingChemicalConsumption(); var DetailItem = new List <PrdSizingChemicalconsumptionDetail>(); //************************************End Create Related Table Instance to Save********************************** //*************************************Start Create Model Instance to get Data*********************************** vmChemicalSetupMasterDetail item = new vmChemicalSetupMasterDetail(); //***************************************End Create Model Instance to get Data*********************************** //**************************************************Start Main Operation************************************************ if (Detail.Count > 0) { try { if (Master.ChemicalConsumptionID == 0) { //***************************************************Start Save Operation************************************************ //**********************************************Start Generate Master & Detail ID**************************************** MasterId = Convert.ToInt16(GFactory_EF_PrdSizingChemicalConsumption.getMaxID("PrdSizingChemicalConsumption")); DetailId = Convert.ToInt64(GFactory_EF_PrdSizingChemicalconsumptionDetail.getMaxID("PrdSizingChemicalconsumptionDetail")); FirstDigit = Convert.ToInt64(DetailId.ToString().Substring(0, 1)); OtherDigits = Convert.ToInt64(DetailId.ToString().Substring(1, DetailId.ToString().Length - 1)); //***********************************************End Generate Master & Detail ID***************************************** MasterItem = new PrdSizingChemicalConsumption { ChemicalConsumptionID = MasterId, DepartmentID = (int)objcmnParam.DepartmentID, ItemID = (long)Master.ItemID, SetID = Master.SetID, UserID = objcmnParam.loggeduser, ConsumptionDate = Master.ConsumptionDate, Remarks = Master.Remarks, CompanyID = objcmnParam.loggedCompany, CreateBy = objcmnParam.loggeduser, CreateOn = DateTime.Now, CreatePc = HostService.GetIP(), IsDeleted = false }; for (int i = 0; i < Detail.Count; i++) { item = Detail[i]; var Detailitem = new PrdSizingChemicalconsumptionDetail { ChemicalConsumptionDetailID = Convert.ToInt64(FirstDigit + "" + OtherDigits), ChemicalConsumptionID = MasterId, ChemicalID = (long)item.ChemicalID, Qty = item.Qty, UnitID = (int)item.UnitID, Amount = item.Amount, BatchID = item.BatchID, SupplierID = item.SupplierID, UnitPrice = item.UnitPrice, ConsumptionDate = Master.ConsumptionDate, TransactionTypeID = objcmnParam.tTypeId, DepartmentID = objcmnParam.DepartmentID, CompanyID = objcmnParam.loggedCompany, CreateBy = objcmnParam.loggeduser, CreateOn = DateTime.Now, CreatePc = HostService.GetIP(), IsDeleted = false }; DetailItem.Add(Detailitem); OtherDigits++; } //***************************************************End Save Operation************************************************ } else { //***********************************Start Get Data From Related Table to Update********************************* var MasterAll = GFactory_EF_PrdSizingChemicalConsumption.GetAll().Where(x => x.ChemicalConsumptionID == Master.ChemicalConsumptionID && x.CompanyID == objcmnParam.loggedCompany); var DetailAll = GFactory_EF_PrdSizingChemicalconsumptionDetail.GetAll().Where(x => x.ChemicalConsumptionID == Master.ChemicalConsumptionID && x.CompanyID == objcmnParam.loggedCompany).ToList(); //*************************************End Get Data From Related Table to Update********************************* //***************************************************Start Update Operation******************************************** MasterItem = MasterAll.First(x => x.ChemicalConsumptionID == Master.ChemicalConsumptionID); MasterItem.DepartmentID = (int)objcmnParam.DepartmentID; MasterItem.ItemID = (long)Master.ItemID; MasterItem.SetID = Master.SetID; MasterItem.UserID = objcmnParam.loggeduser; MasterItem.ConsumptionDate = Master.ConsumptionDate; MasterItem.Remarks = Master.Remarks; MasterItem.CompanyID = objcmnParam.loggedCompany; MasterItem.UpdateBy = objcmnParam.loggeduser; MasterItem.UpdateOn = DateTime.Now; MasterItem.UpdatePc = HostService.GetIP(); MasterItem.IsDeleted = false; for (int i = 0; i < Detail.Count; i++) { item = Detail[i]; foreach (PrdSizingChemicalconsumptionDetail d in DetailAll.Where(d => d.ChemicalConsumptionID == Master.ChemicalConsumptionID && d.ChemicalConsumptionDetailID == item.ChemicalConsumptionDetailID)) { d.ChemicalID = (long)item.ChemicalID; d.Qty = item.Qty; d.UnitID = (int)item.UnitID; d.Amount = item.Amount; d.BatchID = item.BatchID; d.SupplierID = item.SupplierID; d.UnitPrice = item.UnitPrice; d.ConsumptionDate = Master.ConsumptionDate; d.CompanyID = objcmnParam.loggedCompany; d.UpdateBy = objcmnParam.loggeduser; d.UpdateOn = DateTime.Now; d.UpdatePc = HostService.GetIP(); d.IsDeleted = false; DetailItem.Add(d); break; } } //***************************************************End Update Operation******************************************** } if (Master.ChemicalConsumptionID > 0) { //***************************************************Start Update************************************************ if (MasterItem != null) { GFactory_EF_PrdSizingChemicalConsumption.Update(MasterItem); GFactory_EF_PrdSizingChemicalConsumption.Save(); } if (DetailItem != null && DetailItem.Count != 0) { GFactory_EF_PrdSizingChemicalconsumptionDetail.UpdateList(DetailItem.ToList()); GFactory_EF_PrdSizingChemicalconsumptionDetail.Save(); } //***************************************************End Update************************************************ } else { //***************************************************Start Save************************************************ if (MasterItem != null) { GFactory_EF_PrdSizingChemicalConsumption.Insert(MasterItem); GFactory_EF_PrdSizingChemicalConsumption.Save(); GFactory_EF_PrdSizingChemicalConsumption.updateMaxID("PrdSizingChemicalConsumption", Convert.ToInt64(MasterId)); } if (DetailItem != null && DetailItem.Count != 0) { GFactory_EF_PrdSizingChemicalconsumptionDetail.InsertList(DetailItem.ToList()); GFactory_EF_PrdSizingChemicalconsumptionDetail.Save(); GFactory_EF_PrdSizingChemicalconsumptionDetail.updateMaxID("PrdSizingChemicalconsumptionDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1))); } //******************************************************End Save************************************************ } transaction.Complete(); result = "1"; } catch (Exception e) { result = ""; e.ToString(); } } else { result = ""; } } return(result); //**************************************************End Main Operation************************************************ }