// GET: /PurchaseQuotationHeaderMaster/Create public ActionResult Create(int id)//DocumentTypeId { PrepareViewBag(id); PurchaseQuotationHeaderViewModel vm = new PurchaseQuotationHeaderViewModel(); vm.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; vm.SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; vm.CreatedDate = DateTime.Now; //Getting Settings var settings = new PurchaseQuotationSettingService(_unitOfWork).GetPurchaseQuotationSettingForDocument(id, vm.DivisionId, vm.SiteId); if (settings == null && UserRoles.Contains("SysAdmin")) { return(RedirectToAction("Create", "PurchaseQuotationSetting", new { id = id }).Warning("Please create Purchase Invoice settings")); } else if (settings == null && !UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } vm.PurchaseQuotationSettings = Mapper.Map <PurchaseQuotationSetting, PurchaseQuotationSettingsViewModel>(settings); vm.UnitConversionForId = settings.UnitConversionForId; vm.CalculateDiscountOnRate = settings.CalculateDiscountOnRate; vm.DocDate = DateTime.Now; vm.VendorQuotationDate = DateTime.Now; vm.DocTypeId = id; vm.DocNo = new DocumentTypeService(_unitOfWork).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".PurchaseQuotationHeaders", vm.DocTypeId, vm.DocDate, vm.DivisionId, vm.SiteId); vm.VendorQuotationNo = vm.DocNo; ViewBag.Mode = "Add"; return(View("Create", vm)); }
public ActionResult WizardPost(PurchaseQuotationHeaderViewModel Header, List <item> Lines) { if (ModelState.IsValid) { PurchaseQuotationHeader Head = new PurchaseQuotationHeader(); Head.CreatedBy = User.Identity.Name; Head.DocTypeId = 281; Head.CreatedDate = DateTime.Now; Head.CurrencyId = Header.CurrencyId; Head.SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; Head.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; Head.DocDate = Header.DocDate; Head.DocNo = Header.DocNo; Head.ModifiedBy = User.Identity.Name; Head.ModifiedDate = DateTime.Now; Head.Remark = Header.Remark; Head.SupplierId = Header.SupplierId; Head.TermsAndConditions = Header.TermsAndConditions; Head.VendorQuotationDate = Header.VendorQuotationDate; Head.VendorQuotationNo = Header.VendorQuotationNo; Head.ObjectState = Model.ObjectState.Added; db.PurchaseQuotationHeader.Add(Head); foreach (var item in Lines) { PurchaseQuotationLine Line = new PurchaseQuotationLine(); Line.CreatedBy = User.Identity.Name; Line.CreatedDate = DateTime.Now; Line.ModifiedBy = User.Identity.Name; Line.ModifiedDate = DateTime.Now; Line.ProductId = item.id; Line.PurchaseQuotationHeaderId = Head.PurchaseQuotationHeaderId; Line.Qty = item.Qty; Line.ObjectState = Model.ObjectState.Added; db.PurchaseQuotationLine.Add(Line); } try { db.SaveChanges(); } catch (Exception ex) { return(Json(new { Success = false, Message = _exception.HandleException(ex) })); } return(Json(new { Success = true, url = "/PurchaseQuotationHeader/Index" })); } return(Json(new { Success = false, Message = "Error in saving record. Cannot continue." })); }
public ActionResult Detail(int id, string IndexType, string transactionType, int?DocLineId) { ViewBag.transactionType = transactionType; ViewBag.IndexStatus = IndexType; PurchaseQuotationHeaderViewModel pt = _PurchaseQuotationHeaderService.GetPurchaseQuotationHeader(id); PrepareViewBag(pt.DocTypeId); if (pt == null) { return(HttpNotFound()); } //Job Order Settings var settings = new PurchaseQuotationSettingService(_unitOfWork).GetPurchaseQuotationSettingForDocument(pt.DocTypeId, pt.DivisionId, pt.SiteId); if (settings == null && UserRoles.Contains("SysAdmin")) { return(RedirectToAction("Create", "PurchaseQuotationSetting", new { id = pt.DocTypeId }).Warning("Please create Purchase Invoice settings")); } else if (settings == null && !UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } pt.PurchaseQuotationSettings = Mapper.Map <PurchaseQuotationSetting, PurchaseQuotationSettingsViewModel>(settings); if (String.IsNullOrEmpty(transactionType) || transactionType == "detail") { LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pt.DocTypeId, DocId = pt.PurchaseQuotationHeaderId, ActivityType = (int)ActivityTypeContants.Detail, DocNo = pt.DocNo, DocDate = pt.DocDate, DocStatus = pt.Status, })); } return(View("Create", pt)); }
// GET: /ProductMaster/Edit/5 private ActionResult Edit(int id, string IndexType) { ViewBag.IndexStatus = IndexType; PurchaseQuotationHeaderViewModel pt = _PurchaseQuotationHeaderService.GetPurchaseQuotationHeader(id); PrepareViewBag(pt.DocTypeId); if (pt == null) { return(HttpNotFound()); } #region DocTypeTimeLineValidation try { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(pt), 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 })); } //Job Order Settings var settings = new PurchaseQuotationSettingService(_unitOfWork).GetPurchaseQuotationSettingForDocument(pt.DocTypeId, pt.DivisionId, pt.SiteId); if (settings == null && UserRoles.Contains("SysAdmin")) { return(RedirectToAction("Create", "PurchaseQuotationSetting", new { id = pt.DocTypeId }).Warning("Please create Purchase Invoice settings")); } else if (settings == null && !UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } pt.PurchaseQuotationSettings = Mapper.Map <PurchaseQuotationSetting, PurchaseQuotationSettingsViewModel>(settings); ViewBag.Mode = "Edit"; if (!(System.Web.HttpContext.Current.Request.UrlReferrer.PathAndQuery).Contains("Create")) { LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pt.DocTypeId, DocId = pt.PurchaseQuotationHeaderId, ActivityType = (int)ActivityTypeContants.Detail, DocNo = pt.DocNo, DocDate = pt.DocDate, DocStatus = pt.Status, })); } return(View("Create", pt)); }
public ActionResult Post(PurchaseQuotationHeaderViewModel vm) { PurchaseQuotationHeader pt = AutoMapper.Mapper.Map <PurchaseQuotationHeaderViewModel, PurchaseQuotationHeader>(vm); //Getting Settings var settings = new PurchaseQuotationSettingService(_unitOfWork).GetPurchaseQuotationSettingForDocument(vm.DocTypeId, vm.DivisionId, vm.SiteId); if (vm.BillingAccountId <= 0) { ModelState.AddModelError("BillingAccountId", "The Billing Account field is required"); } #region BeforeSave bool BeforeSave = true; //try //{ // if (vm.PurchaseQuotationHeaderId <= 0) // BeforeSave = PurchaseQuotationReceiveDocEvents.beforeHeaderSaveEvent(this, new PurchaseEventArgs(vm.PurchaseQuotationHeaderId, EventModeConstants.Add), ref db); // else // BeforeSave = PurchaseQuotationReceiveDocEvents.beforeHeaderSaveEvent(this, new PurchaseEventArgs(vm.PurchaseQuotationHeaderId, EventModeConstants.Edit), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; // EventException = true; //} //if (!BeforeSave) // TempData["CSEXC"] += "Failed validation before save"; #endregion #region DocTypeTimeLineValidation try { if (vm.PurchaseQuotationHeaderId <= 0) { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(vm), DocumentTimePlanTypeConstants.Create, User.Identity.Name, out ExceptionMsg, out Continue); } else { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(vm), 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 (ModelState.IsValid && BeforeSave && !EventException && (TimePlanValidation || Continue)) { #region CreateRecord if (vm.PurchaseQuotationHeaderId <= 0) { pt.CalculateDiscountOnRate = vm.CalculateDiscountOnRate; pt.DivisionId = vm.DivisionId; pt.SiteId = vm.SiteId; pt.CreatedDate = DateTime.Now; pt.ModifiedDate = DateTime.Now; pt.CreatedBy = User.Identity.Name; pt.ModifiedBy = User.Identity.Name; pt.ObjectState = Model.ObjectState.Added; db.PurchaseQuotationHeader.Add(pt); //_PurchaseQuotationHeaderService.Create(pt); //try //{ // PurchaseQuotationReceiveDocEvents.onHeaderSaveEvent(this, new PurchaseEventArgs(pt.PurchaseQuotationHeaderId, EventModeConstants.Add), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; // EventException = true; //} try { if (EventException) { throw new Exception(); } db.SaveChanges(); //_unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; PrepareViewBag(vm.DocTypeId); ViewBag.Mode = "Add"; return(View("Create", vm)); } //try //{ // PurchaseQuotationReceiveDocEvents.afterHeaderSaveEvent(this, new PurchaseEventArgs(pt.PurchaseQuotationHeaderId, EventModeConstants.Add), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; //} LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pt.DocTypeId, DocId = pt.PurchaseQuotationHeaderId, ActivityType = (int)ActivityTypeContants.Added, DocNo = pt.DocNo, DocDate = pt.DocDate, DocStatus = pt.Status, })); //return Edit(pt.PurchaseQuotationHeaderId).Success("Data saved successfully"); return(RedirectToAction("Modify", new { id = pt.PurchaseQuotationHeaderId }).Success("Data saved Successfully")); } #endregion #region EditRecord else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); PurchaseQuotationHeader temp = _PurchaseQuotationHeaderService.Find(pt.PurchaseQuotationHeaderId); PurchaseQuotationHeader ExRec = new PurchaseQuotationHeader(); ExRec = Mapper.Map <PurchaseQuotationHeader>(temp); int status = temp.Status; if (temp.Status != (int)StatusConstants.Drafted) { temp.Status = (int)StatusConstants.Modified; } temp.DocTypeId = pt.DocTypeId; temp.CurrencyId = pt.CurrencyId; temp.VendorQuotationNo = pt.VendorQuotationNo; temp.VendorQuotationDate = pt.VendorQuotationDate; temp.TermsAndConditions = pt.TermsAndConditions; temp.SalesTaxGroupId = pt.SalesTaxGroupId; temp.UnitConversionForId = pt.UnitConversionForId; temp.CreditDays = pt.CreditDays; temp.Remark = pt.Remark; temp.SupplierId = pt.SupplierId; temp.BillingAccountId = pt.BillingAccountId; temp.DocDate = pt.DocDate; temp.DocNo = pt.DocNo; temp.ModifiedDate = DateTime.Now; temp.ModifiedBy = User.Identity.Name; temp.ObjectState = Model.ObjectState.Modified; db.PurchaseQuotationHeader.Add(temp); //_PurchaseQuotationHeaderService.Update(temp); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = temp, }); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); //try //{ // PurchaseQuotationReceiveDocEvents.onHeaderSaveEvent(this, new PurchaseEventArgs(temp.PurchaseQuotationHeaderId, EventModeConstants.Edit), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; // EventException = true; //} try { if (EventException) { throw new Exception(); } db.SaveChanges(); //_unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; PrepareViewBag(vm.DocTypeId); ViewBag.Mode = "Edit"; return(View("Create", pt)); } //try //{ // PurchaseQuotationReceiveDocEvents.afterHeaderSaveEvent(this, new PurchaseEventArgs(temp.PurchaseQuotationHeaderId, EventModeConstants.Edit), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; //} LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = temp.DocTypeId, DocId = temp.PurchaseQuotationHeaderId, ActivityType = (int)ActivityTypeContants.Modified, DocNo = temp.DocNo, xEModifications = Modifications, DocDate = temp.DocDate, DocStatus = temp.Status, })); return(RedirectToAction("Index", new { id = vm.DocTypeId }).Success("Data saved successfully")); } #endregion } PrepareViewBag(vm.DocTypeId); ViewBag.Mode = "Add"; return(View("Create", vm)); }