public GeneralResponse AddCreditService(AddCreditServiceRequestOld request) { GeneralResponse response = new GeneralResponse(); try { CreditService creditService = new CreditService(); creditService.ID = Guid.NewGuid(); creditService.CreateDate = PersianDateTime.Now; creditService.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID); creditService.CreditServiceCode = request.CreditServiceCode; creditService.Discontinued = request.Discontinued; creditService.ExpDays = request.ExpDays; creditService.Imposition = request.Imposition; creditService.MaxDiscount = request.MaxDiscount; creditService.Network = this._networkRepository.FindBy(request.NetworkID); creditService.PurchaseUnitPrice = request.PurchaseUnitPrice; creditService.ResellerUnitPrice = request.ResellerUnitPrice; creditService.ServiceName = request.ServiceName; creditService.UnitPrice = request.UnitPrice; creditService.Note = request.Note; creditService.Discontinued = request.Discontinued; creditService.SortOrder = GetSortOrder(); creditService.RowVersion = 1; // Validation if (creditService.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in creditService.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _creditServiceRepository.Add(creditService); _uow.Commit(); } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException.Message.Substring(0, 177) == @"The INSERT statement conflicted with the CHECK constraint ""CK_CreditService"". The conflict occurred in database ""Saman"", table ""Store.CreditService"", column 'CreditServiceCode'.") { response.ErrorMessages.Add("MustBeBegin3000Key"); } else { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } } return(response); }
public ActionResult Create(CreditServiceDetailView creditServiceDetailView) { creditServiceDetailView.EmployeeView = GetEmployee(); #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("CreditService_Insert"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(creditServiceDetailView)); } #endregion #region DropDownList For Network creditServiceDetailView.NetworkViews = _networkService.GetNetworks().NetworkViews; List <DropDownItem> list = new List <DropDownItem>(); if (creditServiceDetailView.NetworkViews != null) { foreach (NetworkView networkView in creditServiceDetailView.NetworkViews) { list.Add(new DropDownItem { Value = networkView.ID.ToString(), Text = networkView.NetworkName }); } } var selectList = new SelectList(list, "Value", "Text"); ViewData["Networks"] = selectList; #endregion if (ModelState.IsValid) { try { AddCreditServiceRequestOld request = new AddCreditServiceRequestOld(); request.CreateEmployeeID = GetEmployee().ID; request.CreditServiceCode = creditServiceDetailView.CreditServiceView.CreditServiceCode; request.Discontinued = creditServiceDetailView.CreditServiceView.Discontinued; request.ExpDays = creditServiceDetailView.CreditServiceView.ExpDays; request.Imposition = creditServiceDetailView.CreditServiceView.Imposition; request.MaxDiscount = Convert.ToInt64(creditServiceDetailView.CreditServiceView.MaxDiscount); request.Note = creditServiceDetailView.CreditServiceView.Note; request.NetworkID = creditServiceDetailView.CreditServiceView.NetworkID; request.PurchaseUnitPrice = Convert.ToInt64(creditServiceDetailView.CreditServiceView.PurchaseUnitPrice); request.ResellerUnitPrice = Convert.ToInt64(creditServiceDetailView.CreditServiceView.ResellerUnitPrice); request.ServiceName = creditServiceDetailView.CreditServiceView.ServiceName; request.UnitPrice = Convert.ToInt64(creditServiceDetailView.CreditServiceView.UnitPrice); GeneralResponse response = this._creditServiceService.AddCreditService(request); if (!response.hasError) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(creditServiceDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(creditServiceDetailView)); } } return(View(creditServiceDetailView)); }