コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
        }