public void Add(ExpenseDTO item) { // Найти в бд связанные сущности для списания. Cartridge cart = Database.Cartridges.Get(item.Cartridge.Id); User user = Database.Users.Get(item.User.Id); Osp osp = Database.Osps.Get(item.OspId); // Найти баланс ОСП с картриджем списания. Balance balance = Database.Balances.Find(x => x.Osp.Id == item.OspId && x.Cartridge.Id == item.Cartridge.Id).FirstOrDefault(); // Вычесть из баланса количество картриджей в списании. balance.Count -= item.Count; // Найти последнее списание в ОСП. Expense lastExpense = Database.Expenses.Find(x => x.Osp.Id == item.OspId).LastOrDefault(); // Создать списание по данным DTO. Expense newExpense = new Expense() { Basis = item.Basis, Count = item.Count, Date = item.Date, Delete = item.Delete, Edit = item.Edit, Number = lastExpense is null ? 1 : lastExpense.Number + 1, Cartridge = cart, User = user, Osp = osp }; // Добавить созданное списание в бд. Database.Expenses.Create(newExpense); // Обновить баланс в БД. Database.Balances.Update(balance); // Сохранить изменения. Database.Save(); }
public void Add(EmailDTO item) { // Найти в бд связанные сущности для почты. Osp osp = Database.Osps.Get(item.OspId); // Найти последнюю запись в ОСП. Email lastEmail = Database.Emails.Find(x => x.Osp.Id == item.OspId).LastOrDefault(); // Создать почту по данным DTO. Email newEmail = new Email() { Address = item.Address, Active = item.Active, Number = lastEmail is null ? 1 : lastEmail.Number + 1, Osp = osp }; // Добавить созданную почту в бд. Database.Emails.Create(newEmail); // Сохранить изменения. Database.Save(); }
public void Add(UserDTO item) { // Найти в бд связанные сущности для почты. Osp osp = Database.Osps.Get(item.Osp.Id); Access access = Database.Accesses.Get(item.Access.Id); // Создать пользователя по данным DTO. var newUser = new User() { Login = item.Login, Fullname = item.Fullname, Access = access, Active = item.Active, Osp = osp }; // Добавить созданного пользователя в бд. Database.Users.Create(newUser); // Сохранить изменения. Database.Save(); }
public void Add(ProviderDTO item) { // Найти в бд связанные сущности для поставщика. Osp osp = Database.Osps.Get(item.OspId); // Найти последнего поставщика в ОСП. Provider lastProvider = Database.Providers.Find(x => x.Osp.Id == item.OspId).LastOrDefault(); // Создать поставщика по данным DTO. Provider newProvider = new Provider() { Name = item.Name, Email = item.Email, Active = item.Active, Number = lastProvider is null ? 1 : lastProvider.Number + 1, Osp = osp }; // Добавить созданного поставщика в бд. Database.Providers.Create(newProvider); // Сохранить изменения. Database.Save(); }