public void CreateSaleOrderLine(int SaleEnquiryLineId, int SaleOrderHeaderId) { SaleEnquiryLine Line = new SaleEnquiryLineService(_unitOfWork).Find(SaleEnquiryLineId); SaleEnquiryHeader EnquiryHeader = new SaleEnquiryHeaderService(_unitOfWork).Find(Line.SaleEnquiryHeaderId); SaleOrderLine OrderLine = new SaleOrderLine(); OrderLine.SaleOrderHeaderId = SaleOrderHeaderId; OrderLine.DueDate = Line.DueDate; OrderLine.ProductId = Line.ProductId ?? 0; OrderLine.Specification = Line.Specification; OrderLine.Dimension1Id = Line.Dimension1Id; OrderLine.Dimension2Id = Line.Dimension2Id; OrderLine.Qty = Line.Qty; OrderLine.DealQty = Line.DealQty; OrderLine.DealUnitId = Line.DealUnitId; OrderLine.UnitConversionMultiplier = Line.UnitConversionMultiplier; OrderLine.Rate = Line.Rate; OrderLine.Amount = Line.Amount; OrderLine.Remark = Line.Remark; OrderLine.ReferenceDocTypeId = EnquiryHeader.DocTypeId; OrderLine.ReferenceDocLineId = Line.SaleEnquiryLineId; OrderLine.CreatedDate = DateTime.Now; OrderLine.ModifiedDate = DateTime.Now; OrderLine.CreatedBy = User.Identity.Name; OrderLine.ModifiedBy = User.Identity.Name; new SaleOrderLineService(_unitOfWork).Create(OrderLine); new SaleOrderLineStatusService(_unitOfWork).CreateLineStatus(OrderLine.SaleOrderLineId); Line.LockReason = "Sale order is created for enquiry.Now you can't modify enquiry, changes can be done in sale order."; new SaleEnquiryLineService(_unitOfWork).Update(Line); var PersonProductUid = (from p in db.PersonProductUid where p.GenLineId == SaleEnquiryLineId && p.GenDocTypeId == EnquiryHeader.DocTypeId && p.GenDocId == EnquiryHeader.SaleEnquiryHeaderId select p).ToList(); if (PersonProductUid.Count() != 0) { foreach (var item2 in PersonProductUid) { PersonProductUid PPU = new PersonProductUidService(_unitOfWork).Find(item2.PersonProductUidId); PPU.SaleOrderLineId = OrderLine.SaleOrderLineId; PPU.ObjectState = Model.ObjectState.Modified; new PersonProductUidService(_unitOfWork).Create(PPU); } } }
private ActionResult _PersonProductUid(int id) { SaleEnquiryLine SIL = new SaleEnquiryLineService(_unitOfWork).Find(id); SaleEnquiryHeader SIH = new SaleEnquiryHeaderService(_unitOfWork).Find(SIL.SaleEnquiryHeaderId); SaleEnquiryLineExtended SILE = new SaleEnquiryLineExtendedService(_unitOfWork).Find(id); IQueryable <PersonProductUidViewModel> p = new PersonProductUidService(_unitOfWork).GetPersonProductUidList(SIH.DocTypeId, SIH.SaleEnquiryHeaderId, SIL.SaleEnquiryLineId); PersonProductUidSummaryViewModel vm = new PersonProductUidSummaryViewModel(); vm.JobInvoiceSummaryViewModel = p.ToList(); vm.GenDocLineId = SIL.SaleEnquiryLineId; ViewBag.DocNo = (SIH.BuyerEnquiryNo ?? SIH.DocNo).ToString() + "-" + SILE.BuyerSpecification + "-" + SILE.BuyerSpecification1 + "-" + SILE.BuyerSpecification2 + "-" + SILE.BuyerSpecification3; return(PartialView("_PersonProductUid", vm)); }
public ActionResult Delete(ReasonViewModel vm) { if (ModelState.IsValid) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); //string temp = (Request["Redirect"].ToString()); //first find the Purchase Order Object based on the ID. (sience this object need to marked to be deleted IE. ObjectState.Deleted) var SaleOrderHeader = _SaleOrderHeaderService.GetSaleOrderHeader(vm.id); //For Updating Enquiry Header and Lines so that it can be edited and deleted as needed. if (SaleOrderHeader.ReferenceDocId != null && SaleOrderHeader.ReferenceDocId != 0) { var SaleEnquiryHeader = (from H in context.SaleEnquiryHeader where H.SaleEnquiryHeaderId == SaleOrderHeader.ReferenceDocId && H.DocTypeId == SaleOrderHeader.ReferenceDocTypeId select H).FirstOrDefault(); if (SaleEnquiryHeader != null) { SaleEnquiryHeader Header = new SaleEnquiryHeaderService(_unitOfWork).Find(SaleEnquiryHeader.SaleEnquiryHeaderId); Header.LockReason = null; new SaleEnquiryHeaderService(_unitOfWork).Update(Header); IEnumerable <SaleEnquiryLine> LineList = new SaleEnquiryLineService(_unitOfWork).GetSaleEnquiryLineListForHeader(SaleEnquiryHeader.SaleEnquiryHeaderId); foreach (SaleEnquiryLine Line in LineList) { Line.LockReason = null; new SaleEnquiryLineService(_unitOfWork).Update(Line); } } } LogList.Add(new LogTypeViewModel { ExObj = SaleOrderHeader, }); //Then find all the Purchase Order Header Line associated with the above ProductType. var SaleOrderLine = new SaleOrderLineService(_unitOfWork).GetSaleOrderLineList(vm.id); List <int> StockIdList = new List <int>(); //Mark ObjectState.Delete to all the Purchase Order Lines. foreach (var item in SaleOrderLine) { if (item.StockId != null) { StockIdList.Add((int)item.StockId); } LogList.Add(new LogTypeViewModel { ExObj = item, }); new SaleOrderLineStatusService(_unitOfWork).Delete(item.SaleOrderLineId); new SaleOrderLineService(_unitOfWork).Delete(item.SaleOrderLineId); } foreach (var item in StockIdList) { if (item != null) { new StockService(_unitOfWork).DeleteStock((int)item); } } int?StockHeaderId = null; StockHeaderId = SaleOrderHeader.StockHeaderId; int LedgerHeaderId = SaleOrderHeader.LedgerHeaderId ?? 0; // Now delete the Sale Order Header new SaleOrderHeaderService(_unitOfWork).Delete(vm.id); // Now delete the Ledger & Ledger Header if (LedgerHeaderId != 0) { var LedgerList = new LedgerService(_unitOfWork).FindForLedgerHeader(LedgerHeaderId).ToList(); foreach (var item in LedgerList) { new LedgerService(_unitOfWork).Delete(item.LedgerId); } new LedgerHeaderService(_unitOfWork).Delete(LedgerHeaderId); } if (StockHeaderId != null) { new StockHeaderService(_unitOfWork).Delete((int)StockHeaderId); } XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); //Commit the DB try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; return(PartialView("_Reason", vm)); } //Logging Activity LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = SaleOrderHeader.DocTypeId, DocId = SaleOrderHeader.SaleOrderHeaderId, ActivityType = (int)ActivityTypeContants.Deleted, UserRemark = vm.Reason, DocNo = SaleOrderHeader.DocNo, xEModifications = Modifications, DocDate = SaleOrderHeader.DocDate, DocStatus = SaleOrderHeader.Status, })); return(Json(new { success = true })); } return(PartialView("_Reason", vm)); }
public ActionResult DeletePost(SaleOrderLineViewModel vm) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); SaleOrderLine SaleOrderLine = _SaleOrderLineService.Find(vm.SaleOrderLineId); int?StockId = 0; StockId = SaleOrderLine.StockId; if (StockId != null) { new StockService(_unitOfWork).DeleteStock((int)StockId); } if (SaleOrderLine.ReferenceDocLineId != null && SaleOrderLine.ReferenceDocLineId != 0 && SaleOrderLine.ReferenceDocTypeId != null && SaleOrderLine.ReferenceDocTypeId != 0) { var temp = (from L in db.SaleEnquiryLine join H in db.SaleEnquiryHeader on L.SaleEnquiryHeaderId equals H.SaleEnquiryHeaderId into SaleEnquiryHeaderTable from SaleEnquiryHeaderTab in SaleEnquiryHeaderTable.DefaultIfEmpty() where SaleEnquiryHeaderTab.DocTypeId == SaleOrderLine.ReferenceDocTypeId && L.SaleEnquiryLineId == SaleOrderLine.ReferenceDocLineId select L).FirstOrDefault(); if (temp != null) { SaleEnquiryLine SaleEnquiryLine = new SaleEnquiryLineService(_unitOfWork).Find(temp.SaleEnquiryLineId); SaleEnquiryLine.LockReason = null; new SaleEnquiryLineService(_unitOfWork).Update(SaleEnquiryLine); } } new SaleOrderLineStatusService(_unitOfWork).Delete(vm.SaleOrderLineId); _SaleOrderLineService.Delete(vm.SaleOrderLineId); SaleOrderHeader header = new SaleOrderHeaderService(_unitOfWork).Find(SaleOrderLine.SaleOrderHeaderId); if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import) { header.Status = (int)StatusConstants.Modified; header.ModifiedBy = User.Identity.Name; header.ModifiedDate = DateTime.Now; new SaleOrderHeaderService(_unitOfWork).Update(header); } LogList.Add(new LogTypeViewModel { Obj = SaleOrderLine, }); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; ViewBag.Docno = header.DocNo; ViewBag.DeliveryUnitList = new UnitService(_unitOfWork).GetUnitList().ToList(); return(PartialView("_Create", vm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = header.DocTypeId, DocId = header.SaleOrderHeaderId, DocLineId = SaleOrderLine.SaleOrderLineId, ActivityType = (int)ActivityTypeContants.Deleted, DocNo = header.DocNo, xEModifications = Modifications, DocDate = header.DocDate, DocStatus = header.Status, })); return(Json(new { success = true })); }
public void CreateSaleOrder(int SaleEnquiryHeaderId) { SaleEnquiryHeader EnquiryHeader = new SaleEnquiryHeaderService(_unitOfWork).Find(SaleEnquiryHeaderId); SaleEnquirySettings Settings = new SaleEnquirySettingsService(_unitOfWork).GetSaleEnquirySettingsForDucument(EnquiryHeader.DocTypeId, EnquiryHeader.DivisionId, EnquiryHeader.SiteId); SaleOrderHeader OrderHeader = new SaleOrderHeader(); OrderHeader.DocTypeId = (int)Settings.SaleOrderDocTypeId; OrderHeader.DocDate = EnquiryHeader.DocDate; OrderHeader.DocNo = EnquiryHeader.DocNo; OrderHeader.DivisionId = EnquiryHeader.DivisionId; OrderHeader.SiteId = EnquiryHeader.SiteId; OrderHeader.BuyerOrderNo = EnquiryHeader.BuyerEnquiryNo; OrderHeader.SaleToBuyerId = EnquiryHeader.SaleToBuyerId; OrderHeader.BillToBuyerId = EnquiryHeader.BillToBuyerId; OrderHeader.CurrencyId = EnquiryHeader.CurrencyId; OrderHeader.Priority = EnquiryHeader.Priority; OrderHeader.UnitConversionForId = EnquiryHeader.UnitConversionForId; OrderHeader.ShipMethodId = EnquiryHeader.ShipMethodId; OrderHeader.ShipAddress = EnquiryHeader.ShipAddress; OrderHeader.DeliveryTermsId = EnquiryHeader.DeliveryTermsId; OrderHeader.Remark = EnquiryHeader.Remark; OrderHeader.DueDate = EnquiryHeader.DueDate; OrderHeader.ActualDueDate = EnquiryHeader.ActualDueDate; OrderHeader.Advance = EnquiryHeader.Advance; OrderHeader.ReferenceDocId = EnquiryHeader.SaleEnquiryHeaderId; OrderHeader.ReferenceDocTypeId = EnquiryHeader.DocTypeId; OrderHeader.CreatedDate = DateTime.Now; OrderHeader.ModifiedDate = DateTime.Now; OrderHeader.ModifiedDate = DateTime.Now; OrderHeader.ModifiedBy = User.Identity.Name; OrderHeader.Status = (int)StatusConstants.Submitted; OrderHeader.ReviewBy = User.Identity.Name; OrderHeader.ReviewCount = 1; //OrderHeader.LockReason = "Sale order is created for enquiry.Now you can't modify enquiry, changes can be done in sale order."; new SaleOrderHeaderService(_unitOfWork).Create(OrderHeader); IEnumerable <SaleEnquiryLine> LineList = new SaleEnquiryLineService(_unitOfWork).GetSaleEnquiryLineListForHeader(SaleEnquiryHeaderId).Where(m => m.ProductId != null); int i = 0; foreach (SaleEnquiryLine Line in LineList) { SaleOrderLine OrderLine = new SaleOrderLine(); OrderLine.SaleOrderLineId = i; i = i - 1; OrderLine.DueDate = Line.DueDate; OrderLine.ProductId = Line.ProductId ?? 0; OrderLine.Specification = Line.Specification; OrderLine.Dimension1Id = Line.Dimension1Id; OrderLine.Dimension2Id = Line.Dimension2Id; OrderLine.Qty = Line.Qty; OrderLine.DealQty = Line.DealQty; OrderLine.DealUnitId = Line.DealUnitId; OrderLine.UnitConversionMultiplier = Line.UnitConversionMultiplier; OrderLine.Rate = Line.Rate; OrderLine.Amount = Line.Amount; OrderLine.Remark = Line.Remark; OrderLine.ReferenceDocTypeId = EnquiryHeader.DocTypeId; OrderLine.ReferenceDocLineId = Line.SaleEnquiryLineId; OrderLine.CreatedDate = DateTime.Now; OrderLine.ModifiedDate = DateTime.Now; OrderLine.CreatedBy = User.Identity.Name; OrderLine.ModifiedBy = User.Identity.Name; new SaleOrderLineService(_unitOfWork).Create(OrderLine); new SaleOrderLineStatusService(_unitOfWork).CreateLineStatus(OrderLine.SaleOrderLineId); Line.LockReason = "Sale order is created for enquiry.Now you can't modify enquiry, changes can be done in sale order."; new SaleEnquiryLineService(_unitOfWork).Update(Line); } }
public void Post(int SaleEnquiryLineId, string ProductName) { SaleEnquiryLine Line = new SaleEnquiryLineService(_unitOfWork).Find(SaleEnquiryLineId); SaleEnquiryLineExtended LineExtended = new SaleEnquiryLineExtendedService(_unitOfWork).Find(SaleEnquiryLineId); Product Product = new ProductService(_unitOfWork).Find(ProductName); if (Product != null) { Line.ProductId = Product.ProductId; Line.ModifiedDate = DateTime.Now; Line.ModifiedBy = User.Identity.Name; Line.ObjectState = Model.ObjectState.Modified; new SaleEnquiryLineService(_unitOfWork).Update(Line); SaleEnquiryHeader Header = new SaleEnquiryHeaderService(_unitOfWork).Find(Line.SaleEnquiryHeaderId); ProductBuyer PB = new ProductBuyerService(_unitOfWork).Find((int)Header.SaleToBuyerId, Product.ProductId); if (PB == null) { string BuyerSku = LineExtended.BuyerSpecification.Replace("-", "") + "-" + LineExtended.BuyerSpecification1 + "-" + LineExtended.BuyerSpecification2; ProductBuyer ProdBuyer = new ProductBuyer(); ProdBuyer.BuyerId = (int)Header.SaleToBuyerId; ProdBuyer.ProductId = Product.ProductId; ProdBuyer.BuyerSku = LineExtended.BuyerSku == null ? BuyerSku : LineExtended.BuyerSku; ProdBuyer.BuyerUpcCode = LineExtended.BuyerUpcCode; ProdBuyer.BuyerSpecification = LineExtended.BuyerSpecification; ProdBuyer.BuyerSpecification1 = LineExtended.BuyerSpecification1; ProdBuyer.BuyerSpecification2 = LineExtended.BuyerSpecification2; ProdBuyer.BuyerSpecification3 = LineExtended.BuyerSpecification3; ProdBuyer.CreatedDate = DateTime.Now; ProdBuyer.CreatedBy = User.Identity.Name; ProdBuyer.ModifiedDate = DateTime.Now; ProdBuyer.ModifiedBy = User.Identity.Name; ProdBuyer.ObjectState = Model.ObjectState.Added; new ProductBuyerService(_unitOfWork).Create(ProdBuyer); } SaleOrderHeader SaleOrderHeader = new SaleOrderHeaderService(_unitOfWork).Find_ByReferenceDocId(Header.DocTypeId, Header.SaleEnquiryHeaderId); if (SaleOrderHeader == null) { CreateSaleOrder(Header.SaleEnquiryHeaderId); } else { CreateSaleOrderLine(Line.SaleEnquiryLineId, SaleOrderHeader.SaleOrderHeaderId); } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); } } }
public ActionResult Post(SaleEnquiryLineViewModel vm) { if (ModelState.IsValid) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); SaleEnquiryLine temp = new SaleEnquiryLineService(_unitOfWork).Find(vm.SaleEnquiryLineId); SaleEnquiryLine ExRec = Mapper.Map <SaleEnquiryLine>(temp); temp.ProductId = vm.ProductId; temp.ModifiedDate = DateTime.Now; temp.ModifiedBy = User.Identity.Name; temp.ObjectState = Model.ObjectState.Modified; new SaleEnquiryLineService(_unitOfWork).Update(temp); ProductBuyer PB = new ProductBuyerService(_unitOfWork).Find((int)vm.SaleToBuyerId, (int)vm.ProductId); if (PB == null) { string BuyerSku = vm.BuyerSpecification.Replace("-", "") + "-" + vm.BuyerSpecification1 + "-" + vm.BuyerSpecification2; ProductBuyer ProdBuyer = new ProductBuyer(); ProdBuyer.BuyerId = (int)vm.SaleToBuyerId; ProdBuyer.ProductId = (int)vm.ProductId; ProdBuyer.BuyerSku = vm.BuyerSku == null ? BuyerSku : vm.BuyerSku; ProdBuyer.BuyerUpcCode = vm.BuyerUpcCode; ProdBuyer.BuyerSpecification = vm.BuyerSpecification; ProdBuyer.BuyerSpecification1 = vm.BuyerSpecification1; ProdBuyer.BuyerSpecification2 = vm.BuyerSpecification2; ProdBuyer.BuyerSpecification3 = vm.BuyerSpecification3; ProdBuyer.CreatedDate = DateTime.Now; ProdBuyer.CreatedBy = User.Identity.Name; ProdBuyer.ModifiedDate = DateTime.Now; ProdBuyer.ModifiedBy = User.Identity.Name; ProdBuyer.ObjectState = Model.ObjectState.Added; new ProductBuyerService(_unitOfWork).Create(ProdBuyer); } SaleEnquiryHeader SaleEnquiryHeader = new SaleEnquiryHeaderService(_unitOfWork).Find(temp.SaleEnquiryHeaderId); SaleOrderHeader SaleOrderHeader = new SaleOrderHeaderService(_unitOfWork).Find_ByReferenceDocId(SaleEnquiryHeader.DocTypeId, SaleEnquiryHeader.SaleEnquiryHeaderId); if (SaleOrderHeader == null) { CreateSaleOrder(temp.SaleEnquiryHeaderId); } else { CreateSaleOrderLine(temp.SaleEnquiryLineId, SaleOrderHeader.SaleOrderHeaderId); } LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = temp, }); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(View("Create", vm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = new DocumentTypeService(_unitOfWork).FindByName(TransactionDoctypeConstants.SaleEnquiryProductMapping).DocumentTypeId, DocId = temp.SaleEnquiryLineId, ActivityType = (int)ActivityTypeContants.Modified, xEModifications = Modifications, })); //return RedirectToAction("Index").Success("Data saved successfully"); //var SaleEnquiryProductMapping = _SaleEnquiryLineService.GetSaleEnquiryLineListForIndex().OrderBy(m => m.SaleEnquiryLineId).OrderBy(m => m.SaleEnquiryLineId).FirstOrDefault(); //if (SaleEnquiryProductMapping != null) //{ // return RedirectToAction("Edit", new { id = SaleEnquiryProductMapping.SaleEnquiryLineId }).Success("Data saved successfully"); //} //else //{ // return RedirectToAction("Index").Success("Data saved successfully"); //} int SaleEnquiryId = _SaleEnquiryLineService.NextId(vm.SaleEnquiryLineId); if (SaleEnquiryId > 0) { return(RedirectToAction("Edit", new { id = SaleEnquiryId }).Success("Data saved successfully")); } else { return(RedirectToAction("Index").Success("Data saved successfully")); } } return(View("Create", vm)); }
public ActionResult _CreatePost(SaleEnquiryLineViewModel svm) { SaleEnquiryLine s = Mapper.Map <SaleEnquiryLineViewModel, SaleEnquiryLine>(svm); SaleEnquiryHeader temp = new SaleEnquiryHeaderService(_unitOfWork).Find(s.SaleEnquiryHeaderId); //if (Command == "Submit" && (s.ProductId == 0)) // return RedirectToAction("Submit", "SaleEnquiryHeader", new { id = s.SaleEnquiryHeaderId }).Success("Data saved successfully"); if (svm.BuyerSpecification != null || svm.BuyerSpecification1 != null || svm.BuyerSpecification2 != null || svm.BuyerSpecification3 != null) { SaleEnquiryLine es = new SaleEnquiryLineService(_unitOfWork).Find_WithLineDetail(svm.SaleEnquiryHeaderId, svm.BuyerSpecification, svm.BuyerSpecification1, svm.BuyerSpecification2, svm.BuyerSpecification3); if (es != null) { if (es != null && es.SaleEnquiryLineId != svm.SaleEnquiryLineId) { ModelState.AddModelError("ProductId", "This Detail is already Added !"); } } } if (svm.Qty <= 0) { //ModelState.AddModelError("Qty", "Please Check Qty"); ViewBag.LineMode = "Create"; string message = "Please Check Qty"; TempData["CSEXCL"] += message; PrepareViewBag(temp); return(PartialView("_Create", svm)); } if (svm.DueDate < temp.DocDate) { ModelState.AddModelError("DueDate", "DueDate greater than DocDate"); } if (svm.SaleEnquiryLineId <= 0) { ViewBag.LineMode = "Create"; } else { ViewBag.LineMode = "Edit"; } if (ModelState.IsValid) { if (svm.SaleEnquiryLineId <= 0) { if (svm.BuyerSpecification != null || svm.BuyerSpecification1 != null || svm.BuyerSpecification2 != null || svm.BuyerSpecification3 != null) { ProductBuyer BP = new ProductBuyerService(_unitOfWork).Find(temp.SaleToBuyerId, svm.BuyerSpecification, svm.BuyerSpecification1, svm.BuyerSpecification2, svm.BuyerSpecification3); if (BP != null) { s.ProductId = BP.ProductId; } } s.CreatedDate = DateTime.Now; s.ModifiedDate = DateTime.Now; s.CreatedBy = User.Identity.Name; s.ModifiedBy = User.Identity.Name; s.ObjectState = Model.ObjectState.Added; _SaleEnquiryLineService.Create(s); SaleEnquiryLineExtended Extended = new SaleEnquiryLineExtended(); Extended.SaleEnquiryLineId = s.SaleEnquiryLineId; Extended.BuyerSpecification = svm.BuyerSpecification; Extended.BuyerSpecification1 = svm.BuyerSpecification1; Extended.BuyerSpecification2 = svm.BuyerSpecification2; Extended.BuyerSpecification3 = svm.BuyerSpecification3; Extended.BuyerSku = svm.BuyerSku; Extended.BuyerUpcCode = svm.BuyerUpcCode; new SaleEnquiryLineExtendedService(_unitOfWork).Create(Extended); //new SaleEnquiryLineStatusService(_unitOfWork).CreateLineStatus(s.SaleEnquiryLineId); SaleEnquiryHeader header = new SaleEnquiryHeaderService(_unitOfWork).Find(s.SaleEnquiryHeaderId); if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import) { header.Status = (int)StatusConstants.Modified; header.ModifiedDate = DateTime.Now; header.ModifiedBy = User.Identity.Name; new SaleEnquiryHeaderService(_unitOfWork).Update(header); } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(temp); return(PartialView("_Create", svm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = header.DocTypeId, DocId = header.SaleEnquiryHeaderId, DocLineId = s.SaleEnquiryLineId, ActivityType = (int)ActivityTypeContants.Added, DocNo = header.DocNo, DocDate = header.DocDate, DocStatus = header.Status, })); return(RedirectToAction("_Create", new { id = s.SaleEnquiryHeaderId })); } else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); SaleEnquiryHeader header = new SaleEnquiryHeaderService(_unitOfWork).Find(svm.SaleEnquiryHeaderId); StringBuilder logstring = new StringBuilder(); int status = header.Status; SaleEnquiryLine temp1 = _SaleEnquiryLineService.Find(svm.SaleEnquiryLineId); SaleEnquiryLine ExRec = new SaleEnquiryLine(); ExRec = Mapper.Map <SaleEnquiryLine>(temp1); //End of Tracking the Modifications:: temp1.DueDate = svm.DueDate; temp1.ProductId = svm.ProductId; temp1.Specification = svm.Specification; temp1.Dimension1Id = svm.Dimension1Id; temp1.Dimension2Id = svm.Dimension2Id; temp1.Dimension3Id = svm.Dimension3Id; temp1.Dimension4Id = svm.Dimension4Id; temp1.Qty = svm.Qty; temp1.UnitId = svm.UnitId; temp1.DealQty = svm.DealQty ?? 0; temp1.DealUnitId = svm.DealUnitId; temp1.UnitConversionMultiplier = svm.UnitConversionMultiplier; temp1.Rate = svm.Rate ?? 0; temp1.Amount = svm.Amount ?? 0; temp1.Remark = svm.Remark; temp1.ModifiedDate = DateTime.Now; temp1.ModifiedBy = User.Identity.Name; _SaleEnquiryLineService.Update(temp1); SaleEnquiryLineExtended Extended = new SaleEnquiryLineExtendedService(_unitOfWork).Find(svm.SaleEnquiryLineId); Extended.BuyerSpecification = svm.BuyerSpecification; Extended.BuyerSpecification1 = svm.BuyerSpecification1; Extended.BuyerSpecification2 = svm.BuyerSpecification2; Extended.BuyerSpecification3 = svm.BuyerSpecification3; new SaleEnquiryLineExtendedService(_unitOfWork).Update(Extended); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = temp1, }); if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import) { header.Status = (int)StatusConstants.Modified; header.ModifiedBy = User.Identity.Name; header.ModifiedDate = DateTime.Now; new SaleEnquiryHeaderService(_unitOfWork).Update(header); } XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(temp); return(PartialView("_Create", svm)); } //Saving the Activity Log LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = temp.DocTypeId, DocId = temp1.SaleEnquiryHeaderId, DocLineId = temp1.SaleEnquiryLineId, ActivityType = (int)ActivityTypeContants.Modified, DocNo = temp.DocNo, xEModifications = Modifications, DocDate = temp.DocDate, DocStatus = temp.Status, })); //End of Saving the Activity Log return(Json(new { success = true })); } } //string messages = string.Join("; ", ModelState.Values // .SelectMany(x => x.Errors) // .Select(x => x.ErrorMessage)); //TempData["CSEXCL"] += messages; ViewBag.Status = temp.Status; PrepareViewBag(temp); return(PartialView("_Create", svm)); }
public ActionResult _PersonProductUidPost(PersonProductUidSummaryViewModel svm) { SaleEnquiryLine s = new SaleEnquiryLineService(_unitOfWork).Find((int)svm.GenDocLineId); SaleEnquiryHeader temp = new SaleEnquiryHeaderService(_unitOfWork).Find(s.SaleEnquiryHeaderId); if (ModelState.IsValid) { //var PersonProductUid = (from p in db.PersonProductUid // where p.GenLineId == s.SaleEnquiryLineId && p.GenDocTypeId == temp.DocTypeId && p.GenDocId == temp.SaleEnquiryHeaderId // select p).ToList(); //foreach (var item2 in PersonProductUid) //{ // new PersonProductUidService(_unitOfWork).Delete(item2.PersonProductUidId); //} if (svm.JobInvoiceSummaryViewModel[0].PersonProductUidId == 0) { foreach (var item in svm.JobInvoiceSummaryViewModel) { PersonProductUid PPU = new PersonProductUid(); PPU.GenLineId = s.SaleEnquiryLineId; PPU.ProductUidName = item.ProductUidName; PPU.ProductUidSpecification = item.ProductUidSpecification; PPU.GenDocId = temp.SaleEnquiryHeaderId; PPU.GenDocNo = temp.BuyerEnquiryNo; PPU.GenDocTypeId = temp.DocTypeId; PPU.CreatedDate = DateTime.Now; PPU.ModifiedDate = DateTime.Now; PPU.CreatedBy = User.Identity.Name; PPU.ModifiedBy = User.Identity.Name; PPU.ObjectState = Model.ObjectState.Added; new PersonProductUidService(_unitOfWork).Create(PPU); } } else { foreach (var item in svm.JobInvoiceSummaryViewModel) { PersonProductUid PPU = new PersonProductUidService(_unitOfWork).Find(item.PersonProductUidId); PPU.ProductUidName = item.ProductUidName; PPU.ProductUidSpecification = item.ProductUidSpecification; PPU.ModifiedDate = DateTime.Now; PPU.ModifiedBy = User.Identity.Name; PPU.ObjectState = Model.ObjectState.Modified; new PersonProductUidService(_unitOfWork).Update(PPU); } } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(temp); return(PartialView("_Create", svm)); } //LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel //{ // DocTypeId = header.DocTypeId, // DocId = header.SaleEnquiryHeaderId, // DocLineId = s.SaleEnquiryLineId, // ActivityType = (int)ActivityTypeContants.Added, // DocNo = header.DocNo, // DocDate = header.DocDate, // DocStatus = header.Status, //})); return(Json(new { success = true })); } PrepareViewBag(temp); return(PartialView("_Create", svm)); }