Ejemplo n.º 1
0
        public async Task <IActionResult> Create([FromBody] CreateNewsRequest newsRequest)
        {
            News news = _mapper.Map <News>(newsRequest);
            await _newsService.AddNewsAsync(news);

            string locationUrl = Path.Combine(HttpContext.GetBaseUrl(), ApiRoutes.News.Get.Replace("{newsId}", news.Id.ToString()));

            return(Created(locationUrl, news));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <CreateNewsResponse> > CreateNews(CreateNewsRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            return(await _newsServices.CreateNews(request));
        }
Ejemplo n.º 3
0
        public IActionResult Create(CreateNewsRequest request)
        {
            var url    = "https://news-fpt-api.azurewebsites.net/api/News";
            var json   = JsonConvert.SerializeObject(request);
            var result = api.SendAsyncJson(url, json, false);

            Debug.WriteLine(result);
            return(View("Index"));
        }
Ejemplo n.º 4
0
        public async Task <CreateNewsResponse> CreateNews(CreateNewsRequest requestModel)
        {
            var author = await _admin.FindById(requestModel.AuthorId);

            var news = CreateNewsRequest.NewNewsFromRequest(requestModel, author);

            news = await _repoWrapper.News.CreateAsync(news);

            return(CreateNewsResponse.CreateFromNews(news));
        }
Ejemplo n.º 5
0
        public async Task <OperationResultResponse <Guid?> > ExecuteAsync(CreateNewsRequest request)
        {
            if (!await _accessValidator.HasRightsAsync(Rights.AddEditRemoveNews))
            {
                _httpContextAccessor.HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden;

                return(new OperationResultResponse <Guid?>
                {
                    Status = OperationResultStatusType.Failed,
                    Errors = new() { "Not enough rights." }
                });
Ejemplo n.º 6
0
        public void CreateValidate_Author_Tests(string title, string content, bool result)
        {
            var author = new AuthorRequest {
                UserName = "******", Name = "Gilmar"
            };

            var authorReq = new CreateNewsRequest {
                Title = title, Content = content, Author = author
            };
            var validate = new CreateNewsRequestValidator().Validate(authorReq);

            validate.IsValid.Should().Be(result);
        }
Ejemplo n.º 7
0
        public DbNews Map(CreateNewsRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            return(new DbNews
            {
                Id = Guid.NewGuid(),
                Preview = request.Preview,
                Content = request.Content,
                Subject = request.Subject,
                Pseudonym = !string.IsNullOrEmpty(request.Pseudonym?.Trim()) ? request.Pseudonym.Trim() : null,
                AuthorId = request.AuthorId,
                IsActive = true,
                CreatedBy = _httpContextAccessor.HttpContext.GetUserId(),
                CreatedAtUtc = DateTime.UtcNow,
            });
        }
Ejemplo n.º 8
0
        public async Task <Response <string> > AddNews(CreateNewsRequest request)
        {
            var news = new News
            {
                Id                  = Guid.NewGuid().ToString(),
                Title               = request.Title,
                NewsContent         = request.NewsContent,
                ImageUrl            = request.ImageURL,
                EstimatedFinishTime = request.EstimatedFinishTime,
                CreatedBy           = request.CreatedBy,
                CreatedTime         = DateTimeOffset.Now.ToOffset(new TimeSpan(7, 0, 0)).DateTime,
                LastModifiedBy      = request.LastModifiedBy,
                LastModifiedTime    = DateTimeOffset.Now.ToOffset(new TimeSpan(7, 0, 0)).DateTime,
                TypeId              = request.TypeId,
                DelFlag             = false,
            };

            await _unitOfWork.NewsRepository.AddAsync(news);

            await _unitOfWork.SaveAsync();

            return(new Response <string>(news.Id, $"Thêm news thành công, id: {news.Id}"));
        }
Ejemplo n.º 9
0
 public async Task <Response <NewsResponse> > CreateNews([FromBody] CreateNewsRequest request)
 {
     return(await _newsService.CreateNewsAsync(request));
 }
Ejemplo n.º 10
0
        /// <summary>
        /// Tạo mới tin tức
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <Response <NewsResponse> > CreateNewsAsync(CreateNewsRequest request)
        {
            if (string.IsNullOrEmpty(request.Content) || string.IsNullOrEmpty(request.Title))
            {
                _logger.LogError("Title or content is not null");
                return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> {
                    "Title or content is not null"
                }));
            }
            var news = new News
            {
                Id         = Guid.NewGuid(),
                Title      = request.Title,
                Content    = request.Content,
                CreateTime = DateTime.UtcNow.Date,
                UpdateTime = DateTime.UtcNow.Date,
                UrlImage   = request.UrlImage
            };

            var categoryNews = new List <CategoryNews>();

            if (request.CategoryIds != null && request.CategoryIds.Any())
            {
                foreach (var categoryId in request.CategoryIds)
                {
                    var category = await _newsContext.Categories.FindAsync(categoryId);

                    if (category == null)
                    {
                        _logger.LogError("Not find category");
                        return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> {
                            "Not find category"
                        }));
                    }
                    categoryNews.Add(new CategoryNews
                    {
                        Id         = Guid.NewGuid(),
                        CategoryId = category.Id,
                        NewsId     = news.Id
                    });
                }
            }

            await _newsContext.News.AddAsync(news);

            _newsContext.CategoryNews.AddRange(categoryNews);

            var result = await _newsContext.SaveChangesAsync();

            var dataReponse = new NewsResponse
            {
                Id         = news.Id,
                Title      = news.Title,
                Content    = news.Content,
                CreateTime = news.CreateTime,
                UpdateTime = news.UpdateTime,
                Categories = await GetCategoryModels(news.Id),
                UrlImage   = news.UrlImage
            };

            if (result > 0)
            {
                _logger.LogInformation("Create news success");
                return(new Response <NewsResponse>(Constant.STATUS_SUCESS, null, dataReponse, 1));
            }

            _logger.LogError("Create news failed");
            return(new Response <NewsResponse>(Constant.STATUS_ERROR, new List <string> {
                "Error when Save"
            }));
        }
 public async Task <IActionResult> AddNews(CreateNewsRequest request)
 {
     return(Ok(await _newsService.AddNews(request)));
 }
 public async Task <OperationResultResponse <Guid?> > Create(
     [FromServices] ICreateNewsCommand command,
     [FromBody] CreateNewsRequest request)
 {
     return(await command.ExecuteAsync(request));
 }