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(); } } }
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); }