Example #1
0
        public void CreateOrEdit(AutoReplyForCreateOrEditInput input)
        {
            if (input.AutoReply.Id.HasValue)
            {
                CheckUpdatePermission();

                var entity = GetEntityById(input.AutoReply.Id.Value);
                ObjectMapper.Map(input.AutoReply, entity);
                CurrentUnitOfWork.SaveChanges();

                if (input.Articles == null)
                {
                    return;
                }
                foreach (AutoReplyArticleForCreateOrEditDto autoReplyArticleDto in input.Articles)
                {
                    ProcessArticle(autoReplyArticleDto);

                    if (autoReplyArticleDto.Id.HasValue)
                    {
                        var autoReplyArticle = _autoReplyArticleRespository.Get(autoReplyArticleDto.Id.Value);
                        ObjectMapper.Map(autoReplyArticleDto, autoReplyArticle);
                        CurrentUnitOfWork.SaveChanges();
                    }
                    else
                    {
                        var autoReplyArticle = autoReplyArticleDto.MapTo <AutoReplyArticle>();
                        autoReplyArticle.AutoReplyId = entity.Id;
                        _autoReplyArticleRespository.Insert(autoReplyArticle);
                        CurrentUnitOfWork.SaveChanges();
                    }
                }
            }
            else
            {
                CheckCreatePermission();
                var entity = input.AutoReply.MapTo <AutoReply>();

                Repository.Insert(entity);
                CurrentUnitOfWork.SaveChanges();

                if (input.Articles == null)
                {
                    return;
                }

                foreach (AutoReplyArticleForCreateOrEditDto autoReplyArticleDto in input.Articles)
                {
                    ProcessArticle(autoReplyArticleDto);

                    var autoReplyArticle = autoReplyArticleDto.MapTo <AutoReplyArticle>();
                    autoReplyArticle.AutoReplyId = entity.Id;
                    _autoReplyArticleRespository.Insert(autoReplyArticle);
                    CurrentUnitOfWork.SaveChanges();
                }
            }
        }
Example #2
0
        public AutoReplyForCreateOrEditInput GetAutoReplyForCreateOrEdit(NullableIdDto input)
        {
            AutoReplyForCreateOrEditInput autoReplyForCreateOrEditInput = new AutoReplyForCreateOrEditInput();

            if (input.Id.HasValue)
            {
                autoReplyForCreateOrEditInput.AutoReply = Repository.Get(input.Id.Value).MapTo <AutoReplyForCreateOrEditDto>();
                autoReplyForCreateOrEditInput.Articles  = _autoReplyArticleRespository.GetAll()
                                                          .Where(model => model.AutoReplyId == input.Id.Value).ToList().MapTo <List <AutoReplyArticleForCreateOrEditDto> >();
            }
            else
            {
                autoReplyForCreateOrEditInput.AutoReply = new AutoReplyForCreateOrEditDto();
            }
            return(autoReplyForCreateOrEditInput);
        }