Exemplo n.º 1
0
        public async Task <IActionResult> OnPostAsync()
        {
            var response = await _client.UpsertNewsAsync(Dto);

            if (response == null || !response.Success)
            {
                ModelState.AddModelError(string.Empty, "Failed to update news item");
                Dto = new NewsWebDTO();
                return(Page());
            }
            return(RedirectToPage("/News/NewsList"));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> OnGetDelete(long?Id)
        {
            _logger.LogInformation("delete " + Id);
            var response = await _client.DeleteNewsByIdAsync(Id);

            if (response == null || !response.Success)
            {
                ModelState.AddModelError(string.Empty, "Failed to delete news item");
                Dto = new NewsWebDTO();
                return(Page());
            }
            return(RedirectToPage("/News/NewsList"));
        }
Exemplo n.º 3
0
        public async Task <ActionResult <UULResponse> > CreateOrUpdateNews(NewsWebDTO dto)
        {
            UULResponse response;

            try {
                var user = await UserDao.GetUserFromClaimsOrThrow(_context, HttpContext.User);

                if (!SecHelper.IsAdmin(user))
                {
                    throw new Exception("Access denied");
                }
                var news = new News(dto);
                var now  = DateOperations.Now();
                if (news.ID == null)
                {
                    news.CreatedAt = now;
                }
                else
                {
                    news.UpdatedAt = now;
                }
                string message = "News was created";
                if (news.ID == null)
                {
                    _context.News.Add(news);
                }
                else
                {
                    _context.News.Update(news);
                    message = "News was upadted";
                }
                await _context.SaveChangesAsync();

                response = new UULResponse()
                {
                    Success = true, Message = message, Data = new NewsWebDTO(news)
                };
            } catch (Exception e) {
                response = new UULResponse()
                {
                    Success = false, Message = e.Message, Data = null
                };
            }
            return(response);
        }
Exemplo n.º 4
0
        public async Task <IActionResult> OnGetNews(long?passedObject)
        {
            if (passedObject == null)
            {
                Dto = new NewsWebDTO();
                return(Page());
            }

            var response = await _client.GetNewsByIdAsync(passedObject);

            if (response == null || !response.Success)
            {
                ModelState.AddModelError(string.Empty, "Failed to get news item");
                Dto = new NewsWebDTO();
                return(Page());
            }
            Dto = response.Data;
            return(Page());
        }
Exemplo n.º 5
0
        public async Task <UULResponse <NewsWebDTO> > UpsertNewsAsync(NewsWebDTO dto)
        {
            UULResponse <NewsWebDTO> result;

            try {
                var data          = JsonConvert.SerializeObject(dto);
                var stringContent = new StringContent(data, Encoding.UTF8, "application/json");
                using var httpResponse = await _httpClient.PostAsync("/api/webnews/news", stringContent);

                httpResponse.EnsureSuccessStatusCode();

                var jsonString = await httpResponse.Content.ReadAsStringAsync();

                result = JsonConvert.DeserializeObject <UULResponse <NewsWebDTO> >(jsonString);
            } catch (Exception e) {
                result = new UULResponse <NewsWebDTO>()
                {
                    Success = false, Data = null, Message = e.Message
                };
            }
            return(result);
        }