public BankViewModel GetById(int id) { if (id == 0) { throw new ValidationException("Enter value more than zero."); } var spec = new BankByIdSpec(id); return(BankViewModel.MapFromData(bankRepository.FindOne(spec))); }
public IEnumerable <BankViewModel> GetByCode(string code) { if (string.IsNullOrWhiteSpace(code)) { throw new ValidationException("Enter code first before find."); } var codeLikeSpec = new CodeLikeSpecification(code); return(bankRepository.Find(codeLikeSpec).Select(p => BankViewModel.MapFromData(p)).ToList()); }
public BankViewModel AddBank(BankViewModel model) { var bankCodeSpec = new BankByBankCodeSpec(model.BankCode); var existedBank = bankRepository.FindOne(bankCodeSpec); if (existedBank != null) { throw new ValidationException($"Bank with code {model.BankCode} already exist. Enter another one."); } var bank = Bank.Create(model.Name, model.IsGroup, model.ParentId, model.BankCode, model.CorrAccount, model.Address, model.Phones, model.City); try { unitOfWork.BeginTransaction(); bankRepository.Add(bank); unitOfWork.Commit(); } catch (System.Exception) { unitOfWork.Rollback(); throw; } return(BankViewModel.MapFromData(bank)); }
public async Task <IEnumerable <BankViewModel> > GetAll() { return((await bankRepository.GetAll()).Select(p => BankViewModel.MapFromData(p))); }