public GeneralResponse AddNetworkCredit(AddNetworkCreditRequest request, Guid CreateEmployeeID) { GeneralResponse response = new GeneralResponse(); try { NetworkCredit networkCredit = new NetworkCredit(); networkCredit.ID = Guid.NewGuid(); networkCredit.CreateDate = PersianDateTime.Now; networkCredit.CreateEmployee = _employeeRepository.FindBy(CreateEmployeeID); if (request.Type) { networkCredit.Amount = request.Amount; } else { networkCredit.Amount = -request.Amount; } networkCredit.FromAccount = this._moneyAccountRepository.FindBy(request.FromAccountID); networkCredit.InvestDate = request.InvestDate; networkCredit.Network = this._networkRepository.FindBy(request.NetworkID); networkCredit.Note = request.Note; networkCredit.ToAccount = request.ToAccount; networkCredit.TransactionNo = request.TransactionNo; networkCredit.RowVersion = 1; networkCredit.Balance += networkCredit.Network.Balance + networkCredit.Amount; _networkCreditRepository.Add(networkCredit); Network network = networkCredit.Network; network.Balance += request.Amount; _networkRepository.Save(network); _uow.Commit(); ////response.success = true; // Validation if (networkCredit.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in networkCredit.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } return(response); }
public GeneralResponse EditNetwork(EditNetworkRequestOld request) { GeneralResponse response = new GeneralResponse(); Network network = new Network(); network = _networkRepository.FindBy(request.ID); if (network != null) { try { network.ModifiedDate = PersianDateTime.Now; network.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); network.DeliverWhenCreditLow = request.DeliverWhenCreditLow; if (request.NetworkName != null) { network.NetworkName = request.NetworkName; } if (request.Note != null) { network.Note = request.Note; } if (network.RowVersion != request.RowVersion) { response.ErrorMessages.Add("کارشناس محترم، یک کاربر همزمان با شما در حال ویرایش این رکورد است. بنابراین اطلاعات شما ذخیره نمی شود."); return(response); } else { network.RowVersion += 1; } if (network.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in network.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _networkRepository.Save(network); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("هیچ موردی جهت ویرایش وجود ندارد."); } return(response); }