public HttpResponseMessage SaveUpdateCSMasterNdetails(object[] data) { PurchaseCSMaster itemMaster = JsonConvert.DeserializeObject <PurchaseCSMaster>(data[0].ToString()); List <PurchaseCSDetail> itemDetails = JsonConvert.DeserializeObject <List <PurchaseCSDetail> >(data[1].ToString()); int menuID = Convert.ToInt16(data[2]); string result = ""; try { if (ModelState.IsValid && itemMaster != null && itemDetails.Count > 0 && menuID > 0) { result = objComparative.SaveUpdateCSMasterNdetails(itemMaster, itemDetails, menuID); PONo = result; } else { result = ""; } } catch (Exception e) { e.ToString(); result = ""; } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public string SaveUpdateCSMasterNdetails(PurchaseCSMaster CSMaster, List <PurchaseCSDetail> CSDetails, int menuID) { _ctxCmn = new ERP_Entities(); GenericFactory_EF_CmnCombo = new CmnCombo_EF(); string result = ""; if (CSMaster.CSID > 0) { //using (TransactionScope transaction = new TransactionScope()) //{ // try // { // Int64 poID = chMaster.POID; // IEnumerable<PurchasePOMaster> lstPurchasePOMaster = (from qcm in _ctxCmn.PurchasePOMasters.Where(m => m.POID == poID && m.CompanyID == chMaster.CompanyID) select qcm).ToList(); // PurchasePOMaster objPurchasePOMaster = new PurchasePOMaster(); // foreach (PurchasePOMaster qcms in lstPurchasePOMaster) // { // qcms.UpdateBy = chMaster.CreateBy; // qcms.UpdateOn = DateTime.Now; // qcms.UpdatePc = HostService.GetIP(); // qcms.POID = chMaster.POID; // qcms.CurrencyID = chMaster.CurrencyID; // qcms.Amount = chMaster.Amount; // qcms.PODate = chMaster.PODate; // qcms.BankAccountNo = chMaster.BankAccountNo; // qcms.DepartmentID = chMaster.DepartmentID; // qcms.TransactionTypeID = chMaster.TransactionTypeID; // qcms.BankBranchID = chMaster.BankBranchID; // qcms.IsDeleted = false; // qcms.BankID = chMaster.BankID; // qcms.PartyID = chMaster.PartyID; // //qcms.PIID = chMaster.PIID; // qcms.CompanyID = chMaster.CompanyID; // qcms.ExpireDate = chMaster.ExpireDate; // //qcms.FRID= chMaster.FRID; // qcms.LCorVoucherorLcafDate = chMaster.LCorVoucherorLcafDate; // qcms.LCorVoucherorLcafNo = chMaster.LCorVoucherorLcafNo; // qcms.MoneyTransactionTypeID = chMaster.MoneyTransactionTypeID; // qcms.OrderTypeID = chMaster.OrderTypeID; // qcms.RequisitionID = qcms.RequisitionID; // qcms.ShipmentDate = qcms.ShipmentDate; // objPurchasePOMaster = qcms; // } // List<PurchasePODetail> lstPurchasePODetail = new List<PurchasePODetail>(); // foreach (PurchasePODetail qcdt in chDetails) // { // PurchasePODetail objPurchasePODetail = (from qcdetl in _ctxCmn.PurchasePODetails.Where(m => m.PODetailID == qcdt.PODetailID) select qcdetl).FirstOrDefault(); // objPurchasePODetail.Amount = qcdt.Amount; // objPurchasePODetail.FOBValue = qcdt.FOBValue; // objPurchasePODetail.FreightCharge = qcdt.FreightCharge; // objPurchasePODetail.HSCode = qcdt.HSCode; // objPurchasePODetail.ItemID = qcdt.ItemID; // objPurchasePODetail.NetWeight = qcdt.NetWeight; // objPurchasePODetail.IsDeleted = false; // objPurchasePODetail.GrossWeight = qcdt.GrossWeight; // objPurchasePODetail.OriginCountryID = qcdt.OriginCountryID; // objPurchasePODetail.NetWeight = qcdt.NetWeight; // objPurchasePODetail.PackingQty = qcdt.PackingQty; // objPurchasePODetail.PackingUnitID = qcdt.PackingUnitID; // objPurchasePODetail.Qty = qcdt.Qty; // objPurchasePODetail.UnitID = qcdt.UnitID; // objPurchasePODetail.UnitPrice = qcdt.UnitPrice; // objPurchasePODetail.WeightUnitID = qcdt.WeightUnitID; // objPurchasePODetail.UpdateBy = chMaster.CreateBy; // objPurchasePODetail.UpdateOn = DateTime.Now; // objPurchasePODetail.UpdatePc = HostService.GetIP(); // lstPurchasePODetail.Add(objPurchasePODetail); // } // _ctxCmn.SaveChanges(); // //**********----------------------Start File Upload----------------------********** // GenericFactory_CmnDocument = new CmnDocument_EF(); // int DocumentID = Convert.ToInt16(GenericFactory_CmnDocument.getMaxID("CmnDocument")); // List<CmnDocument> lstCmnDocument = new List<CmnDocument>(); // for (int i = 1; i <= fileNames.Count; i++) // { // CmnDocument objCmnDocument = new CmnDocument(); // objCmnDocument.DocumentID = DocumentID; // objCmnDocument.DocumentPahtID = 2; // //objCmnDocument.DocumentName = fileNames[i].ToString(); // string extension = System.IO.Path.GetExtension(fileNames[i - 1].ToString()); // objCmnDocument.DocumentName = chMaster.PONo + "_Doc_" + i + extension; // objCmnDocument.TransactionID = chMaster.POID; // objCmnDocument.TransactionTypeID = 22; // objCmnDocument.CompanyID = chMaster.CompanyID; // objCmnDocument.CreateBy = Convert.ToInt16(chMaster.CreateBy); // objCmnDocument.CreateOn = DateTime.Now; // objCmnDocument.CreatePc = HostService.GetIP(); // objCmnDocument.IsDeleted = false; // objCmnDocument.IsDeleted = false; // lstCmnDocument.Add(objCmnDocument); // DocumentID++; // } // GenericFactory_CmnDocument.InsertList(lstCmnDocument); // GenericFactory_CmnDocument.Save(); // GenericFactory_CmnDocument.updateMaxID("CmnDocument", Convert.ToInt64(DocumentID - 1)); // //**********----------------------File upload completed----------------------********** // transaction.Complete(); // result = chMaster.PONo.ToString(); // } // catch (Exception e) // { // e.ToString(); // result = ""; // } //} } else { using (TransactionScope transaction = new TransactionScope()) { try { //...........START new maxId...............// long NextId = Convert.ToInt16(GenericFactory_EF_CmnCombo.getMaxID("PurchaseCSMaster")); long FirstDigit = 0; long OtherDigits = 0; long nextChDetailId = Convert.ToInt16(GenericFactory_EF_CmnCombo.getMaxID("PurchaseCSDetail")); FirstDigit = Convert.ToInt64(nextChDetailId.ToString().Substring(0, 1)); OtherDigits = Convert.ToInt64(nextChDetailId.ToString().Substring(1, nextChDetailId.ToString().Length - 1)); //..........END new maxId....................// //......... START for custom code........... // string customCode = ""; string CustomNo = GenericFactory_EF_CmnCombo.getCustomCode(menuID, Convert.ToDateTime(CSMaster.CSDate), CSMaster.CompanyID ?? 1, 1, 1); if (CustomNo != null) { customCode = CustomNo; } else { customCode = NextId.ToString(); } //.........END for custom code............ // string newChNo = customCode; CSMaster.CSID = NextId; CSMaster.CreateOn = DateTime.Now; CSMaster.CreatePc = HostService.GetIP(); CSMaster.CSNo = customCode; CSMaster.IsDeleted = false; List <PurchaseCSDetail> lstCSDetail = new List <PurchaseCSDetail>(); foreach (PurchaseCSDetail sdtl in CSDetails) { PurchaseCSDetail objchDetail = new PurchaseCSDetail(); objchDetail.CSDetailID = Convert.ToInt64(FirstDigit + "" + OtherDigits);//nextQCDetailId; objchDetail.CSID = NextId; objchDetail.FOBValue = sdtl.FOBValue; objchDetail.FreightCharge = sdtl.FreightCharge; objchDetail.PartyID = sdtl.PartyID; objchDetail.CurrencyID = sdtl.CurrencyID; objchDetail.ItemID = sdtl.ItemID; objchDetail.UnitID = sdtl.UnitID; objchDetail.Qty = sdtl.Qty; objchDetail.UnitPrice = sdtl.UnitPrice; objchDetail.Amount = sdtl.Amount; objchDetail.IsDeleted = false; objchDetail.CreateBy = CSMaster.CreateBy; objchDetail.CreateOn = DateTime.Now; objchDetail.CreatePc = HostService.GetIP(); lstCSDetail.Add(objchDetail); OtherDigits++; } _ctxCmn.PurchaseCSMasters.Add(CSMaster); //............Update MaxID.................// GenericFactory_EF_CmnCombo.updateMaxID("PurchaseCSMaster", Convert.ToInt64(NextId)); //............Update CustomCode.............// GenericFactory_EF_CmnCombo.updateCustomCode(menuID, Convert.ToDateTime(CSMaster.CSDate), CSMaster.CompanyID ?? 1, 1, 1); _ctxCmn.PurchaseCSDetails.AddRange(lstCSDetail); //............Update MaxID.................// GenericFactory_EF_CmnCombo.updateMaxID("PurchaseCSDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1))); _ctxCmn.SaveChanges(); transaction.Complete(); result = customCode; } catch (Exception e) { result = ""; } } } return(result); }