public ActionResult _Create(int Id, bool?IsSaleBased) //Id ==>Sale Order Header Id { SaleInvoiceHeader H = new SaleInvoiceHeaderService(_unitOfWork).FindDirectSaleInvoice(Id); DirectSaleInvoiceLineViewModel s = new DirectSaleInvoiceLineViewModel(); //Getting Settings var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); s.SaleInvoiceSettings = Mapper.Map <SaleInvoiceSetting, SaleInvoiceSettingsViewModel>(settings); s.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); s.IsSaleBased = IsSaleBased; s.SaleInvoiceHeaderId = H.SaleInvoiceHeaderId; s.SaleInvoiceHeaderDocNo = H.DocNo; s.DocTypeId = H.DocTypeId; s.SiteId = H.SiteId; s.DivisionId = H.DivisionId; ViewBag.LineMode = "Create"; PrepareViewBag(); return(PartialView("_Create", s)); }
// GET: /SaleInvoiceSettingMaster/Create public ActionResult Create(int id)//DocTypeId { if (!UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } var DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; //ViewBag.UnitConvForList = (from p in db.UnitConversonFor // select p).ToList(); var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(id, DivisionId, SiteId); if (settings == null) { SaleInvoiceSettingsViewModel vm = new SaleInvoiceSettingsViewModel(); vm.DocTypeName = new DocumentTypeService(_unitOfWork).Find(id).DocumentTypeName; vm.SiteId = SiteId; vm.DivisionId = DivisionId; vm.DocTypeId = id; PrepareViewBag(); return(View("Create", vm)); } else { SaleInvoiceSettingsViewModel temp = AutoMapper.Mapper.Map <SaleInvoiceSetting, SaleInvoiceSettingsViewModel>(settings); temp.DocTypeName = new DocumentTypeService(_unitOfWork).Find(id).DocumentTypeName; PrepareViewBag(); return(View("Create", temp)); } }
public JsonResult getunitconversiondetailjson(int productid, string unitid, string DealUnitId, int SaleInvoiceHeaderId) { SaleInvoiceHeader Invoice = new SaleInvoiceHeaderService(_unitOfWork).FindDirectSaleInvoice(SaleInvoiceHeaderId); var Settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(Invoice.DocTypeId, Invoice.DivisionId, Invoice.SiteId); if (Settings.UnitConversionForId.HasValue && Settings.UnitConversionForId > 0) { UnitConversion uc = new UnitConversionService(_unitOfWork).GetUnitConversionForUCF(productid, unitid, DealUnitId, Settings.UnitConversionForId ?? 0); List <SelectListItem> unitconversionjson = new List <SelectListItem>(); if (uc != null) { unitconversionjson.Add(new SelectListItem { Text = uc.Multiplier.ToString(), Value = uc.Multiplier.ToString() }); } else { unitconversionjson.Add(new SelectListItem { Text = "0", Value = "0" }); } return(Json(unitconversionjson)); } else { UnitConversion uc = new UnitConversionService(_unitOfWork).GetUnitConversion(productid, unitid, DealUnitId); List <SelectListItem> unitconversionjson = new List <SelectListItem>(); if (uc != null) { unitconversionjson.Add(new SelectListItem { Text = uc.Multiplier.ToString(), Value = uc.Multiplier.ToString() }); } else { unitconversionjson.Add(new SelectListItem { Text = "0", Value = "0" }); } return(Json(unitconversionjson)); } }
public ActionResult _ForDispatch(int id) { SaleInvoiceFilterViewModel vm = new SaleInvoiceFilterViewModel(); vm.SaleInvoiceHeaderId = id; vm.UpToDate = DateTime.Today.Date; SaleInvoiceHeader H = new SaleInvoiceHeaderService(_unitOfWork).FindDirectSaleInvoice(id); var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); vm.SaleInvoiceSettings = Mapper.Map <SaleInvoiceSetting, SaleInvoiceSettingsViewModel>(settings); vm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); return(PartialView("_DispatchFilters", vm)); }
private ActionResult _Delete(int id) { SaleInvoiceLine temp = _SaleInvoiceLineService.Find(id); if (temp == null) { return(HttpNotFound()); } #region DocTypeTimeLineValidation try { TimePlanValidation = DocumentValidation.ValidateDocumentLine(new DocumentUniqueId { LockReason = temp.LockReason }, User.Identity.Name, out ExceptionMsg, out Continue); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; TimePlanValidation = false; } if (!TimePlanValidation) { TempData["CSEXCL"] += ExceptionMsg; } #endregion if ((TimePlanValidation || Continue)) { ViewBag.LineMode = "Delete"; } SaleInvoiceHeader H = new SaleInvoiceHeaderService(_unitOfWork).FindDirectSaleInvoice(temp.SaleInvoiceHeaderId); PrepareViewBag(); DirectSaleInvoiceLineViewModel vm = _SaleInvoiceLineService.GetDirectSaleInvoiceLineForEdit(id); //Getting Settings var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); vm.SaleInvoiceSettings = Mapper.Map <SaleInvoiceSetting, SaleInvoiceSettingsViewModel>(settings); vm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); return(PartialView("_Create", vm)); }
public ActionResult _Detail(int id) { SaleInvoiceLine temp = _SaleInvoiceLineService.Find(id); SaleInvoiceHeader H = new SaleInvoiceHeaderService(_unitOfWork).FindDirectSaleInvoice(temp.SaleInvoiceHeaderId); PrepareViewBag(); DirectSaleInvoiceLineViewModel vm = _SaleInvoiceLineService.GetDirectSaleInvoiceLineForEdit(id); //Getting Settings var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); vm.SaleInvoiceSettings = Mapper.Map <SaleInvoiceSetting, SaleInvoiceSettingsViewModel>(settings); if (temp == null) { return(HttpNotFound()); } return(PartialView("_Create", vm)); }
private ActionResult _Modify(int id) { SaleInvoiceReturnLineViewModel temp = _SaleInvoiceReturnLineService.GetSaleInvoiceReturnLine(id); SaleInvoiceReturnHeader H = new SaleInvoiceReturnHeaderService(_unitOfWork).Find(temp.SaleInvoiceReturnHeaderId); PrepareViewBag(temp); //Getting Settings var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); temp.SaleInvoiceSettings = Mapper.Map <SaleInvoiceSetting, SaleInvoiceSettingsViewModel>(settings); temp.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); if (temp == null) { return(HttpNotFound()); } ViewBag.LineMode = "Edit"; return(PartialView("_Create", temp)); }
public ActionResult _Create(int Id, int sid) //Id ==>Sale Order Header Id { SaleInvoiceReturnHeader H = new SaleInvoiceReturnHeaderService(_unitOfWork).Find(Id); SaleInvoiceReturnLineViewModel s = new SaleInvoiceReturnLineViewModel(); //Getting Settings var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); s.SaleInvoiceSettings = Mapper.Map <SaleInvoiceSetting, SaleInvoiceSettingsViewModel>(settings); s.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); s.Nature = H.Nature; s.SaleInvoiceReturnHeaderId = H.SaleInvoiceReturnHeaderId; s.SaleInvoiceReturnHeaderDocNo = H.DocNo; s.BuyerId = sid; s.DocTypeId = H.DocTypeId; s.DivisionId = H.DivisionId; s.SiteId = H.SiteId; ViewBag.LineMode = "Create"; //PrepareViewBag(null); return(PartialView("_Create", s)); }
//[ValidateAntiForgeryToken] public ActionResult _CreatePost(SaleInvoiceReturnLineViewModel svm) { SaleInvoiceReturnHeader temp = new SaleInvoiceReturnHeaderService(_unitOfWork).Find(svm.SaleInvoiceReturnHeaderId); var settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(temp.DocTypeId, temp.DivisionId, temp.SiteId); if (svm.SaleInvoiceReturnLineId <= 0) { ViewBag.LineMode = "Create"; } else { ViewBag.LineMode = "Edit"; } if (svm.SaleInvoiceReturnLineId <= 0) { decimal balqty = (from p in db.SaleInvoiceLine where p.SaleInvoiceLineId == svm.SaleInvoiceLineId select p.DealQty).FirstOrDefault(); if (balqty < svm.Qty) { ModelState.AddModelError("Qty", "Qty Exceeding Invoice Qty"); } if (svm.Qty == 0) { ModelState.AddModelError("Qty", "Please Check Qty"); } if (svm.SaleInvoiceLineId <= 0) { ModelState.AddModelError("SaleInvoiceLineId", "Sale Invoice field is required"); } if (ModelState.IsValid) { SaleInvoiceReturnLine s = Mapper.Map <SaleInvoiceReturnLineViewModel, SaleInvoiceReturnLine>(svm); s.Sr = _SaleInvoiceReturnLineService.GetMaxSr(s.SaleInvoiceReturnHeaderId); s.DiscountPer = svm.DiscountPer; s.CreatedDate = DateTime.Now; s.ModifiedDate = DateTime.Now; s.CreatedBy = User.Identity.Name; s.ModifiedBy = User.Identity.Name; if (temp.SaleDispatchReturnHeaderId.HasValue) { SaleDispatchReturnHeader SaleDispatchReturnHeader = new SaleDispatchReturnHeaderService(_unitOfWork).Find((int)temp.SaleDispatchReturnHeaderId); SaleDispatchReturnLine Gline = Mapper.Map <SaleInvoiceReturnLine, SaleDispatchReturnLine>(s); Gline.SaleDispatchLineId = new SaleInvoiceLineService(_unitOfWork).Find(s.SaleInvoiceLineId).SaleDispatchLineId; Gline.SaleDispatchReturnHeaderId = temp.SaleDispatchReturnHeaderId ?? 0; Gline.Qty = svm.Qty; Gline.Weight = svm.Weight; StockViewModel StockViewModel = new StockViewModel(); StockViewModel.StockHeaderId = SaleDispatchReturnHeader.StockHeaderId ?? 0; StockViewModel.DocHeaderId = SaleDispatchReturnHeader.SaleDispatchReturnHeaderId; StockViewModel.DocLineId = Gline.SaleDispatchReturnLineId; StockViewModel.DocTypeId = SaleDispatchReturnHeader.DocTypeId; StockViewModel.StockHeaderDocDate = SaleDispatchReturnHeader.DocDate; StockViewModel.StockDocDate = SaleDispatchReturnHeader.DocDate; StockViewModel.DocNo = SaleDispatchReturnHeader.DocNo; StockViewModel.DivisionId = SaleDispatchReturnHeader.DivisionId; StockViewModel.SiteId = SaleDispatchReturnHeader.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = settings.ProcessId; StockViewModel.PersonId = SaleDispatchReturnHeader.BuyerId; StockViewModel.ProductId = svm.ProductId; StockViewModel.ProductUidId = svm.ProductUidId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = SaleDispatchReturnHeader.GodownId; StockViewModel.GodownId = SaleDispatchReturnHeader.GodownId; StockViewModel.ProcessId = null; StockViewModel.LotNo = null; StockViewModel.CostCenterId = null; StockViewModel.Qty_Iss = 0; StockViewModel.Qty_Rec = Gline.Qty; StockViewModel.Weight_Iss = Gline.Weight; StockViewModel.Weight_Rec = 0; StockViewModel.Rate = null; StockViewModel.ExpiryDate = null; StockViewModel.Specification = svm.Specification; StockViewModel.Dimension1Id = svm.Dimension1Id; StockViewModel.Dimension2Id = svm.Dimension2Id; StockViewModel.Remark = svm.Remark; StockViewModel.Status = SaleDispatchReturnHeader.Status; StockViewModel.CreatedBy = SaleDispatchReturnHeader.CreatedBy; StockViewModel.CreatedDate = DateTime.Now; StockViewModel.ModifiedBy = SaleDispatchReturnHeader.ModifiedBy; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = new StockService(_unitOfWork).StockPost(ref StockViewModel); if (StockPostingError != "") { ModelState.AddModelError("", StockPostingError); return(PartialView("_Create", svm)); } Gline.StockId = StockViewModel.StockId; Gline.ObjectState = Model.ObjectState.Added; new SaleDispatchReturnLineService(_unitOfWork).Create(Gline); s.SaleDispatchReturnLineId = Gline.SaleDispatchReturnLineId; if (StockViewModel != null) { if (SaleDispatchReturnHeader.StockHeaderId == null) { SaleDispatchReturnHeader.StockHeaderId = StockViewModel.StockHeaderId; } } if (SaleDispatchReturnHeader.Status != (int)StatusConstants.Drafted) { SaleDispatchReturnHeader.Status = (int)StatusConstants.Modified; } new SaleDispatchReturnHeaderService(_unitOfWork).Update(SaleDispatchReturnHeader); } s.ObjectState = Model.ObjectState.Added; _SaleInvoiceReturnLineService.Create(s); if (svm.linecharges != null) { foreach (var item in svm.linecharges) { item.LineTableId = s.SaleInvoiceReturnLineId; item.PersonID = temp.BuyerId; item.HeaderTableId = s.SaleInvoiceReturnHeaderId; item.ObjectState = Model.ObjectState.Added; new SaleInvoiceReturnLineChargeService(_unitOfWork).Create(item); } } if (svm.footercharges != null) { foreach (var item in svm.footercharges) { if (item.Id > 0) { var footercharge = new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Find(item.Id); footercharge.Rate = item.Rate; footercharge.Amount = item.Amount; new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Update(footercharge); } else { item.HeaderTableId = s.SaleInvoiceReturnHeaderId; item.PersonID = temp.BuyerId; item.ObjectState = Model.ObjectState.Added; new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Create(item); } } } SaleInvoiceReturnHeader temp2 = new SaleInvoiceReturnHeaderService(_unitOfWork).Find(s.SaleInvoiceReturnHeaderId); if (temp2.Status != (int)StatusConstants.Drafted) { temp2.Status = (int)StatusConstants.Modified; } new SaleInvoiceReturnHeaderService(_unitOfWork).Update(temp2); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(PartialView("_Create", svm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = temp.DocTypeId, DocId = temp.SaleInvoiceReturnHeaderId, DocLineId = s.SaleInvoiceReturnLineId, ActivityType = (int)ActivityTypeContants.Added, DocNo = temp.DocNo, DocDate = temp.DocDate, DocStatus = temp.Status, })); return(RedirectToAction("_Create", new { id = s.SaleInvoiceReturnHeaderId, sid = svm.BuyerId })); } return(PartialView("_Create", svm)); } else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); int status = temp.Status; StringBuilder logstring = new StringBuilder(); SaleInvoiceReturnLine line = _SaleInvoiceReturnLineService.Find(svm.SaleInvoiceReturnLineId); SaleInvoiceReturnLine ExRec = new SaleInvoiceReturnLine(); ExRec = Mapper.Map <SaleInvoiceReturnLine>(line); decimal balqty = (from p in db.SaleInvoiceLine where p.SaleInvoiceLineId == svm.SaleInvoiceLineId select p.DealQty).FirstOrDefault(); if (balqty + line.Qty < svm.Qty) { ModelState.AddModelError("Qty", "Qty Exceeding Invoice Qty"); } if (ModelState.IsValid) { if (svm.Qty > 0) { line.DiscountPer = svm.DiscountPer; line.Remark = svm.Remark; line.Qty = svm.Qty; line.Weight = svm.Weight; line.DealQty = svm.DealQty; line.Amount = svm.Amount; line.ModifiedBy = User.Identity.Name; line.ModifiedDate = DateTime.Now; } _SaleInvoiceReturnLineService.Update(line); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = line, }); if (temp.SaleDispatchReturnHeaderId.HasValue) { SaleDispatchReturnHeader SaleDispatchReturnHeader = new SaleDispatchReturnHeaderService(_unitOfWork).Find((int)temp.SaleDispatchReturnHeaderId); SaleDispatchReturnLine GLine = new SaleDispatchReturnLineService(_unitOfWork).Find(line.SaleDispatchReturnLineId ?? 0); SaleDispatchReturnLine ExRecR = new SaleDispatchReturnLine(); ExRecR = Mapper.Map <SaleDispatchReturnLine>(GLine); GLine.Remark = line.Remark; GLine.Qty = line.Qty; GLine.DealQty = line.DealQty; GLine.Weight = line.Weight; GLine.ObjectState = Model.ObjectState.Modified; new SaleDispatchReturnLineService(_unitOfWork).Update(GLine); LogList.Add(new LogTypeViewModel { ExObj = ExRecR, Obj = GLine, }); StockViewModel StockViewModel = new StockViewModel(); StockViewModel.StockHeaderId = SaleDispatchReturnHeader.StockHeaderId ?? 0; StockViewModel.StockId = GLine.StockId ?? 0; StockViewModel.DocHeaderId = SaleDispatchReturnHeader.SaleDispatchReturnHeaderId; StockViewModel.DocLineId = GLine.SaleDispatchLineId; StockViewModel.DocTypeId = SaleDispatchReturnHeader.DocTypeId; StockViewModel.StockHeaderDocDate = SaleDispatchReturnHeader.DocDate; StockViewModel.StockDocDate = SaleDispatchReturnHeader.DocDate; StockViewModel.DocNo = SaleDispatchReturnHeader.DocNo; StockViewModel.DivisionId = SaleDispatchReturnHeader.DivisionId; StockViewModel.SiteId = SaleDispatchReturnHeader.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = settings.ProcessId; StockViewModel.PersonId = SaleDispatchReturnHeader.BuyerId; StockViewModel.ProductId = svm.ProductId; StockViewModel.ProductUidId = svm.ProductUidId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = SaleDispatchReturnHeader.GodownId; StockViewModel.GodownId = SaleDispatchReturnHeader.GodownId; StockViewModel.ProcessId = null; StockViewModel.LotNo = null; StockViewModel.CostCenterId = null; StockViewModel.Qty_Iss = 0; StockViewModel.Qty_Rec = svm.Qty; StockViewModel.Weight_Iss = svm.Weight; StockViewModel.Weight_Rec = 0; StockViewModel.Rate = null; StockViewModel.ExpiryDate = null; StockViewModel.Specification = svm.Specification; StockViewModel.Dimension1Id = svm.Dimension1Id; StockViewModel.Dimension2Id = svm.Dimension2Id; StockViewModel.Remark = svm.Remark; StockViewModel.Status = SaleDispatchReturnHeader.Status; StockViewModel.CreatedBy = SaleDispatchReturnHeader.CreatedBy; StockViewModel.CreatedDate = SaleDispatchReturnHeader.CreatedDate; StockViewModel.ModifiedBy = User.Identity.Name; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = new StockService(_unitOfWork).StockPost(ref StockViewModel); if (StockPostingError != "") { ModelState.AddModelError("", StockPostingError); return(PartialView("_Create", svm)); } if (SaleDispatchReturnHeader.Status != (int)StatusConstants.Drafted) { SaleDispatchReturnHeader.Status = (int)StatusConstants.Modified; new SaleDispatchReturnHeaderService(_unitOfWork).Update(SaleDispatchReturnHeader); } } if (temp.Status != (int)StatusConstants.Drafted) { temp.Status = (int)StatusConstants.Modified; new SaleInvoiceReturnHeaderService(_unitOfWork).Update(temp); } if (svm.linecharges != null) { foreach (var item in svm.linecharges) { var productcharge = new SaleInvoiceReturnLineChargeService(_unitOfWork).Find(item.Id); SaleInvoiceReturnLineCharge ExRecLine = new SaleInvoiceReturnLineCharge(); ExRecLine = Mapper.Map <SaleInvoiceReturnLineCharge>(productcharge); productcharge.Rate = item.Rate; productcharge.Amount = item.Amount; productcharge.DealQty = item.DealQty; new SaleInvoiceReturnLineChargeService(_unitOfWork).Update(productcharge); LogList.Add(new LogTypeViewModel { ExObj = ExRecLine, Obj = productcharge, }); } } if (svm.footercharges != null) { foreach (var item in svm.footercharges) { var footercharge = new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Find(item.Id); SaleInvoiceReturnHeaderCharge ExRecLine = new SaleInvoiceReturnHeaderCharge(); ExRecLine = Mapper.Map <SaleInvoiceReturnHeaderCharge>(footercharge); footercharge.Rate = item.Rate; footercharge.Amount = item.Amount; new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Update(footercharge); LogList.Add(new LogTypeViewModel { ExObj = ExRecLine, Obj = footercharge, }); } } XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(PartialView("_Create", svm)); } //Saving the Activity Log LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = temp.DocTypeId, DocId = line.SaleInvoiceReturnHeaderId, DocLineId = line.SaleInvoiceReturnLineId, 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 })); } return(PartialView("_Create", svm)); } }
public ActionResult _ResultsPost(SaleInvoiceReturnMasterDetailModel vm) { int Cnt = 0; List <HeaderChargeViewModel> HeaderCharges = new List <HeaderChargeViewModel>(); List <LineChargeViewModel> LineCharges = new List <LineChargeViewModel>(); int pk = 0; int Gpk = 0; int Serial = _SaleInvoiceReturnLineService.GetMaxSr(vm.SaleInvoiceReturnLineViewModel.FirstOrDefault().SaleInvoiceReturnHeaderId); bool HeaderChargeEdit = false; SaleInvoiceReturnHeader Header = new SaleInvoiceReturnHeaderService(_unitOfWork).Find(vm.SaleInvoiceReturnLineViewModel.FirstOrDefault().SaleInvoiceReturnHeaderId); SaleInvoiceSetting Settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); int?MaxLineId = new SaleInvoiceReturnLineChargeService(_unitOfWork).GetMaxProductCharge(Header.SaleInvoiceReturnHeaderId, "Web.SaleInvoiceReturnLines", "SaleInvoiceReturnHeaderId", "SaleInvoiceReturnLineId"); int PersonCount = 0; int CalculationId = Settings.CalculationId; List <LineDetailListViewModel> LineList = new List <LineDetailListViewModel>(); SaleDispatchReturnHeader GoodsRetHeader = new SaleDispatchReturnHeaderService(_unitOfWork).Find(Header.SaleDispatchReturnHeaderId ?? 0); if (ModelState.IsValid) { foreach (var item in vm.SaleInvoiceReturnLineViewModel) { decimal balqty = (from p in db.ViewSaleInvoiceBalance where p.SaleInvoiceLineId == item.SaleInvoiceLineId select p.BalanceQty).FirstOrDefault(); if (item.Qty > 0 && item.Qty <= balqty) { SaleInvoiceReturnLine line = new SaleInvoiceReturnLine(); //var receipt = new SaleDispatchLineService(_unitOfWork).Find(item.SaleDispatchLineId ); line.SaleInvoiceReturnHeaderId = item.SaleInvoiceReturnHeaderId; line.SaleInvoiceLineId = item.SaleInvoiceLineId; line.Qty = item.Qty; line.Sr = Serial++; line.DiscountPer = item.DiscountPer; line.DiscountAmount = item.DiscountAmount; line.Rate = item.Rate; line.DealQty = item.UnitConversionMultiplier * item.Qty; line.DealUnitId = item.DealUnitId; line.UnitConversionMultiplier = item.UnitConversionMultiplier; line.Amount = item.RateAfterDiscount * line.DealQty; line.Remark = item.Remark; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.SaleInvoiceReturnLineId = pk; SaleDispatchReturnLine GLine = Mapper.Map <SaleInvoiceReturnLine, SaleDispatchReturnLine>(line); GLine.SaleDispatchLineId = new SaleInvoiceLineService(_unitOfWork).Find(line.SaleInvoiceLineId).SaleDispatchLineId; GLine.SaleDispatchReturnHeaderId = GoodsRetHeader.SaleDispatchReturnHeaderId; GLine.SaleDispatchReturnLineId = Gpk; GLine.Qty = line.Qty; GLine.ObjectState = Model.ObjectState.Added; SaleDispatchLine SaleDispatchLine = new SaleDispatchLineService(_unitOfWork).Find(GLine.SaleDispatchLineId); PackingLine PackingLin = new PackingLineService(_unitOfWork).Find(SaleDispatchLine.PackingLineId); StockViewModel StockViewModel = new StockViewModel(); if (Cnt == 0) { StockViewModel.StockHeaderId = GoodsRetHeader.StockHeaderId ?? 0; } else { if (GoodsRetHeader.StockHeaderId != null && GoodsRetHeader.StockHeaderId != 0) { StockViewModel.StockHeaderId = (int)GoodsRetHeader.StockHeaderId; } else { StockViewModel.StockHeaderId = -1; } } StockViewModel.StockId = -Cnt; StockViewModel.DocHeaderId = GoodsRetHeader.SaleDispatchReturnHeaderId; StockViewModel.DocLineId = SaleDispatchLine.SaleDispatchLineId; StockViewModel.DocTypeId = GoodsRetHeader.DocTypeId; StockViewModel.StockHeaderDocDate = GoodsRetHeader.DocDate; StockViewModel.StockDocDate = GoodsRetHeader.DocDate; StockViewModel.DocNo = GoodsRetHeader.DocNo; StockViewModel.DivisionId = GoodsRetHeader.DivisionId; StockViewModel.SiteId = GoodsRetHeader.SiteId; StockViewModel.CurrencyId = null; StockViewModel.PersonId = GoodsRetHeader.BuyerId; StockViewModel.ProductId = PackingLin.ProductId; StockViewModel.ProductUidId = PackingLin.ProductUidId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = GoodsRetHeader.GodownId; StockViewModel.HeaderProcessId = Settings.ProcessId; StockViewModel.GodownId = GoodsRetHeader.GodownId; StockViewModel.Remark = Header.Remark; StockViewModel.Status = Header.Status; StockViewModel.ProcessId = null; StockViewModel.LotNo = null; StockViewModel.CostCenterId = null; StockViewModel.Qty_Iss = 0; StockViewModel.Qty_Rec = GLine.Qty; StockViewModel.Rate = null; StockViewModel.ExpiryDate = null; StockViewModel.Specification = PackingLin.Specification; StockViewModel.Dimension1Id = PackingLin.Dimension1Id; StockViewModel.Dimension2Id = PackingLin.Dimension2Id; StockViewModel.CreatedBy = User.Identity.Name; StockViewModel.CreatedDate = DateTime.Now; StockViewModel.ModifiedBy = User.Identity.Name; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = new StockService(_unitOfWork).StockPost(ref StockViewModel); if (StockPostingError != "") { string message = StockPostingError; ModelState.AddModelError("", message); return(PartialView("_Results", vm)); } if (Cnt == 0) { GoodsRetHeader.StockHeaderId = StockViewModel.StockHeaderId; } GLine.StockId = StockViewModel.StockId; new SaleDispatchReturnLineService(_unitOfWork).Create(GLine); line.SaleDispatchReturnLineId = GLine.SaleDispatchReturnLineId; line.ObjectState = Model.ObjectState.Added; _SaleInvoiceReturnLineService.Create(line); LineList.Add(new LineDetailListViewModel { Amount = line.Amount, Rate = line.Rate, LineTableId = line.SaleInvoiceReturnLineId, HeaderTableId = item.SaleInvoiceReturnHeaderId, PersonID = Header.BuyerId, DealQty = line.DealQty }); Gpk++; pk++; Cnt = Cnt + 1; } } new SaleDispatchReturnHeaderService(_unitOfWork).Update(GoodsRetHeader); new ChargesCalculationService(_unitOfWork).CalculateCharges(LineList, vm.SaleInvoiceReturnLineViewModel.FirstOrDefault().SaleInvoiceReturnHeaderId, CalculationId, MaxLineId, out LineCharges, out HeaderChargeEdit, out HeaderCharges, "Web.SaleInvoiceReturnHeaderCharges", "Web.SaleInvoiceReturnLineCharges", out PersonCount, Header.DocTypeId, Header.SiteId, Header.DivisionId); // Saving Charges foreach (var item in LineCharges) { SaleInvoiceReturnLineCharge PoLineCharge = Mapper.Map <LineChargeViewModel, SaleInvoiceReturnLineCharge>(item); PoLineCharge.ObjectState = Model.ObjectState.Added; new SaleInvoiceReturnLineChargeService(_unitOfWork).Create(PoLineCharge); } //Saving Header charges for (int i = 0; i < HeaderCharges.Count(); i++) { if (!HeaderChargeEdit) { SaleInvoiceReturnHeaderCharge POHeaderCharge = Mapper.Map <HeaderChargeViewModel, SaleInvoiceReturnHeaderCharge>(HeaderCharges[i]); POHeaderCharge.HeaderTableId = vm.SaleInvoiceReturnLineViewModel.FirstOrDefault().SaleInvoiceReturnHeaderId; POHeaderCharge.PersonID = Header.BuyerId; POHeaderCharge.ObjectState = Model.ObjectState.Added; new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Create(POHeaderCharge); } else { var footercharge = new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Find(HeaderCharges[i].Id); footercharge.Rate = HeaderCharges[i].Rate; footercharge.Amount = HeaderCharges[i].Amount; new SaleInvoiceReturnHeaderChargeService(_unitOfWork).Update(footercharge); } } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(PartialView("_Results", vm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.SaleInvoiceReturnHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }
public ActionResult _ResultsPost(DirectSaleInvoiceListViewModel vm) { int Cnt = 0; SaleInvoiceHeader Sh = new SaleInvoiceHeaderService(_unitOfWork).FindDirectSaleInvoice(vm.DirectSaleInvoiceLineViewModel.FirstOrDefault().SaleInvoiceHeaderId); List <HeaderChargeViewModel> HeaderCharges = new List <HeaderChargeViewModel>(); List <LineChargeViewModel> LineCharges = new List <LineChargeViewModel>(); int pk = 0; bool HeaderChargeEdit = false; //SaleInvoiceHeader Header = new SaleInvoiceHeaderService(_unitOfWork).Find(vm.DirectSaleInvoiceLineViewModel.FirstOrDefault().SaleInvoiceHeaderId); SaleInvoiceSetting Settings = new SaleInvoiceSettingService(_unitOfWork).GetSaleInvoiceSettingForDocument(Sh.DocTypeId, Sh.DivisionId, Sh.SiteId); int?MaxLineId = new SaleInvoiceLineChargeService(_unitOfWork).GetMaxProductCharge(Sh.SaleInvoiceHeaderId, "Web.SaleInvoiceLines", "SaleInvoiceHeaderId", "SaleInvoiceLineId"); int PersonCount = 0; int CalculationId = Settings.CalculationId; List <LineDetailListViewModel> LineList = new List <LineDetailListViewModel>(); if (ModelState.IsValid) { foreach (var item in vm.DirectSaleInvoiceLineViewModel) { decimal balqty = (from p in db.ViewSaleDispatchBalance where p.SaleDispatchLineId == item.SaleDispatchLineId select p.BalanceQty).FirstOrDefault(); if (item.Qty > 0 && item.Qty <= balqty) { SaleInvoiceLine line = new SaleInvoiceLine(); line.SaleInvoiceHeaderId = item.SaleInvoiceHeaderId; line.SaleDispatchLineId = item.SaleDispatchLineId; line.UnitConversionMultiplier = item.UnitConversionMultiplier; line.Rate = item.Rate; line.DealUnitId = item.DealUnitId; line.DealQty = item.Qty * item.UnitConversionMultiplier ?? 0; line.DiscountPer = item.DiscountPer; if (Settings.CalculateDiscountOnRate) { var temprate = item.Rate - (item.Rate * item.DiscountPer / 100); line.Amount = line.DealQty * temprate ?? 0; } else { var DiscountAmt = (item.Rate * line.DealQty) * item.DiscountPer / 100; line.Amount = (item.Rate * line.DealQty) - (DiscountAmt ?? 0); } line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.SaleInvoiceLineId = pk; line.Dimension1Id = item.Dimension1Id; line.Dimension2Id = item.Dimension2Id; line.SaleOrderLineId = item.SaleOrderLineId; line.DiscountPer = item.DiscountPer; line.ProductId = item.ProductId; line.Qty = item.Qty; line.Remark = item.Remark; line.SaleDispatchLineId = item.SaleDispatchLineId; line.ObjectState = Model.ObjectState.Added; _SaleInvoiceLineService.Create(line); SaleInvoiceLineDetail linedetail = new SaleInvoiceLineDetail(); linedetail.SaleInvoiceLineId = line.SaleInvoiceLineId; linedetail.RewardPoints = item.RewardPoints; _SaleInvoiceLineDetailService.Create(linedetail); LineList.Add(new LineDetailListViewModel { Amount = line.Amount, Rate = line.Rate, LineTableId = line.SaleInvoiceLineId, HeaderTableId = item.SaleInvoiceHeaderId, PersonID = Sh.BillToBuyerId }); pk++; Cnt = Cnt + 1; } } new ChargesCalculationService(_unitOfWork).CalculateCharges(LineList, vm.DirectSaleInvoiceLineViewModel.FirstOrDefault().SaleInvoiceHeaderId, CalculationId, MaxLineId, out LineCharges, out HeaderChargeEdit, out HeaderCharges, "Web.SaleInvoiceHeaderCharges", "Web.SaleInvoiceLineCharges", out PersonCount, Sh.DocTypeId, Sh.SiteId, Sh.DivisionId); //Saving Charges foreach (var item in LineCharges) { SaleInvoiceLineCharge PoLineCharge = Mapper.Map <LineChargeViewModel, SaleInvoiceLineCharge>(item); PoLineCharge.ObjectState = Model.ObjectState.Added; new SaleInvoiceLineChargeService(_unitOfWork).Create(PoLineCharge); } //Saving Header charges for (int i = 0; i < HeaderCharges.Count(); i++) { if (!HeaderChargeEdit) { SaleInvoiceHeaderCharge POHeaderCharge = Mapper.Map <HeaderChargeViewModel, SaleInvoiceHeaderCharge>(HeaderCharges[i]); POHeaderCharge.HeaderTableId = vm.DirectSaleInvoiceLineViewModel.FirstOrDefault().SaleInvoiceHeaderId; POHeaderCharge.PersonID = Sh.BillToBuyerId; POHeaderCharge.ObjectState = Model.ObjectState.Added; new SaleInvoiceHeaderChargeService(_unitOfWork).Create(POHeaderCharge); } else { var footercharge = new SaleInvoiceHeaderChargeService(_unitOfWork).Find(HeaderCharges[i].Id); footercharge.Rate = HeaderCharges[i].Rate; footercharge.Amount = HeaderCharges[i].Amount; new SaleInvoiceHeaderChargeService(_unitOfWork).Update(footercharge); } } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; return(PartialView("_Results", vm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Sh.DocTypeId, DocId = Sh.SaleInvoiceHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Sh.DocNo, DocDate = Sh.DocDate, DocStatus = Sh.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }