Ejemplo n.º 1
0
        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)));
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
 public async Task <IEnumerable <BankViewModel> > GetAll()
 {
     return((await bankRepository.GetAll()).Select(p => BankViewModel.MapFromData(p)));
 }