public Article CreateArticle(CreateArticleBindingModel createArticleBindingModel, string authorName) { var author = this.context.Users.Single(u => u.UserName == authorName); var roleId = this.context.UserRoles.First(ur => ur.UserId == author.Id).RoleId; var role = this.context.Roles.First(r => r.Id == roleId).Name; bool isAuthorSuperAdmin = role == "Super-admin"; var article = new Article { Title = createArticleBindingModel.Title, Content = createArticleBindingModel.Content, Author = author, PostDate = DateTime.UtcNow, IsApproved = isAuthorSuperAdmin, IsRejected = false, IsSentForApproval = !isAuthorSuperAdmin }; this.context.Articles.Add(article); this.context.SaveChanges(); if (createArticleBindingModel.Image != null) { var articleId = this.context.Articles.First(a => a.Title == createArticleBindingModel.Title).Id; var imageLocation = this.imagesService.CreateImage(createArticleBindingModel.Image, this.GetType().Name.Replace("Service", string.Empty), articleId); this.context.Articles.First(a => a.Id == articleId).ImageLocation = imageLocation; article.ImageLocation = imageLocation; context.SaveChanges(); } return(article); }
public async Task <IActionResult> CreateArticle(CreateArticleBindingModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } await this.blogService.CreateArticleAsync(model, this.User.Identity.Name); return(this.Redirect(GlobalConstants.TrainerMyArticles)); }
public IActionResult Create_Article(CreateArticleBindingModel model) { if (this.ModelState.IsValid) { this.articlesService.CreateArticle(model, this.User.Identity.Name); return(RedirectToAction("ArticlesMenu")); } var reloadModel = this.menuService.GetMenuItems(this.GetType(), typeof(HttpGetAttribute), typeof(AuthorizeAttribute), AreaName, "Create_Article", model); return(View("ArticlesMenu", reloadModel)); }
public CreateArticleBindingModel GetCreateModel() { CreateArticleBindingModel model = new CreateArticleBindingModel { Categories = this.Context .Categories .Select(c => c.Name) .ToList() }; return(model); }
public async Task <IActionResult> CreateArticle(CreateArticleBindingModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } await this.blogService.CreateArticleAsync(model, this.User.Identity.Name); var articles = await this.blogService.GetAllArticlesAsync(); return(this.View("ArticlesAll", articles)); }
public ActionResult Create(CreateArticleBindingModel model) { string author = this.User.Identity.Name; if (this.ModelState.IsValid) { this.articles.Create(model.Title, model.Content, model.Category, author); return(this.RedirectToAllArticles()); } return(this.View(model)); }
public async Task <ArticleViewModel> CreateArticleAsync(CreateArticleBindingModel model, string usersName) { Article articleForDb = null; await Task.Run(async() => { var user = await this.usersService.GetUserByUsernameAsync(usersName); var url = MyCloudinary.UploadImage(model.ImgUrl, model.Title); articleForDb = this.mapper.Map <Article>(model); articleForDb.ImgUrl = url ?? Constants.CloudinaryInvalidUrl; articleForDb.AuthorId = user.Id; this.context.Articles.Add(articleForDb); this.context.SaveChanges(); }); var articleToReturn = this.mapper.Map <ArticleViewModel>(articleForDb); return(articleToReturn); }
public ActionResult Create() { CreateArticleBindingModel model = this.articles.GetCreateModel(); return(this.View(model)); }