Exemplo n.º 1
0
        /// <summary>
        /// Удаляет из цели правило выбора географического округа
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="area">Географический округ</param>
        public void RemoveAreaFromTarget(Target target, Area area)
        {
            AreaRule rule = AreaRuleRepository.FindByTargetAndArea(target, area);

            if (rule != null)
            {
                AreaRuleRepository.Delete(rule);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Добавляет к цели правило выбора географического округа
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="area">Географический округ</param>
        /// <param name="kind">Вид правила включения</param>
        public void AddAreaToTarget(Target target, Area area, RuleKind kind)
        {
            AreaRule rule = AreaRuleRepository.FindByTargetAndArea(target, area);

            if (rule == null)
            {
                rule = new AreaRule()
                {
                    TargetId = target.Id,
                    AreaId   = area.Id,
                    Kind     = kind
                };

                AreaRuleRepository.Create(rule);
            }
            else if (rule.Kind != kind)
            {
                rule.Kind = kind;
                AreaRuleRepository.Save(rule);
            }
        }