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")); }
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")); }
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); }
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()); }
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); }