public Task <string> Create(WordModel model) { if (!model.IsValidForNew()) { return(null); } var slug = model.Key.ToUrlSlug(); if (_wordRepository.Any(x => x.Key == slug)) { return(null); } var tags = new List <Tag>(); var items = model.Tag.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (var item in items) { tags.Add(new Tag { CreatedBy = model.CreatedBy, Name = item, UrlName = item.ToUrlSlug() }); } var word = new Word { Key = slug, Description = model.Description ?? string.Empty, IsTranslated = false, TranslationCount = 0, CreatedBy = model.CreatedBy, UpdatedBy = model.CreatedBy, Tags = tags }; _wordRepository.Create(word); if (!_wordRepository.SaveChanges()) { return(null); } return(Task.FromResult(word.Key)); }
public async Task <ActionResult> New(WordModel model) { if (!model.IsValidForNew()) { model.Msg = "bir sorun oluştu"; return(View(model)); } model.CreatedBy = User.Identity.GetUserId(); var key = await _wordService.Create(model); if (key == null) { model.Msg = "bir sorun oluştu, daha önce eklenmiş olabilir"; return(View(model)); } return(Redirect("/word/detail/" + key)); }
public Task <string> Update(WordModel model) { if (!model.IsValidForNew()) { return(null); } var slug = model.Key.ToUrlSlug(); var wordEntity = _wordRepository.FindOne(x => x.Key == slug); if (wordEntity == null) { return(Create(model)); } _wordRepository.SoftDelete(wordEntity.Id, model.CreatedBy); _wordRepository.SaveChanges(); return(Create(model)); }