public ActionResult Edit(string id, NetworkCreditDetailView networkCreditDetailView) { networkCreditDetailView.EmployeeView = GetEmployee(); #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("NetworkCredit_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(networkCreditDetailView)); } #endregion if (ModelState.IsValid) { try { #region DropDownList For MoneyAccounts networkCreditDetailView.MoneyAccountViews = _moneyAccountService.GetBankAccounts().MoneyAccountViews; List <DropDownItem> list = new List <DropDownItem>(); list.Add(new DropDownItem { Value = Guid.Empty, Text = "انتخاب نشده" }); foreach (MoneyAccountView moneyAccountView in networkCreditDetailView.MoneyAccountViews) { list.Add(new DropDownItem { Value = moneyAccountView.ID.ToString(), Text = moneyAccountView.AccountName }); } var selectList = new SelectList(list, "Value", "Text"); ViewData["BankAccounts"] = selectList; #endregion EditNetworkCreditRequestOld request = new EditNetworkCreditRequestOld(); networkCreditDetailView.NetworkCreditView.Amount = Math.Abs(networkCreditDetailView.NetworkCreditView.Amount); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; if (networkCreditDetailView.NetworkCreditView.TypeForCreate == "برداشت") { request.Amount = -networkCreditDetailView.NetworkCreditView.Amount; } else { request.Amount = networkCreditDetailView.NetworkCreditView.Amount; } request.FromAccountID = networkCreditDetailView.NetworkCreditView.FromAccountID; request.InvestDate = networkCreditDetailView.NetworkCreditView.InvestDate; request.NetworkID = networkCreditDetailView.NetworkCreditView.NetworkID; request.ToAccount = networkCreditDetailView.NetworkCreditView.ToAccount; request.Note = networkCreditDetailView.NetworkCreditView.Note; request.TransactionNo = networkCreditDetailView.NetworkCreditView.TransactionNo; request.RowVersion = networkCreditDetailView.NetworkCreditView.RowVersion; GeneralResponse response = this._networkCreditService.EditNetworkCredit(request); if (response.success) { return(RedirectToAction("Index/" + request.NetworkID)); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(networkCreditDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(networkCreditDetailView)); } } return(View(networkCreditDetailView)); }
public GeneralResponse EditNetworkCredit(EditNetworkCreditRequestOld request) { GeneralResponse response = new GeneralResponse(); NetworkCredit networkCredit = new NetworkCredit(); networkCredit = _networkCreditRepository.FindBy(request.ID); if (networkCredit != null) { try { networkCredit.ModifiedDate = PersianDateTime.Now; networkCredit.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); networkCredit.Amount = request.Amount; networkCredit.FromAccount = this._moneyAccountRepository.FindBy(request.FromAccountID); if (request.InvestDate != null) { networkCredit.InvestDate = request.InvestDate; } if (request.NetworkID != null) { networkCredit.Network = this._networkRepository.FindBy(request.NetworkID); } networkCredit.Note = request.Note; networkCredit.ToAccount = request.ToAccount; networkCredit.TransactionNo = request.TransactionNo; if (networkCredit.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { networkCredit.RowVersion += 1; } if (networkCredit.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in networkCredit.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _networkCreditRepository.Save(networkCredit); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("NoItemToEditKey"); } return(response); }