public ActionResult Create() { ArticleModelFactory articleModelFactory = new ArticleModelFactory(); ArticleCreateModel model = articleModelFactory.LoadCreate(); return(View(model)); }
public ActionResult Create(ArticleCreateModel request) { ArticleModelFactory articleModelFactory = new ArticleModelFactory(); ArticleCreateModel model = ModelState.IsValid ? articleModelFactory.ArticleCreate(request) : articleModelFactory.LoadCreate(); return(CheckViewModel(model)); }
public async Task <IActionResult> MyCreate(ArticleCreateModel articleCreateModel) { if (ModelState.IsValid) { if (articleCreateModel.ArticleImage != null) { var imgId = Guid.NewGuid(); await DownloadFile(articleCreateModel.ArticleImage, $"{imgId}.jpg"); articleCreateModel.Article.ImageId = imgId; } articleCreateModel.Article.DateOfCreation = DateTime.Now; if (articleCreateModel.Article.IsPublish) { articleCreateModel.Article.DateOfPublication = DateTime.Now; } articleCreateModel.Article.Id = Guid.NewGuid(); _context.Add(articleCreateModel.Article); await _context.SaveChangesAsync(); await AddAuthors(articleCreateModel.ArticleAuthors, articleCreateModel.Article.Id); return(RedirectToAction(nameof(Index))); } return(View(articleCreateModel)); }
public IActionResult MyCreate() { var articleCreateModel = new ArticleCreateModel(); var admins = new List <SelectListItem>(); admins.AddRange(_context.Admins.Select(admin => new SelectListItem { Value = admin.Id.ToString(), Text = $"first name - {admin.FirstName}, last nane - {admin.LastName}, id - {admin.Id}" }).ToList()); articleCreateModel.Admins = admins; var subtopics = new List <SelectListItem>(); subtopics.AddRange(_context.SubTopics.Select(subtopic => new SelectListItem { Value = subtopic.Id.ToString(), Text = $"subtopic - {subtopic.Value}, topic - {subtopic.Topic.Value}" }).ToList()); articleCreateModel.SubTopics = subtopics; var authors = new List <SelectListItem>(); authors.AddRange(_context.Authors.Select(author => new SelectListItem { Value = author.Id.ToString(), Text = $"first name - {author.FirstName}, last name - {author.LastName} id - {author.Id}" }).ToList()); articleCreateModel.Authors = authors; articleCreateModel.Article = new Article(); ViewData["AdminId"] = new SelectList(_context.Admins, "Id", "Id"); ViewData["SubTopicId"] = new SelectList(_context.SubTopics, "Id", "Id"); return(View(articleCreateModel)); }
public async Task <IActionResult> CreateArticle([FromBody] ArticleCreateModel model) { var result = await _articleService.CreateArticle(_mapper.Map <ArticleDTO>(model), Request.GetToken()); return(CreatedAtAction(nameof(GetArticleById), new { id = result.Id }, result)); }
public async Task <IActionResult> CreateArticle(ArticleCreateModel model) { var command = new CreateArticleCommand(model.Content, model.Description, model.ImageUrl, model.Language, model.Language, model.Title, model.Type, model.AuthorId); var response = await _mediator.Send(command); return(response.ToActionResult()); }
public ArticleCreateModel LoadCreate() { ArticleCreateModel articleCreateModel = new ArticleCreateModel(); LanguageBusiness languageBusiness = new LanguageBusiness(); IEnumerable <Language> languageList = languageBusiness.LanguageList(); articleCreateModel.LanguageList = new SelectList(languageList, "ID", "Name"); return(articleCreateModel); }
public ArticleCreateModel ArticleCreate(ArticleCreateModel request) { ArticleCreateModel articleCreateModel = new ArticleCreateModel(); LanguageBusiness languageBusiness = new LanguageBusiness(); ArticleBusiness articleBusiness = new ArticleBusiness(); IEnumerable <Language> languageList = languageBusiness.LanguageList(); articleCreateModel.LanguageList = new SelectList(languageList, "ID", "Name", request.LanguageID); bool existLanguage = languageBusiness.ExistLanguage(request.LanguageID); if (!existLanguage) { articleCreateModel.Alerts.AlertList.Add("Dil bulunamadı!"); articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error; return(articleCreateModel); } else { bool existSeoName = articleBusiness.ExistSeoName(request.SeoName); if (existSeoName) { articleCreateModel.Alerts.AlertList.Add("Seo adı daha önce kullanılmış!"); articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error; return(articleCreateModel); } else { try { ArticleTranslation articleTranslation = articleBusiness.CreateArticleTranslation(request.LanguageID, request.Name, request.SeoName, request.SeoKeyword, request.SeoDescription, request.ShortText, request.LongText, request.Picture, request.ArticleType); articleCreateModel.Alerts.AlertList.Add("İçerik başarıyla eklendi"); articleCreateModel.RedirectURL = "/Management/Article/Index"; articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Success; } catch (Exception ex) { articleCreateModel.Alerts.AlertList.Add("İçerik kaydedilemedi [ " + ex.Message + " ]"); articleCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error; } } } return(articleCreateModel); }
public async Task <IActionResult> AddArticle([FromBody] ArticleCreateModel articleCreateModel) { try { if (!ModelState.IsValid) { return(BadRequest()); } var article = Mapper.Map <ArticleCreateModel, Article>(articleCreateModel); article.UserId = 1; article.Status = Status.Active; await _articleService.AddArticle(article); return(Ok(ModelFactory.CreateModel(article))); } catch (Exception) { return(BadRequest()); } }
public async Task <IActionResult> CreateArticle(ArticleCreateModel model) { if (ModelState.IsValid) { string[] tags = model.Tags.Split(','); List <Tag> articleTags = new List <Tag>(); foreach (var tag in tags) { Tag t = await _dbContext.Tags.FirstOrDefaultAsync(x => x.Name.ToLower() == tag.Trim().ToLower()); articleTags.Add(t); } List <PostImage> postImages = new List <PostImage>(); if (model.Files != null) { foreach (var file in model.Files) { PostImage img = new PostImage() { Path = Path.Combine("/images/posts", file.FileName) }; postImages.Add(img); await _dbContext.Images.AddAsync(img); await Uploader.UploadToServer(new Uploader(_hostingEnvironment).DefinePostImagePath(file), file); } } Article article = new Article() { Header = model.Header, Text = model.Description, CreationDate = DateTime.Now, Faculty = GetUserFaculty(this.GetLoggedUser(_dbContext)), User = this.GetLoggedUser(_dbContext), PostImages = postImages }; List <TagPost> artTags = new List <TagPost>(); foreach (var tag in articleTags) { artTags.Add(new TagPost() { Post = article, Tag = tag }); } article.TagPosts = artTags; if (await _dbContext.Articles.AddAsync(article) != null) { if (await _dbContext.SaveChangesAsync() > 0) { ArticleViewModel viewModel = new ArticleViewModel(article); if (article.User.UserType == "Student") { viewModel.StudentGroup = GetUserGroup(article.User.Email, _dbContext); } return(Json(viewModel)); } } else { return(Json("Error adding new article")); } } else { return(Json("Wrong model")); } return(Ok()); }
public ArticleDetailModel CreateArticle([FromBody] ArticleCreateModel article) { return(_articleService.AddArticle(article)); }