public async Task <IActionResult> Create(NewsCreateViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var news = _mapper.Map <NewsCreateViewModel, News>(model); if (model.ImageUpload != null) { string imageString = await GetImageBase64FromFile(model.ImageUpload); if (!String.IsNullOrEmpty(imageString)) { news.Image = imageString; } else { return(View(model)); } } news.IdAutor = GetUserId(); _newsService.AddNews(news); SetSuccess($"Pomyślnie utworzono news '{model.Title}'"); } catch (Exception ex) { SetError(ex); } return(RedirectToAction("Index")); }
public static NewsCreateDto ToDto(this NewsCreateViewModel source, string fileName) { return new NewsCreateDto { Description = source.Description, Title = source.Title, PrimaryPicture = fileName, Type = source.Type }; }
public async Task <IActionResult> Create(NewsCreateViewModel model) { var userId = this.userManager.GetUserId(User); await this.news.CreateAsync(userId, model.Title, model.Description, model.ImageUrl); TempData.AddSuccessMessage($"News created successfully!"); return(RedirectToAction(nameof(All))); }
public async Task <IActionResult> Post([FromForm] NewsCreateViewModel newsModel) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <NewsCreateViewModel, NewsCreateDto>()) .CreateMapper(); var newsDto = mapper.Map <NewsCreateDto>(newsModel); await _newsService.AddNews(newsDto); return(Ok()); }
public ActionResult Create(NewsCreateViewModel newsCreateViewModel) { //Create Map var config = new MapperConfiguration(cfg => cfg.CreateMap <NewsCreateViewModel, News>()); var mapper = config.CreateMapper(); News news = mapper.Map <News>(newsCreateViewModel); news.UserId = Convert.ToInt32(Session["UserId"]); _newsContext.Insert(news); return(RedirectToAction("Index", "News")); }
public NewsClass CreateNews(NewsCreateViewModel inputModel, string authorId) { var news = new NewsClass { Title = inputModel.Title, Content = inputModel.Content, PublishedOn = DateTime.Now, AuthorId = authorId }; this.db.News.Add(news); this.db.SaveChanges(); return(news); }
public IActionResult Create(NewsCreateViewModel inputModel) { if (!this.ModelState.IsValid) { var model = this.newsService.GetErrorViewModel(Constants.InvalidNewsInputModelMessage); return(this.View(Constants.ErrorView, model)); } var userId = this.userManager.GetUserId(HttpContext.User); var news = this.newsService.CreateNews(inputModel, userId); return(this.RedirectToAction(Constants.AllNewsView, Constants.NewsController, new { area = string.Empty })); }
public async Task <IActionResult> CreateNews(NewsCreateViewModel model) { if (ModelState.IsValid) { var news = _mapper.Map <News>(model); news.DateOfCreating = DateTime.Now; await _newsService.CreateNewsAsync(news); return(RedirectToAction("NewsCollection")); } else { if (string.IsNullOrEmpty(model.Text)) { ModelState.AddModelError("", "Text required"); } return(View(model)); } }
public async Task <IActionResult> Create(NewsCreateViewModel newsFromView) //[Bind("Title,Content,SourseURL")] { if (ModelState.IsValid) { NewsDTO newsDTO = new NewsDTO() { Id = Guid.NewGuid(), Title = newsFromView.Title, Body = newsFromView.Body, SourseURL = newsFromView.SourseURL, CreatedOnDate = DateTime.Now, EditedOnDate = DateTime.Now, }; await _newsService.AddAsync(newsDTO); return(RedirectToAction("Index", "Home")); } return(View(newsFromView)); }
public async Task <IActionResult> Create(NewsCreateViewModel obj) { if (ModelState.IsValid) { string uniqueFileName = UploadedFile(obj); var user = await userManager.FindByNameAsync(User.Identity.Name); News news = new News { Title = obj.Title, Content = obj.Content, PublicationDate = DateTime.Now, AuthorID = user.Id, Tags = obj.Tags, ImagePath = uniqueFileName, }; _db.News.Add(news); _db.SaveChanges(); return(RedirectToAction("Index")); } return(View(obj)); }
public IActionResult Create(NewsCreateViewModel model) { var uploadResult = _fileService.Upload(model.PrimaryPicture, "News", 1024 * 500); var serviceResult = new ServiceResult(); if (uploadResult.IsSuccess) { serviceResult = _adminService.CreateNews(model.ToDto(uploadResult.Data)); if (serviceResult.IsSuccess) { Swal(true, "یک خبر با موفقیت اضافه شد"); return(RedirectToAction(nameof(Create))); } } else { serviceResult.Errors = uploadResult.Errors; serviceResult.IsSuccess = false; } AddErrors(serviceResult); List <SelectListItem> typeSelector = new List <SelectListItem>(); typeSelector.Add(new SelectListItem("نوع خبر", "")); typeSelector.Add(new SelectListItem("اخبار محله", NewsType.Mahal.ToString(), model.Type == NewsType.Mahal)); typeSelector.Add(new SelectListItem("سیاسی", NewsType.Siasi.ToString(), model.Type == NewsType.Siasi)); typeSelector.Add(new SelectListItem("اقتصادی", NewsType.Eghtesadi.ToString(), model.Type == NewsType.Eghtesadi)); typeSelector.Add(new SelectListItem("فرهنگی", NewsType.Farhangi.ToString(), model.Type == NewsType.Farhangi)); ViewBag.TypeSelector = typeSelector; return(View(model)); }
public async Task <IActionResult> Create([FromForm] NewsCreateViewModel vmItem) { ViewData["ControllerNameForImageBrowser"] = nameof(ImageBrowserNewController).Replace("Controller", ""); // Invalid model if (!ModelState.IsValid) { // Get list master of foreign property and set to view data await PrepareListMasterForeignKey(vmItem); return(View(vmItem)); } // Get time stamp for table to handle concurrency conflict var tableName = nameof(News); var tableVersion = await _context.TableVersion.FirstOrDefaultAsync(h => h.Id == tableName); // Trim white space vmItem.SlugTitle = $"{vmItem.SlugTitle}".Trim(); if (vmItem.AutoSlug) { vmItem.SlugTitle = NormalizeSlug($"{vmItem.Title}"); } else { vmItem.SlugTitle = NormalizeSlug($"{vmItem.SlugTitle}"); } // Check slug is existed => if existed auto get next slug var listExistedSlug = await _context.News.AsNoTracking() .Where(h => h.SlugTitle.StartsWith(vmItem.SlugTitle)) .Select(h => h.SlugTitle).ToListAsync(); var slug = CheckAndGenNextSlug(vmItem.SlugTitle, listExistedSlug); // Create save db item var dbItem = new News { Id = Guid.NewGuid().ToString(), CreatedBy = _loginUserId, CreatedDate = DateTime.Now, UpdatedBy = null, UpdatedDate = null, RowStatus = (int)AtRowStatus.Normal, RowVersion = null, FkNewsTypeId = vmItem.FkNewsTypeId, Title = vmItem.Title, SlugTitle = vmItem.SlugTitle, AutoSlug = vmItem.AutoSlug, ShortDescriptionHtml = vmItem.ShortDescriptionHtml, LongDescriptionHtml = vmItem.LongDescriptionHtml, Tags = vmItem.Tags, KeyWord = vmItem.KeyWord, MetaData = vmItem.MetaData, Note = vmItem.Note, ImageSlug = vmItem.ImageSlug, }; _context.Add(dbItem); // Set time stamp for table to handle concurrency conflict if (tableVersion != null) { tableVersion.LastModify = DateTime.Now; } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id = dbItem.SlugTitle })); }