public void Delete(ForeignBank entity) { var count = foreignBankRepository.Query <ForeignBankAccount>().Where(x => x.Bank.Id == entity.Id).CountDistinct(); if (count > 0) { throw new Exception("Невозможно удалить банк, так как с ним связаны расчетные счета организаций."); } entity.DeletionDate = DateTime.Now; foreignBankRepository.Delete(entity); }
public void CheckBankUniqueness(ForeignBank bank) { // проверяем SWIFT-код if (foreignBankRepository.Query <ForeignBank>().Where(x => x.SWIFT == bank.SWIFT && x.Id != bank.Id).CountDistinct() > 0) { throw new Exception("Банк с таким SWIFT-кодом уже создан. Укажите другой SWIFT-код."); } // проверяем название банка if (foreignBankRepository.Query <Bank>().Where(x => x.Name == bank.Name && x.Id != bank.Id).CountDistinct() > 0) { throw new Exception("Банк с таким именем уже создан. Укажите другое имя."); } }
public ForeignBankAccount(ForeignBank bank, string number, Currency currency) : base(bank, number, currency) { }
public void Save(ForeignBank entity) { CheckBankUniqueness(entity); foreignBankRepository.Save(entity); }
public void Delete(ForeignBank entity) { CurrentSession.SaveOrUpdate(entity); }