示例#1
0
        public ServiceResult <IEnumerable <RuleDto> > Create(params RuleDto[] rules)
        {
            rules = rules ?? new RuleDto[0];
            var options = optionsRepository.ReadOptions();
            var result  = new List <RuleDto>();

            foreach (var rule in rules)
            {
                var rulesDb = rulesRepository.Read(rule.Name, (int)rule.Profile, (int)rule.Direction);

                if (options.OverrideRules)
                {
                    foreach (var id in rulesDb.Select(r => r.Id))
                    {
                        rulesRepository.Delete(id);
                    }
                }
                var ruleDb = rulesRepository.Create(mapper.Map <Rule>(rule));
                if (ruleDb != null)
                {
                    result.Add(mapper.Map <RuleDto>(ruleDb));
                }
            }

            return(ServiceResult <IEnumerable <RuleDto> > .Success(result));
        }