// TODO: it should be only authors public async Task <ArticleDetailsDto> CreateArticle([FromBody] CreateOrEditArticleDto dto) { Article article = await _articlesService.Create(dto.Title, dto.Description, dto.Body, await _usersService.GetCurrentUserAsync(), dto.Tags); return(ArticleDetailsDto.Build(article)); }
private Article CreateArticle(ArticleDetailsDto newArt) { Article article = new ViewModels.Article { ArticleId = newArt.Id, TextId = newArt.Master.Id, Version = newArt.Master.Version, Comment = newArt.Master.TextComment, CreatedAt = newArt.Master.CreatedAt, Content = newArt.Master.Content, Status = new ViewModels.StatusFilter { Id = newArt.Master.Status.Id, Status = newArt.Master.Status.Status }, Title = newArt.Master.Title, Author = new Author { Id = newArt.Master.Author.Id, Email = newArt.Master.Author.Email } }; if (newArt.Category != null) { article.Category = new CategoryFilter { Id = newArt.Category.Id, Category = newArt.Category.Category }; } if (newArt.Master.Avatar.Length != 0) { article.Avatar = String.Format("data:image/gif;base64,{0}", Convert.ToBase64String(newArt.Master.Avatar)); } if (newArt.Master.Supervisor != null) { article.Supervisor = new User { Id = newArt.Master.Supervisor.Id, Email = newArt.Master.Supervisor.Email }; } var tags = new List <TagFilter>(); foreach (var tag in newArt.Master.Tags) { tags.Add(new TagFilter { Id = tag.Id, Tag = tag.Tag }); } article.Tags = tags; return(article); }
public async Task <IActionResult> UpdateArticle(string slug, [FromBody] CreateOrEditArticleDto dto) { if (!ModelState.IsValid) { return(StatusCodeAndDtoWrapper.BuilBadRequest(ModelState)); } Article article = await _articlesService.UpdateArticle(slug, dto); return(StatusCodeAndDtoWrapper.BuildSuccess(ArticleDetailsDto.Build(article), "Updated successfully")); }
public string ArticleDetailsPost(ArticleDetailsDto model) { var dataArticleDetails = model.ArticleDetailsData; Pricing price = new Pricing(); string res = " "; try { var dataArt = _mapper.Map <ArticleDetails>(dataArticleDetails); var dataPr = _mapper.Map <Pricing>(dataArticleDetails); if (dataArt.ArtD_Id == 0) { foreach (var Image in model.ArticleImageList) { string finalImage = ""; int pos = 12; if (pos != 0) { // String after founder string afterFounder = Image.ImageName.Remove(pos); // Remove everything before founder but include founder string beforeFounder = Image.ImageName.Remove(0, pos); finalImage = beforeFounder; } Image.ImageName = finalImage; dataArt.ArticleImageVarients.Add(Image); } foreach (var variant in model.ArticleVariantList) { dataArt.ArticleVariants.Add(variant); } _unitOfWork.ArticleDetails.Add(dataArt); _unitOfWork.Commit(); } else { return("Likhon"); } if (dataPr.Pricing_Id == 0) { dataPr.ArticleDetails_Id = dataArt.ArtD_Id; _unitOfWork.Pricing.Add(dataPr); } } catch (Exception ex) { res = ex.Message; } _unitOfWork.Commit(); return(res); }
public async Task <IActionResult> GetArticleById(string id) { var article = await _articlesService.GetArticleById(id); if (article == null) { return(new StatusCodeAndDtoWrapper(404, new ErrorDtoResponse("Not Found"))); } //return NotFound(); return(new StatusCodeAndDtoWrapper(ArticleDetailsDto.Build(article))); }
public IActionResult GetAllArticleData(ArticleDetailsDto model) { var result = _services.ArticleDetailsPost(model); if (result != null) { return(Ok()); } else { return(BadRequest()); } }