public HttpResponseMessage SaveUpdateMrrMasterNdetails(object[] data) { InvMrrMaster mrrMaster = JsonConvert.DeserializeObject <InvMrrMaster>(data[0].ToString()); List <InvMrrDetail> mrrDetails = JsonConvert.DeserializeObject <List <InvMrrDetail> >(data[1].ToString()); int menuID = Convert.ToInt16(data[2]); UserCommonEntity commonEntity = JsonConvert.DeserializeObject <UserCommonEntity>(data[3].ToString()); string result = ""; try { if (ModelState.IsValid && mrrMaster != null && mrrMaster.MrrDate.ToString() != "" && mrrDetails.Count > 0 && menuID != 0) { result = objMRR.SaveUpdateMrrMasterNdetails(mrrMaster, mrrDetails, menuID, commonEntity).Result; NotificationHubs.BroadcastData(new NotificationEntity()); } else { result = ""; } } catch (Exception e) { e.ToString(); result = ""; } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public HttpResponseMessage SaveUpdateMrrMasterNdetails(object[] data) { InvMrrMaster mrrMaster = JsonConvert.DeserializeObject <InvMrrMaster>(data[0].ToString()); List <InvMrrDetail> mrrDetails = JsonConvert.DeserializeObject <List <InvMrrDetail> >(data[1].ToString()); int menuID = Convert.ToInt16(data[2]); string result = ""; try { if (ModelState.IsValid && mrrMaster != null && mrrMaster.MrrDate.ToString() != "" && mrrDetails.Count > 0 && menuID != 0) { result = objOpeningStockService.SaveUpdateMrrMasterNdetails(mrrMaster, mrrDetails, menuID); } else { result = ""; } } catch (Exception e) { e.ToString(); result = ""; } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public string SaveUpdateMrrMasterNdetails(InvMrrMaster mrrMaster, List <InvMrrDetail> mrrDetails, int menuID) { GenericFactory_EF_CmnCombo = new CmnCombo_EF(); string result = ""; using (ERP_Entities _ctxCmn = new ERP_Entities()) { if (mrrMaster.MrrID > 0) { using (TransactionScope transaction = new TransactionScope()) { try { Int64 mrrID = mrrMaster.MrrID; IEnumerable <InvMrrMaster> lstInvMrrMaster = (from qcm in _ctxCmn.InvMrrMasters.Where(m => m.MrrID == mrrID && m.IsDeleted == false && m.CompanyID == mrrMaster.CompanyID) select qcm).ToList(); InvMrrMaster objInvMrrMaster = new InvMrrMaster(); foreach (InvMrrMaster qcms in lstInvMrrMaster) { qcms.UpdateBy = mrrMaster.CreateBy; qcms.UpdateOn = DateTime.Now; qcms.UpdatePc = HostService.GetIP(); qcms.ChallanNo = mrrMaster.ChallanNo; qcms.CHID = mrrMaster.CHID; qcms.CompanyID = mrrMaster.CompanyID; // qcms.MRRCertificateNo = mrrMaster.MRRCertificateNo; qcms.ManualMRRNo = mrrMaster.ManualMRRNo; qcms.GrrID = mrrMaster.GrrID; qcms.MrrTypeID = mrrMaster.MrrTypeID; qcms.CurrencyID = mrrMaster.CurrencyID; qcms.MrrDate = mrrMaster.MrrDate; qcms.DepartmentID = mrrMaster.DepartmentID; qcms.Description = mrrMaster.Description; qcms.IsDeleted = false; qcms.SupplierID = mrrMaster.SupplierID; qcms.MrrNo = mrrMaster.MrrNo; qcms.MrrQcID = mrrMaster.MrrQcID; qcms.MrrTypeID = mrrMaster.MrrTypeID; qcms.PIID = mrrMaster.PIID; qcms.POID = mrrMaster.POID; qcms.PONo = mrrMaster.PONo; qcms.Remarks = mrrMaster.Remarks; qcms.ReqNo = mrrMaster.ReqNo; qcms.RequisitionID = mrrMaster.RequisitionID; qcms.FromDepartmentID = mrrMaster.FromDepartmentID; qcms.IssueID = mrrMaster.IssueID; qcms.UserID = mrrMaster.UserID; //qcms.StatusBy = mrrMaster.StatusBy; //qcms.StatusDate = mrrMaster.StatusDate; //qcms.StatusID = mrrMaster.StatusID; qcms.IsAccountsCompleted = mrrMaster.IsAccountsCompleted; qcms.IsApproved = mrrMaster.IsApproved; qcms.IsStoreCompleted = mrrMaster.IsStoreCompleted; objInvMrrMaster = qcms; //if (mrrMaster.IsStoreCompleted == true) //{ // // for one save then grrcomplete // InvMrrQcMaster objInvMrrQcMaster = (from spr in _ctxCmn.InvMrrQcMasters.Where(m => m.MrrQcID == mrrMaster.MrrQcID && m.CompanyID == mrrMaster.CompanyID) select spr).FirstOrDefault(); // objInvMrrQcMaster.IsMrrCompleted = true; //} } List <InvMrrDetail> lstInvMrrDetail = new List <InvMrrDetail>(); foreach (InvMrrDetail qcdt in mrrDetails) { InvMrrDetail objInvMrrDetail = (from qcdetl in _ctxCmn.InvMrrDetails.Where(m => m.MrrDetailID == qcdt.MrrDetailID && m.IsDeleted == false) select qcdetl).FirstOrDefault(); objInvMrrDetail.AdditionalQty = qcdt.AdditionalQty; objInvMrrDetail.IsQcCompleted = false; objInvMrrDetail.Amount = qcdt.Amount; objInvMrrDetail.BatchID = qcdt.BatchID; objInvMrrDetail.IsDeleted = false; objInvMrrDetail.GradeID = qcdt.GradeID; objInvMrrDetail.UnitID = qcdt.UnitID; objInvMrrDetail.UpdateBy = mrrMaster.CreateBy; objInvMrrDetail.UpdateOn = DateTime.Now; objInvMrrDetail.UpdatePc = HostService.GetIP(); objInvMrrDetail.ItemID = qcdt.ItemID; objInvMrrDetail.LotID = qcdt.LotID; objInvMrrDetail.Qty = qcdt.Qty; objInvMrrDetail.UnitPrice = qcdt.UnitPrice; lstInvMrrDetail.Add(objInvMrrDetail); } _ctxCmn.SaveChanges(); transaction.Complete(); result = mrrMaster.MrrNo.ToString(); } catch (Exception e) { e.ToString(); result = ""; } } } else { using (TransactionScope transaction = new TransactionScope()) { try { //...........START new maxId........// long NextId = Convert.ToInt64(GenericFactory_EF_CmnCombo.getMaxID("InvMrrMaster")); long FirstDigit = 0; long OtherDigits = 0; long nextDetailId = Convert.ToInt64(GenericFactory_EF_CmnCombo.getMaxID("InvMrrDetail")); FirstDigit = Convert.ToInt64(nextDetailId.ToString().Substring(0, 1)); OtherDigits = Convert.ToInt64(nextDetailId.ToString().Substring(1, nextDetailId.ToString().Length - 1)); //..........END new maxId.........// //......... START for custom code........... // string customCode = ""; string CustomNo = GenericFactory_EF_CmnCombo.getCustomCode(menuID, DateTime.Now, mrrMaster.CompanyID, 1, 1); if (CustomNo != null) { customCode = CustomNo; } else { customCode = NextId.ToString(); } //.........END for custom code............ // string newMrrNo = customCode; mrrMaster.MrrID = NextId; mrrMaster.CreateOn = DateTime.Now; mrrMaster.CreatePc = HostService.GetIP(); mrrMaster.MrrNo = newMrrNo; mrrMaster.IsDeleted = false; //if (mrrMaster.IsStoreCompleted == true) //{ // // for one save then grrcomplete // InvMrrQcMaster objInvMrrQcMaster = (from spr in _ctxCmn.InvMrrQcMasters.Where(m => m.MrrQcID == mrrMaster.MrrQcID && m.CompanyID == mrrMaster.CompanyID) select spr).FirstOrDefault(); // objInvMrrQcMaster.IsMrrCompleted = true; //} List <InvMrrDetail> lstInvMrrDetail = new List <InvMrrDetail>(); foreach (InvMrrDetail sdtl in mrrDetails) { InvMrrDetail objInvMrrDetail = new InvMrrDetail(); objInvMrrDetail.MrrDetailID = Convert.ToInt64(FirstDigit + "" + OtherDigits); objInvMrrDetail.MrrID = NextId; objInvMrrDetail.ItemID = sdtl.ItemID; objInvMrrDetail.Amount = sdtl.Amount; objInvMrrDetail.UnitPrice = sdtl.UnitPrice; objInvMrrDetail.BatchID = sdtl.BatchID; objInvMrrDetail.IsDeleted = false; objInvMrrDetail.AdditionalQty = sdtl.AdditionalQty; // objInvMrrDetail.IsQcCompleted = mrrMaster.MrrQcID > 0 ? true : false; objInvMrrDetail.LotID = sdtl.LotID; objInvMrrDetail.Qty = sdtl.Qty; objInvMrrDetail.UnitID = sdtl.UnitID; objInvMrrDetail.CreateBy = mrrMaster.CreateBy;//sdtl.CreateBy; objInvMrrDetail.CreateOn = DateTime.Now; objInvMrrDetail.CreatePc = HostService.GetIP(); lstInvMrrDetail.Add(objInvMrrDetail); OtherDigits++; } _ctxCmn.InvMrrMasters.Add(mrrMaster); //............Update MaxID.................// GenericFactory_EF_CmnCombo.updateMaxID("InvMrrMaster", Convert.ToInt64(NextId)); //............Update CustomCode.............// GenericFactory_EF_CmnCombo.updateCustomCode(menuID, DateTime.Now, mrrMaster.CompanyID, 1, 1); _ctxCmn.InvMrrDetails.AddRange(lstInvMrrDetail); //............Update MaxID.................// GenericFactory_EF_CmnCombo.updateMaxID("InvMrrDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1))); _ctxCmn.SaveChanges(); transaction.Complete(); result = newMrrNo; } catch (Exception e) { result = ""; } } } } return(result); }