public HttpResponseMessage SaveUpdateDC(object[] data) { SalDCMaster itemMaster = JsonConvert.DeserializeObject <SalDCMaster>(data[0].ToString()); List <SalDCDetail> itemDetails = JsonConvert.DeserializeObject <List <SalDCDetail> >(data[1].ToString()); vmCmnParameters objcmnParam = JsonConvert.DeserializeObject <vmCmnParameters>(data[2].ToString()); string result = ""; try { if (ModelState.IsValid) { result = objDCService.SaveUpdateDC(itemMaster, itemDetails, objcmnParam); } } catch (Exception e) { e.ToString(); result = ""; } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public string SaveUpdateDC(SalDCMaster DCInfo, List <SalDCDetail> DCDetailList, vmCmnParameters objcmnParam) { GenericFactory_EF_DCMaster = new SalDCMaster_EF(); GenericFactory_EF_DCDetail = new SalDCDetail_EF(); GFactory_EF_InvStockMaster = new InvStockMaster_EF(); GFactory_EF_InvStockDetail = new InvStockDetail_EF(); GenericFactory_EF_FDOMaster = new SalFDOMaster_EF(); GenericFactory_EF_FDODetail = new SalFDODetail_EF(); GFactory_EF_InvStockTransit = new InvStockTransit_EF(); string result = ""; long NextId = Convert.ToInt64(GenericFactory_EF_DCMaster.getMaxID("SalDCMaster")); long FirstDigit = 0; long OtherDigits = 0; long nextDetailId = Convert.ToInt64(GenericFactory_EF_DCDetail.getMaxID("SalDCDetail")); FirstDigit = Convert.ToInt64(nextDetailId.ToString().Substring(0, 1)); OtherDigits = Convert.ToInt64(nextDetailId.ToString().Substring(1, nextDetailId.ToString().Length - 1)); string customCode = ""; string CustomNo = customCode = GenericFactory_EF_DCMaster.getCustomCode(objcmnParam.menuId, DCInfo.DCDate, DCInfo.CompanyID, objcmnParam.loggeduser, 1); // 1 for DB ID if (CustomNo != null) { customCode = CustomNo; } else { customCode = NextId.ToString(); } try { DCInfo.DCID = NextId; DCInfo.DCNo = customCode; DCInfo.CreateOn = DateTime.Now; DCInfo.IsActive = true; List <SalDCDetail> lstSalDCDetail = new List <SalDCDetail>(); foreach (SalDCDetail sdtl in DCDetailList) { SalDCDetail objSalDCDetail = new SalDCDetail(); //objSalDCDetail.DCDetailID = nextDetailId; objSalDCDetail.DCDetailID = Convert.ToInt64(FirstDigit + "" + OtherDigits); objSalDCDetail.DCID = NextId; objSalDCDetail.FDOID = sdtl.FDOID; objSalDCDetail.TruckNo = sdtl.TruckNo; objSalDCDetail.QuantityYds = sdtl.QuantityYds; objSalDCDetail.Roll = sdtl.Roll; objSalDCDetail.CompanyID = DCInfo.CompanyID; objSalDCDetail.CreateBy = DCInfo.CreateBy; objSalDCDetail.CreateOn = DateTime.Now; objSalDCDetail.CreatePc = HostService.GetIP(); objSalDCDetail.IsDeleted = false; objSalDCDetail.StatusBy = 1; objSalDCDetail.StatusID = 1; lstSalDCDetail.Add(objSalDCDetail); OtherDigits++; } using (TransactionScope transaction = new TransactionScope()) { /////////////////////// Start FDOMaster and FDO Detail Table Update ///////////////////////////// foreach (SalDCDetail sdcd in DCDetailList) { SalFDOMaster objSalFDOMaster = GenericFactory_EF_FDOMaster.FindBy(m => m.FDOMasterID == sdcd.FDOID).FirstOrDefault(); objSalFDOMaster.IsDCCompleted = true; GenericFactory_EF_FDOMaster.Update(objSalFDOMaster); GenericFactory_EF_FDOMaster.Save(); List <SalFDODetail> objSalFDODetail = GenericFactory_EF_FDODetail.FindBy(m => m.FDOMasterID == sdcd.FDOID).ToList(); foreach (SalFDODetail sfdod in objSalFDODetail) { sfdod.IsDCCompleted = true; GenericFactory_EF_FDODetail.Update(sfdod); GenericFactory_EF_FDODetail.Save(); } } /////////////////////// End FDOMaster and FDO Detail Table Update ///////////////////////////// /////////////////////// Start Stock Table Update ///////////////////////////// //#region Stock Hit //IEnumerable<SalFDODetail> objFDODetail = null; ////string spQuery = string.Empty; //try //{ // objFDODetail = GenericFactory_EF_FDODetail.GetAll().Select(m => new // SalFDODetail // { // ItemID = m.ItemID, // BatchID = m.BatchID, // LotID = m.LotID, // GradeID = m.GradeID, // QuantitYds = m.QuantitYds, // FDOMasterID = m.FDOMasterID, // CompanyID = m.CompanyID // }). // Where(m => m.FDOMasterID == DCInfo.FDOID).ToList(); //} //catch (Exception e) //{ // e.ToString(); //} //List<InvStockMaster> objInvStockMaster = GFactory_EF_InvStockMaster.FindBy(m => m.DepartmentID == objSalFDOMaster.DepartmentID).ToList(); //foreach (SalFDODetail sfdod in objFDODetail) //{ // InvStockMaster objStockMaster = new InvStockMaster(); // var ItemBatchFilter = objInvStockMaster.Where(x => x.ItemID == sfdod.ItemID // && sfdod.BatchID == null ? true : x.BatchID == sfdod.BatchID).ToArray(); // var TransitBatch2 = ItemBatchFilter.Where(x => sfdod.LotID == null ? true : x.LotID == sfdod.LotID).ToArray(); // objStockMaster = ItemBatchFilter.Where(x => sfdod.GradeID == null ? true : x.GradeID == sfdod.GradeID).FirstOrDefault(); // objStockMaster.IssueQty = objStockMaster.IssueQty + sfdod.QuantitYds; // GFactory_EF_InvStockMaster.Update(objStockMaster); // GFactory_EF_InvStockMaster.Save(); // ///////////////////////////////// detail insert ///////////////////////////////////// // InvStockDetail objInvStockDetail = new InvStockDetail(); // objInvStockDetail.StockID = objStockMaster.StockID; // objInvStockDetail.DepartmentID = objSalFDOMaster.DepartmentID; // objInvStockDetail.TransactionID = objSalFDOMaster.FDOMasterID; // objInvStockDetail.TransactionTypeID = objcmnParam.tTypeId??0; // objInvStockDetail.StockDate = DateTime.Now; // objInvStockDetail.ItemID = sfdod.ItemID; // objInvStockDetail.ItemTypeID = 1; // objInvStockDetail.LotID = sfdod.LotID == null ? 0 : (int)sfdod.LotID; // objInvStockDetail.BatchID = sfdod.BatchID == null ? 0 : (int)sfdod.BatchID; // objInvStockDetail.GradeID = sfdod.GradeID == null ? 0 : (int)sfdod.GradeID; // objInvStockDetail.LotNo = ""; // objInvStockDetail.SupplierID = 0; // objInvStockDetail.ReceiveQty = 0; // objInvStockDetail.ReceiveValue = 0; // objInvStockDetail.ReceiveRate = 0; // objInvStockDetail.IssueQty = sfdod.QuantitYds; // objInvStockDetail.UOMID = 0; // objInvStockDetail.IssueRate = 0; // objInvStockDetail.IssueValue = 0; // objInvStockDetail.IsActive = true; // objInvStockDetail.IssueRate = 0; // objInvStockDetail.CompanyID = sfdod.CompanyID; // objInvStockDetail.CreateBy = objSalFDOMaster.CreateBy; // objInvStockDetail.CreateOn = DateTime.Now; // objInvStockDetail.CreatePc = HostService.GetIP(); // GFactory_EF_InvStockDetail.Insert(objInvStockDetail); // GFactory_EF_InvStockDetail.Save(); //} //#endregion Stock Hit /////////////////////// End Stock Table Update ////////////////////////////// /////////////////////// Stock Transit Table Data Delete ///////////////////// //#region Stock Transit Hit //foreach (SalFDODetail sfdod in objFDODetail) //{ // List<InvStockTransit> objInvStockTransit = // GFactory_EF_InvStockTransit.FindBy(m => m.DepartmentID == objSalFDOMaster.DepartmentID // //&& m.LotID == sfdod.LotID && m.BatchID == sfdod.BatchID && m.GradeID == sfdod.GradeID // && m.ItemID == sfdod.ItemID && m.CompanyID == sfdod.CompanyID // && m.TransactionTypeID == objSalFDOMaster.FDOTypeID // && m.TransactionID == sfdod.FDOMasterID).ToList(); // GFactory_EF_InvStockTransit.DeleteList(objInvStockTransit); // GFactory_EF_InvStockTransit.Save(); //} //#endregion End Stock Transit Hit /////////////////////// End Stock Transit Table Data Delete ///////////////////// GenericFactory_EF_DCMaster.Insert(DCInfo); GenericFactory_EF_DCMaster.Save(); GenericFactory_EF_DCMaster.updateMaxID("SalDCMaster", Convert.ToInt64(NextId)); GenericFactory_EF_DCMaster.updateCustomCode(objcmnParam.menuId, DateTime.Now, DCInfo.CompanyID, 1, 1); GenericFactory_EF_DCDetail.InsertList(lstSalDCDetail); GenericFactory_EF_DCDetail.Save(); GenericFactory_EF_DCDetail.updateMaxID("SalDCDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1))); transaction.Complete(); } result = customCode; } catch (Exception e) { e.ToString(); result = ""; } finally { } return(result); }