Exemple #1
0
        /// <summary>
        /// Удаляет из цели правило выбора географической локации
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="location">Географическая локация</param>
        public void RemoveLocationFromTarget(Target target, Location location)
        {
            LocationRule rule = LocationRuleRepository.FindByTargetAndLocation(target, location);

            if (rule != null)
            {
                LocationRuleRepository.Delete(rule);
            }
        }
Exemple #2
0
        /// <summary>
        /// Удаляет из цели правило выбора географического региона
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="region">Географический регион</param>
        public void RemoveRegionFromTarget(Target target, Region region)
        {
            RegionRule rule = RegionRuleRepository.FindByTargetAndRegion(target, region);

            if (rule != null)
            {
                RegionRuleRepository.Delete(rule);
            }
        }
Exemple #3
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);
            }
        }
Exemple #4
0
        /// <summary>
        /// Удаляет из цели правило выбора страны
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="country">Двухсимвольный код страны</param>
        public void RemoveCountryFromTarget(Target target, string country)
        {
            CountryRule rule = CountryRuleRepository.FindByTargetAndCountry(target, country);

            if (rule != null)
            {
                CountryRuleRepository.Delete(rule);
            }
        }
Exemple #5
0
        /// <summary>
        /// Создает или обновляет цель геолокации
        /// </summary>
        /// <param name="targetId">Идентификатор цели геолокации</param>
        /// <param name="name">Наименование центра геолокации</param>
        /// <returns></returns>
        public Target CreateOrUpdateTarget(Guid targetId, string name)
        {
            Target target = TargetRepository.FindById(targetId);

            if (target == null)
            {
                target = new Target()
                {
                    Id = targetId,
                    Name = name
                };

                TargetRepository.Create(target);
            }
            else if (target.Name != name)
            {
                target.Name = name;
                TargetRepository.Save(target);
            }

            return target;
        }
Exemple #6
0
        /// <summary>
        /// Добавляет к цели правило выбора географического региона
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="region">Географический регион</param>
        /// <param name="kind">Вид правила включения</param>
        public void AddRegionToTarget(Target target, Region region, RuleKind kind)
        {
            RegionRule rule = RegionRuleRepository.FindByTargetAndRegion(target, region);

            if (rule == null)
            {
                rule = new RegionRule()
                {
                    TargetId = target.Id,
                    RegionId = region.Id,
                    Kind = kind
                };

                RegionRuleRepository.Create(rule);
            }
            else if (rule.Kind != kind)
            {
                rule.Kind = kind;
                RegionRuleRepository.Save(rule);
            }
        }
Exemple #7
0
        /// <summary>
        /// Добавляет к цели правило выбора географической локации
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="location">Географическая локация</param>
        /// <param name="kind">Вид правила включения</param>
        public void AddLocationToTarget(Target target, Location location, RuleKind kind)
        {
            LocationRule rule = LocationRuleRepository.FindByTargetAndLocation(target, location);

            if (rule == null)
            {
                rule = new LocationRule()
                {
                    TargetId = target.Id,
                    LocationId = location.Id,
                    Kind = kind
                };

                LocationRuleRepository.Create(rule);
            }
            else if (rule.Kind != kind)
            {
                rule.Kind = kind;
                LocationRuleRepository.Save(rule);
            }
        }
Exemple #8
0
        /// <summary>
        /// Добавляет к цели правило выбора страны
        /// </summary>
        /// <param name="target">Цель геолокации</param>
        /// <param name="country">Двухсимвольный код страны</param>
        /// <param name="kind">Вид правила включения</param>
        public void AddCountryToTarget(Target target, string country, RuleKind kind)
        {
            CountryRule rule = CountryRuleRepository.FindByTargetAndCountry(target, country);

            if (rule == null)
            {
                rule = new CountryRule()
                {
                    TargetId = target.Id,
                    Country = country,
                    Kind = kind
                };

                CountryRuleRepository.Create(rule);
            }
            else if (rule.Kind != kind)
            {
                rule.Kind = kind;
                CountryRuleRepository.Save(rule);
            }
        }
Exemple #9
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);
            }
        }