Exemplo n.º 1
0
        public JsonResult NetworkCredit_Update(EditNetworkCreditRequest request)
        {
            GeneralResponse response = new GeneralResponse();

            #region Access Check

            bool hasPermission = GetEmployee().IsGuaranteed("Network_Update");
            if (!hasPermission)
            {
                response.ErrorMessages.Add("AccessDenied");
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            #endregion


            response = _networkCreditService.EditNetworkCredit(request, GetEmployee().ID);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public GeneralResponse EditNetworkCredit(EditNetworkCreditRequest request, Guid ModifiedEmployeeID)
        {
            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(ModifiedEmployeeID);
                    networkCredit.Amount           = request.Amount;
                    if (networkCredit.FromAccount.ID != request.FromAccountID)
                    {
                        networkCredit.FromAccount = this._moneyAccountRepository.FindBy(request.FromAccountID);
                    }
                    if (request.InvestDate != null)
                    {
                        networkCredit.InvestDate = request.InvestDate;
                    }
                    if (request.NetworkID != networkCredit.Network.ID)
                    {
                        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);
        }