public ActionResult Import(int id)//Document Type Id { int DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; int SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(id, DivisionId, SiteId); if (settings != null) { if (settings.ImportMenuId != null) { MenuViewModel menuviewmodel = new MenuService(_unitOfWork).GetMenu((int)settings.ImportMenuId); if (menuviewmodel == null) { return(View("~/Views/Shared/UnderImplementation.cshtml")); } else if (!string.IsNullOrEmpty(menuviewmodel.URL)) { return(Redirect(System.Configuration.ConfigurationManager.AppSettings[menuviewmodel.URL] + "/" + menuviewmodel.ControllerName + "/" + menuviewmodel.ActionName + "/" + id + "?MenuId=" + menuviewmodel.MenuId)); } else { return(RedirectToAction(menuviewmodel.ActionName, menuviewmodel.ControllerName, new { MenuId = menuviewmodel.MenuId, id = id })); } } } return(RedirectToAction("Index", new { id = id })); }
// GET: /SaleOrderCancelHeader/Create public ActionResult Create(int id)//DocTypeId { PrepareViewBag(id); SaleOrderCancelHeaderIndexViewModel s = new SaleOrderCancelHeaderIndexViewModel(); s.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; s.SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; //s.DocNo = _SaleOrderCancelHeaderService.GetMaxDocNo(); s.CreatedDate = DateTime.Now; s.DocDate = DateTime.Now; s.DocTypeId = id; s.DocNo = new DocumentTypeService(_unitOfWork).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".SaleOrderCancelHeaders", s.DocTypeId, s.DocDate, s.DivisionId, s.SiteId); SaleOrderSettings temp = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(id, s.DivisionId, s.SiteId); s.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(temp); if (temp == null && UserRoles.Contains("SysAdmin")) { return(RedirectToAction("CreateForCancel", "SaleOrderSettings", new { id = s.DocTypeId }).Warning("Please create Sale order Cancel settings")); } else if (temp == null && !UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, id, null, this.ControllerContext.RouteData.Values["controller"].ToString(), "Create") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } ViewBag.Mode = "Add"; return(View("Create", s)); }
// GET: /SaleOrderSettingMaster/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"]; var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(id, DivisionId, SiteId); if (settings == null) { SaleOrderSettingsViewModel vm = new SaleOrderSettingsViewModel(); vm.DocTypeName = new DocumentTypeService(_unitOfWork).Find(id).DocumentTypeName; vm.SiteId = SiteId; vm.DivisionId = DivisionId; vm.DocTypeId = id; PrepareViewBag(vm); return(View("Create", vm)); } else { SaleOrderSettingsViewModel temp = AutoMapper.Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); temp.DocTypeName = new DocumentTypeService(_unitOfWork).Find(id).DocumentTypeName; PrepareViewBag(temp); return(View("Create", temp)); } }
private ActionResult _Modify(int id) { SaleOrderLine temp = _SaleOrderLineService.GetSaleOrderLine(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 = "Edit"; } SaleOrderHeader H = new SaleOrderHeaderService(_unitOfWork).GetSaleOrderHeader(temp.SaleOrderHeaderId); ViewBag.DocNo = H.DocNo; SaleOrderLineViewModel s = Mapper.Map <SaleOrderLine, SaleOrderLineViewModel>(temp); string BuyerSku = (_SaleOrderLineService.GetBuyerSKU(temp.ProductId, temp.SaleOrderHeaderId)); s.BuyerSku = BuyerSku; var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(H.DocTypeId, H.DivisionId, H.SiteId); s.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); s.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); s.UnitId = new ProductService(_unitOfWork).Find(temp.ProductId).UnitId; PrepareViewBag(H); return(PartialView("_Create", s)); }
public ActionResult _CreateMultiple(int id, int bid) { SaleOrderCancelFilterViewModel vm = new SaleOrderCancelFilterViewModel(); vm.SaleOrderCancelHeaderId = id; vm.BuyerId = bid; SaleOrderCancelHeader H = new SaleOrderCancelHeaderService(_unitOfWork).Find(id); var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(H.DocTypeId, H.DivisionId, H.SiteId); vm.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); vm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); return(PartialView("_Filters", vm)); }
public ActionResult _Create(int Id, int bid) //Id ==>Sale Order Header Id { SaleOrderCancelLineViewModel svm = new SaleOrderCancelLineViewModel(); var header = new SaleOrderCancelHeaderService(_unitOfWork).Find(Id); svm.SaleOrderCancelHeaderId = Id; svm.BuyerId = bid; var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(header.DocTypeId, header.DivisionId, header.SiteId); svm.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); svm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(header.DocTypeId); ViewBag.LineMode = "Create"; return(PartialView("_Create", svm)); }
private void PrepareViewBagSettings(int id) { ViewBag.Name = new DocumentTypeService(_unitOfWork).Find(id).DocumentTypeName; ViewBag.id = id; var DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(id, DivisionId, SiteId); ViewBag.AdminSetting = UserRoles.Contains("Admin").ToString(); if (settings != null) { ViewBag.ImportMenuId = settings.ImportMenuId; ViewBag.SqlProcDocumentPrint = settings.SqlProcDocumentPrint; ViewBag.ExportMenuId = settings.ExportMenuId; } }
public ActionResult _Delete(int id) { SaleOrderCancelLineViewModel temp = _SaleOrderCancelLineService.GetSaleOrderCancelLineForEdit(id); SaleOrderCancelHeader Header = new SaleOrderCancelHeaderService(_unitOfWork).Find(temp.SaleOrderCancelHeaderId); var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(Header.DocTypeId, Header.DivisionId, Header.SiteId); temp.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); temp.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(Header.DocTypeId); 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"; } return(PartialView("_Create", temp)); }
public ActionResult _Create(int Id) //Id ==>Sale Order Header Id { SaleOrderHeader H = new SaleOrderHeaderService(_unitOfWork).GetSaleOrderHeader(Id); SaleOrderLineViewModel s = new SaleOrderLineViewModel(); s.SaleOrderHeaderId = H.SaleOrderHeaderId; ViewBag.DocNo = H.DocNo; ViewBag.Status = H.Status; ViewBag.LineMode = "Create"; var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(H.DocTypeId, H.DivisionId, H.SiteId); s.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); s.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); PrepareViewBag(H); return(PartialView("_Create", s)); }
// GET: /SaleOrderHeader/Create public ActionResult Create(int id) { SaleOrderHeaderIndexViewModel p = new SaleOrderHeaderIndexViewModel(); p.DocDate = DateTime.Now.Date; p.DueDate = DateTime.Now.Date; p.CreatedDate = DateTime.Now; p.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; p.SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; SaleOrderSettings settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(id, p.DivisionId, p.SiteId); if (settings != null) { p.DocTypeId = id; p.ShipMethodId = settings.ShipMethodId; p.DeliveryTermsId = settings.DeliveryTermsId; p.Priority = settings.Priority; p.CurrencyId = settings.CurrencyId; p.UnitConversionForId = settings.UnitConversionForId; p.ProcessId = settings.ProcessId; PrepareViewBag(p); } else { return(RedirectToAction("Edit", "SaleOrderSettings", new { id = id }).Warning("Please create sale order settings")); } if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, id, settings.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "Create") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } p.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); ViewBag.Mode = "Add"; p.DocNo = new DocumentTypeService(_unitOfWork).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".SaleOrderHeaders", p.DocTypeId, p.DocDate, p.DivisionId, p.SiteId); return(View("Create", p)); }
public ActionResult Detail(int id, string transactionType, string IndexType) { ViewBag.transactionType = transactionType; ViewBag.IndexStatus = IndexType; SaleOrderHeader s = _SaleOrderHeaderService.GetSaleOrderHeader(id); SaleOrderHeaderIndexViewModel svm = Mapper.Map <SaleOrderHeader, SaleOrderHeaderIndexViewModel>(s); var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(s.DocTypeId, s.DivisionId, s.SiteId); svm.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(settings); PrepareViewBag(svm); if (s == null) { return(HttpNotFound()); } if (String.IsNullOrEmpty(transactionType) || transactionType == "detail") { LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = s.DocTypeId, DocId = s.SaleOrderHeaderId, ActivityType = (int)ActivityTypeContants.Detail, DocNo = s.DocNo, DocDate = s.DocDate, DocStatus = s.Status, })); } return(View("Create", svm)); }
// GET: /SaleOrderHeader/Edit/5 private ActionResult Edit(int id, string IndexType) { ViewBag.IndexStatus = IndexType; SaleOrderHeader s = _SaleOrderHeaderService.GetSaleOrderHeader(id); if (s == null) { return(HttpNotFound()); } if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, s.DocTypeId, null, this.ControllerContext.RouteData.Values["controller"].ToString(), "Edit") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } #region DocTypeTimeLineValidation try { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(s), DocumentTimePlanTypeConstants.Modify, User.Identity.Name, out ExceptionMsg, out Continue); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; TimePlanValidation = false; } if (!TimePlanValidation) { TempData["CSEXC"] += ExceptionMsg; } #endregion if ((!TimePlanValidation && !Continue)) { return(RedirectToAction("DetailInformation", new { id = id, IndexType = IndexType })); } SaleOrderHeaderIndexViewModel svm = Mapper.Map <SaleOrderHeader, SaleOrderHeaderIndexViewModel>(s); PrepareViewBag(svm); ViewBag.Mode = "Edit"; SaleOrderSettings temp = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(s.DocTypeId, s.DivisionId, s.SiteId); svm.SaleOrderSettings = Mapper.Map <SaleOrderSettings, SaleOrderSettingsViewModel>(temp); svm.ProcessId = temp.ProcessId; if (!(System.Web.HttpContext.Current.Request.UrlReferrer.PathAndQuery).Contains("Create")) { LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = s.DocTypeId, DocId = s.SaleOrderHeaderId, ActivityType = (int)ActivityTypeContants.Detail, DocNo = s.DocNo, DocDate = s.DocDate, DocStatus = s.Status, })); } return(View("Create", svm)); }
public ActionResult GeneratePrints(string Ids, int DocTypeId) { if (!string.IsNullOrEmpty(Ids)) { int SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; int DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var Settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettingsForDocument(DocTypeId, DivisionId, SiteId); if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, DocTypeId, Settings.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "GeneratePrints") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } try { List <byte[]> PdfStream = new List <byte[]>(); foreach (var item in Ids.Split(',').Select(Int32.Parse)) { DirectReportPrint drp = new DirectReportPrint(); var pd = context.SaleOrderHeader.Find(item); LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pd.DocTypeId, DocId = pd.SaleOrderHeaderId, ActivityType = (int)ActivityTypeContants.Print, DocNo = pd.DocNo, DocDate = pd.DocDate, DocStatus = pd.Status, })); byte[] Pdf; if (pd.Status == (int)StatusConstants.Drafted || pd.Status == (int)StatusConstants.Import || pd.Status == (int)StatusConstants.Modified) { //LogAct(item.ToString()); Pdf = drp.DirectDocumentPrint(Settings.SqlProcDocumentPrint, User.Identity.Name, item); PdfStream.Add(Pdf); } else if (pd.Status == (int)StatusConstants.Submitted || pd.Status == (int)StatusConstants.ModificationSubmitted) { Pdf = drp.DirectDocumentPrint(Settings.SqlProcDocumentPrint_AfterSubmit, User.Identity.Name, item); PdfStream.Add(Pdf); } else { Pdf = drp.DirectDocumentPrint(Settings.SqlProcDocumentPrint_AfterApprove, User.Identity.Name, item); PdfStream.Add(Pdf); } } PdfMerger pm = new PdfMerger(); byte[] Merge = pm.MergeFiles(PdfStream); if (Merge != null) { return(File(Merge, "application/pdf")); } } catch (Exception ex) { string message = _exception.HandleException(ex); return(Json(new { success = "Error", data = message }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = "Success" }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = "Error", data = "No Records Selected." }, JsonRequestBehavior.AllowGet)); }
public ActionResult _CreatePost(SaleOrderLineViewModel svm) { SaleOrderLine s = Mapper.Map <SaleOrderLineViewModel, SaleOrderLine>(svm); SaleOrderHeader temp = new SaleOrderHeaderService(_unitOfWork).Find(s.SaleOrderHeaderId); //if (Command == "Submit" && (s.ProductId == 0)) // return RedirectToAction("Submit", "SaleOrderHeader", new { id = s.SaleOrderHeaderId }).Success("Data saved successfully"); var settings = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettingsForDocument(temp.DocTypeId, temp.DivisionId, temp.SiteId); if (svm.Qty <= 0) { ModelState.AddModelError("Qty", "Please Check Qty"); } else if (svm.Rate <= 0 && settings.isMandatoryRate == true) { ModelState.AddModelError("Rate", "Please Check Rate"); } else if (svm.Amount <= 0 && settings.isMandatoryRate == true) { ModelState.AddModelError("Amount", "Please Check Amount"); } if (svm.DueDate < temp.DocDate) { ModelState.AddModelError("DueDate", "DueDate greater than DocDate"); } if (svm.SaleOrderLineId <= 0) { ViewBag.LineMode = "Create"; } else { ViewBag.LineMode = "Edit"; } if (ModelState.IsValid) { if (svm.SaleOrderLineId <= 0) { StockViewModel StockViewModel = new StockViewModel(); //Posting in Stock if (settings.isPostedInStock.HasValue && settings.isPostedInStock == true) { StockViewModel.StockHeaderId = temp.StockHeaderId ?? 0; StockViewModel.DocHeaderId = temp.SaleOrderHeaderId; StockViewModel.DocLineId = s.SaleOrderLineId; StockViewModel.DocTypeId = temp.DocTypeId; StockViewModel.StockHeaderDocDate = temp.DocDate; StockViewModel.StockDocDate = temp.DocDate; StockViewModel.DocNo = temp.DocNo; StockViewModel.DivisionId = temp.DivisionId; StockViewModel.SiteId = temp.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = null; StockViewModel.PersonId = temp.SaleToBuyerId; StockViewModel.ProductId = s.ProductId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = null; StockViewModel.GodownId = temp.GodownId ?? 0; StockViewModel.ProcessId = null; StockViewModel.LotNo = null; StockViewModel.CostCenterId = null; StockViewModel.Qty_Iss = 0; StockViewModel.Qty_Rec = s.Qty; StockViewModel.Rate = s.Rate; StockViewModel.ExpiryDate = null; StockViewModel.Specification = s.Specification; StockViewModel.Dimension1Id = s.Dimension1Id; StockViewModel.Dimension2Id = s.Dimension2Id; StockViewModel.Dimension3Id = s.Dimension3Id; StockViewModel.Dimension4Id = s.Dimension4Id; StockViewModel.Remark = s.Remark; StockViewModel.ProductUidId = null; StockViewModel.Status = temp.Status; StockViewModel.CreatedBy = temp.CreatedBy; StockViewModel.CreatedDate = DateTime.Now; StockViewModel.ModifiedBy = temp.ModifiedBy; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = new StockService(_unitOfWork).StockPost(ref StockViewModel); if (StockPostingError != "") { ModelState.AddModelError("", StockPostingError); return(PartialView("_Create", svm)); } s.StockId = StockViewModel.StockId; if (temp.StockHeaderId == null) { temp.StockHeaderId = StockViewModel.StockHeaderId; } } s.CreatedDate = DateTime.Now; s.ModifiedDate = DateTime.Now; s.CreatedBy = User.Identity.Name; s.ModifiedBy = User.Identity.Name; s.ObjectState = Model.ObjectState.Added; _SaleOrderLineService.Create(s); new SaleOrderLineStatusService(_unitOfWork).CreateLineStatus(s.SaleOrderLineId); SaleOrderHeader header = new SaleOrderHeaderService(_unitOfWork).Find(s.SaleOrderHeaderId); if (temp.StockHeaderId != null && temp.StockHeaderId != 0) { header.StockHeaderId = temp.StockHeaderId; } 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 SaleOrderHeaderService(_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.SaleOrderHeaderId, DocLineId = s.SaleOrderLineId, ActivityType = (int)ActivityTypeContants.Added, DocNo = header.DocNo, DocDate = header.DocDate, DocStatus = header.Status, })); return(RedirectToAction("_Create", new { id = s.SaleOrderHeaderId })); } else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); SaleOrderHeader header = new SaleOrderHeaderService(_unitOfWork).Find(svm.SaleOrderHeaderId); StringBuilder logstring = new StringBuilder(); int status = header.Status; SaleOrderLine temp1 = _SaleOrderLineService.Find(svm.SaleOrderLineId); SaleOrderLine ExRec = new SaleOrderLine(); ExRec = Mapper.Map <SaleOrderLine>(temp1); //End of Tracking the Modifications:: if (temp1.StockId != null) { StockViewModel StockViewModel = new StockViewModel(); StockViewModel.StockHeaderId = temp.StockHeaderId ?? 0; StockViewModel.StockId = temp1.StockId ?? 0; StockViewModel.DocHeaderId = temp1.SaleOrderHeaderId; StockViewModel.DocLineId = temp1.SaleOrderLineId; StockViewModel.DocTypeId = temp.DocTypeId; StockViewModel.StockHeaderDocDate = temp.DocDate; StockViewModel.StockDocDate = temp.DocDate; StockViewModel.DocNo = temp.DocNo; StockViewModel.DivisionId = temp.DivisionId; StockViewModel.SiteId = temp.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = null; StockViewModel.PersonId = temp.SaleToBuyerId; StockViewModel.ProductId = s.ProductId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = temp.GodownId; StockViewModel.GodownId = temp.GodownId ?? 0; StockViewModel.ProcessId = null; StockViewModel.LotNo = null; StockViewModel.CostCenterId = null; StockViewModel.Qty_Iss = 0; StockViewModel.Qty_Rec = s.Qty; StockViewModel.Rate = temp1.Rate; StockViewModel.ExpiryDate = null; StockViewModel.Specification = temp1.Specification; StockViewModel.Dimension1Id = temp1.Dimension1Id; StockViewModel.Dimension2Id = temp1.Dimension2Id; StockViewModel.Dimension3Id = temp1.Dimension3Id; StockViewModel.Dimension4Id = temp1.Dimension4Id; StockViewModel.Remark = s.Remark; StockViewModel.ProductUidId = null; StockViewModel.Status = temp.Status; StockViewModel.CreatedBy = temp1.CreatedBy; StockViewModel.CreatedDate = temp1.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)); } } temp1.DueDate = svm.DueDate; temp1.ProductId = svm.ProductId ?? 0; temp1.Specification = svm.Specification; temp1.Dimension1Id = svm.Dimension1Id; temp1.Dimension2Id = svm.Dimension2Id; temp1.Dimension3Id = svm.Dimension3Id; temp1.Dimension4Id = svm.Dimension4Id; temp1.Qty = svm.Qty ?? 0; 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; _SaleOrderLineService.Update(temp1); 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 SaleOrderHeaderService(_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.SaleOrderHeaderId, DocLineId = temp1.SaleOrderLineId, 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 })); } } ViewBag.Status = temp.Status; PrepareViewBag(temp); return(PartialView("_Create", svm)); }
public ActionResult SaleOrderExcelImport(int id) { int BuyerId = 0; var file = Request.Files[0]; string filePath = Request.MapPath(ConfigurationManager.AppSettings["ExcelFilePath"] + file.FileName); file.SaveAs(filePath); var excel = new ExcelQueryFactory(); //excel.FileName =ConfigurationManager.AppSettings["ExcelFilePath"]; // @"C:\Users\guru\Downloads\PO.xls"; //TODO: Rempve hardcode excel.FileName = filePath; var SaleOrderRecordList = from c in excel.Worksheet <SaleOrderExcel>() select c; StringBuilder strSku = new StringBuilder(); StringBuilder strSaleToBuyer = new StringBuilder(); StringBuilder strBillToBuyer = new StringBuilder(); StringBuilder strCurrency = new StringBuilder(); StringBuilder strShipMethod = new StringBuilder(); StringBuilder strDeliveryTerms = new StringBuilder(); StringBuilder strPriority = new StringBuilder(); StringBuilder strOrderNo = new StringBuilder(); foreach (var SaleOrderRecord in SaleOrderRecordList) { if (_SaleOrderHeaderService.FindByDocNo(SaleOrderRecord.OrderNumber) != null) { if (!strOrderNo.ToString().Contains("" + SaleOrderRecord.OrderNumber)) { strOrderNo.Append(" " + SaleOrderRecord.OrderNumber + ","); } } if (_ProductService.Find(SaleOrderRecord.Product) == null) { if (!strSku.ToString().Contains("" + SaleOrderRecord.Product)) { strSku.Append(" " + SaleOrderRecord.Product + ","); } } if (SaleOrderRecord.SaleToBuyer != null) { if (_BuyerService.GetBuyerByName(SaleOrderRecord.SaleToBuyer) == null) { if (!strSaleToBuyer.ToString().Contains("" + SaleOrderRecord.SaleToBuyer)) { strSaleToBuyer.Append(" " + SaleOrderRecord.SaleToBuyer + ","); } } } if (SaleOrderRecord.BillToBuyer != null) { if (_BuyerService.GetBuyerByName(SaleOrderRecord.BillToBuyer) == null) { if (!strBillToBuyer.ToString().Contains("" + SaleOrderRecord.BillToBuyer)) { strBillToBuyer.Append(" " + SaleOrderRecord.BillToBuyer + ","); } } } if (SaleOrderRecord.Currency != null) { if (_currencyService.GetCurrencyByName(SaleOrderRecord.Currency) == null) { if (!strCurrency.ToString().Contains("" + SaleOrderRecord.Currency)) { strCurrency.Append(" " + SaleOrderRecord.Currency + ","); } } } if (SaleOrderRecord.ShipMethod != null) { if (_ShipMethodService.GetShipMethodByName(SaleOrderRecord.ShipMethod) == null) { if (!strShipMethod.ToString().Contains("" + SaleOrderRecord.ShipMethod)) { strShipMethod.Append(" " + SaleOrderRecord.ShipMethod + ","); } } } if (SaleOrderRecord.DeliveryTerms != null) { if (_DeliveryTermsService.GetDeliveryTermsByName(SaleOrderRecord.DeliveryTerms) == null) { if (!strDeliveryTerms.ToString().Contains("" + SaleOrderRecord.DeliveryTerms)) { strDeliveryTerms.Append(" " + SaleOrderRecord.DeliveryTerms + ","); } } } if (SaleOrderRecord.Priority != null) { if (Enum.IsDefined(typeof(SaleOrderPriority), SaleOrderRecord.Priority) == false) { if (!strPriority.ToString().Contains("" + SaleOrderRecord.Priority)) { strPriority.Append(" " + SaleOrderRecord.Priority + ","); } } } } if (!string.IsNullOrEmpty(strSku.ToString()) || !string.IsNullOrEmpty(strOrderNo.ToString()) || !string.IsNullOrEmpty(strSaleToBuyer.ToString()) || !string.IsNullOrEmpty(strBillToBuyer.ToString()) || !string.IsNullOrEmpty(strCurrency.ToString()) || !string.IsNullOrEmpty(strShipMethod.ToString()) || !string.IsNullOrEmpty(strDeliveryTerms.ToString()) || !string.IsNullOrEmpty(strPriority.ToString())) { if (string.IsNullOrEmpty(strOrderNo.ToString())) { ViewBag.orderno = null; } else { ViewBag.orderno = strOrderNo; } if (string.IsNullOrEmpty(strSku.ToString())) { ViewBag.product = null; } else { ViewBag.product = strSku; } if (string.IsNullOrEmpty(strSaleToBuyer.ToString())) { ViewBag.SaleToBuyer = null; } else { ViewBag.SaleToBuyer = strSaleToBuyer; } if (string.IsNullOrEmpty(strBillToBuyer.ToString())) { ViewBag.BillToBuyer = null; } else { ViewBag.BillToBuyer = strBillToBuyer; } if (string.IsNullOrEmpty(strCurrency.ToString())) { ViewBag.Currency = null; } else { ViewBag.Currency = strCurrency; } if (string.IsNullOrEmpty(strShipMethod.ToString())) { ViewBag.ShipMethod = null; } else { ViewBag.ShipMethod = strShipMethod; } if (string.IsNullOrEmpty(strDeliveryTerms.ToString())) { ViewBag.DeliveryTerms = null; } else { ViewBag.DeliveryTerms = strDeliveryTerms; } if (string.IsNullOrEmpty(strPriority.ToString())) { ViewBag.Priority = null; } else { ViewBag.Priority = strPriority; } return(View()); } else { string previousRecord = null; int count = 0; SaleOrderHeader stemp = new SaleOrderHeader(); int LinePk = 0; foreach (var SaleOrderRecord in SaleOrderRecordList) { if (count == 0 || SaleOrderRecord.OrderNumber != previousRecord) { //Object for SaleorderHeader Model to Save Order Num,Order Date, Ship Date and Supplier SaleOrderHeader s = new SaleOrderHeader(); if (SaleOrderRecord.ShipAddress != null) { s.ShipAddress = SaleOrderRecord.ShipAddress; } s.DocDate = SaleOrderRecord.OrderDate; s.DocNo = SaleOrderRecord.OrderNumber; s.DueDate = SaleOrderRecord.DueDate; s.ActualDueDate = SaleOrderRecord.DueDate; s.BuyerOrderNo = SaleOrderRecord.BuyerOrderNo; s.CreatedDate = DateTime.Now; s.ModifiedDate = DateTime.Now; s.CreatedBy = User.Identity.Name; s.ModifiedBy = User.Identity.Name; s.SaleToBuyerId = _BuyerService.GetBuyerByName(SaleOrderRecord.SaleToBuyer).PersonID; if (SaleOrderRecord.BillToBuyer != null) { s.BillToBuyerId = _BuyerService.GetBuyerByName(SaleOrderRecord.BillToBuyer).PersonID; } else { s.BillToBuyerId = s.SaleToBuyerId; } BuyerId = s.SaleToBuyerId; s.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; s.SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; SaleOrderSettings temp = new SaleOrderSettingsService(_unitOfWork).GetSaleOrderSettings(id, s.DivisionId, s.SiteId); if (temp == null) { throw new Exception("Sale order settings is not configured"); } if (SaleOrderRecord.Currency != null) { s.CurrencyId = _currencyService.GetCurrencyByName(SaleOrderRecord.Currency).ID; } else { s.CurrencyId = temp.CurrencyId; } if (SaleOrderRecord.ShipMethod == null) { s.ShipMethodId = temp.ShipMethodId; } else { s.ShipMethodId = _ShipMethodService.GetShipMethodByName(SaleOrderRecord.ShipMethod).ShipMethodId; } if (SaleOrderRecord.DeliveryTerms == null) { s.DeliveryTermsId = temp.DeliveryTermsId; } else { s.DeliveryTermsId = _DeliveryTermsService.GetDeliveryTermsByName(SaleOrderRecord.DeliveryTerms).DeliveryTermsId; } if (SaleOrderRecord.Priority == null) { s.Priority = temp.Priority; } else if (SaleOrderRecord.Priority == "Low") { s.Priority = (int)(SaleOrderPriority.Low); } else if (SaleOrderRecord.Priority == "High") { s.Priority = (int)(SaleOrderPriority.High); } else { s.Priority = (int)(SaleOrderPriority.Normal); } if (temp != null) { s.DocTypeId = temp.DocTypeId; s.UnitConversionForId = temp.UnitConversionForId; } _SaleOrderHeaderService.Create(s); stemp = s; } //Object for SaleOrderLineDetail Model to Save Rate, Quantity, Product Product product = _ProductService.Find(SaleOrderRecord.Product); SaleOrderLine sl = new SaleOrderLine(); sl.SaleOrderHeaderId = stemp.SaleOrderHeaderId; sl.Rate = (decimal)SaleOrderRecord.Rate; sl.Qty = SaleOrderRecord.Quantity; sl.ProductId = product.ProductId; sl.Specification = product.ProductSpecification; sl.DueDate = SaleOrderRecord.DueDate; sl.DealUnitId = product.UnitId; sl.CreatedDate = DateTime.Now; sl.ModifiedDate = DateTime.Now; sl.DealQty = SaleOrderRecord.Quantity; sl.CreatedBy = User.Identity.Name; sl.ModifiedBy = User.Identity.Name; sl.Amount = sl.Rate * sl.Qty; sl.SaleOrderLineId = LinePk++; if (SaleOrderRecord.BuyerUpcCode != "" && SaleOrderRecord.BuyerUpcCode != null) { ProductBuyer productbuyer = new ProductBuyerService(_unitOfWork).Find(BuyerId, sl.ProductId); if (productbuyer != null) { productbuyer.BuyerUpcCode = SaleOrderRecord.BuyerUpcCode; new ProductBuyerService(_unitOfWork).Update(productbuyer); } else { ProductBuyer Temp = new ProductBuyer(); Temp.BuyerId = BuyerId; Temp.ProductId = sl.ProductId; Temp.BuyerUpcCode = SaleOrderRecord.BuyerUpcCode; Temp.CreatedDate = DateTime.Now; Temp.ModifiedDate = DateTime.Now; Temp.CreatedBy = User.Identity.Name; Temp.ModifiedBy = User.Identity.Name; Temp.ObjectState = Model.ObjectState.Added; new ProductBuyerService(_unitOfWork).Create(Temp); } } _SaleOrderLineService.Create(sl); new SaleOrderLineStatusService(_unitOfWork).CreateLineStatus(sl.SaleOrderLineId); count++; previousRecord = SaleOrderRecord.OrderNumber; _unitOfWork.Save(); } ViewBag.id = id; return(View("Sucess")); } }