Ejemplo n.º 1
0
        // 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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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"));
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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)));
        }
Ejemplo n.º 6
0
        public IActionResult GetAllArticleData(ArticleDetailsDto model)
        {
            var result = _services.ArticleDetailsPost(model);

            if (result != null)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }