/// <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); }
/// <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); }
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), "Невозможно изменить валюту заказа при наличии оплат по листам дополнительных расходов в валюте заказа"); }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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(), "Невозможно удалить таможенный лист, по которому есть оплаты."); }
public bool IsInGroup(string groupName) { return(_personGroups.Any(g => g.GroupName.Equals(groupName))); }