Пример #1
0
        /// <summary>
        /// Добавление заказа на производство в команду
        /// </summary>
        /// <param name="deal">Заказ на производство</param>
        public virtual void AddProductionOrder(ProductionOrder order)
        {
            if (productionOrders.Any(x => x.Id == order.Id))
            {
                throw new Exception("Заказ на производство уже входит в область видимости данной команды.");
            }

            productionOrders.Add(order);
        }
Пример #2
0
        /// <summary>
        /// Добавление места хранения в команду
        /// </summary>
        /// <param name="deal">Место хранения</param>
        public virtual void AddStorage(Storage storage)
        {
            if (storages.Any(x => x.Id == storage.Id))
            {
                throw new Exception("Место хранения уже входит в область видимости данной команды.");
            }

            storages.Add(storage);
        }
Пример #3
0
 public virtual void CheckPossibilityToChangeCurrency()
 {
     ValidationUtils.Assert(!IsClosed, "Невозможно редактировать закрытый заказ.");
     ValidationUtils.Assert(!payments.Any(x => x.Type == ProductionOrderPaymentType.ProductionOrderProductionPayment),
                            "Невозможно изменить валюту заказа при наличии оплат за производство");
     ValidationUtils.Assert(!payments.Any(x => x.Type == ProductionOrderPaymentType.ProductionOrderTransportSheetPayment &&
                                          x.As <ProductionOrderTransportSheetPayment>().TransportSheet.CurrencyDeterminationType == ProductionOrderCurrencyDeterminationType.ProductionOrderCurrency),
                            "Невозможно изменить валюту заказа при наличии оплат по транспортным листам в валюте заказа");
     ValidationUtils.Assert(!payments.Any(x => x.Type == ProductionOrderPaymentType.ProductionOrderExtraExpensesSheetPayment &&
                                          x.As <ProductionOrderExtraExpensesSheetPayment>().ExtraExpensesSheet.CurrencyDeterminationType == ProductionOrderCurrencyDeterminationType.ProductionOrderCurrency),
                            "Невозможно изменить валюту заказа при наличии оплат по листам дополнительных расходов в валюте заказа");
 }
Пример #4
0
        /// <summary>
        /// Добавление пользователя в команду
        /// </summary>
        /// <param name="team"></param>
        public virtual void AddTeam(Team team)
        {
            if (teams.Any(x => x.Id == team.Id))
            {
                throw new Exception("Пользователь уже входит в состав данной команды.");
            }

            teams.Add(team);
            if (!team.Users.Any(x => x.Id == Id))
            {
                team.AddUser(this);
            }
        }
Пример #5
0
        /// <summary>
        /// Добавление роли пользователю
        /// </summary>
        /// <param name="role"></param>
        public virtual void AddRole(Role role)
        {
            if (roles.Any(x => x.Id == role.Id))
            {
                throw new Exception("Пользователь уже обладает данной ролью.");
            }

            roles.Add(role);
            if (!role.Users.Any(x => x.Id == Id))
            {
                role.AddUser(this);
            }
        }
Пример #6
0
        /// <summary>
        /// Добавление пользователя в роль
        /// </summary>
        /// <param name="user"></param>
        public virtual void AddUser(User user)
        {
            if (users.Any(x => x.Id == user.Id))
            {
                throw new Exception("Пользователь уже обладает данной ролью.");
            }

            users.Add(user);
            if (!user.Roles.Any(x => x.Id == Id))
            {
                user.AddRole(this);
            }
        }
Пример #7
0
        /// <summary>
        /// Добавление пользователя в команду
        /// </summary>
        /// <param name="user"></param>
        public virtual void AddUser(User user)
        {
            if (users.Any(x => x.Id == user.Id))
            {
                throw new Exception("Пользователь уже входит в состав данной команды.");
            }

            users.Add(user);
            if (!user.Teams.Any(x => x.Id == Id))
            {
                user.AddTeam(this);
            }
        }
Пример #8
0
        /// <summary>
        /// Добавление сделки в команду
        /// </summary>
        /// <param name="deal">Сделка</param>
        public virtual void AddDeal(Deal deal)
        {
            if (deals.Any(x => x.Id == deal.Id))
            {
                throw new Exception("Сделка уже входит в область видимости данной команды.");
            }

            deals.Add(deal);
        }
 public virtual void CheckPossibilityToDelete()
 {
     // Если заказ закрыт (т.е. все его партии закрыты), ничего удалять нельзя
     ValidationUtils.Assert(!ProductionOrder.IsClosed, "Невозможно удалить таможенный лист по закрытому заказу.");
     ValidationUtils.Assert(!payments.Any(), "Невозможно удалить таможенный лист, по которому есть оплаты.");
 }
Пример #10
0
 public bool IsInGroup(string groupName)
 {
     return(_personGroups.Any(g => g.GroupName.Equals(groupName)));
 }