public async Task <ActionResult <SecViewModel> > UpdateSec(int id, SecViewModel secViewModel) { try { if (id != secViewModel.Sec.Id) { return(BadRequest("Sec ID mismatch")); } var secToUpdate = await secRepository.GetSec(id); if (secToUpdate == null) { return(NotFound($"Sec with Id = {id} not found")); } // Add custom model validation error Sec dep = await secRepository.GetSecByname(secViewModel.Sec); if (dep != null) { ModelState.AddModelError("Name", $"Sec name: {secViewModel.Sec.Name} already in use"); return(BadRequest(ModelState)); } return(await secRepository.UpdateSec(secViewModel)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }
public async Task <ActionResult <SecViewModel> > CreateSec(SecViewModel secViewModel) { try { if (secViewModel == null) { return(BadRequest()); } // Add custom model validation error Sec dep = await secRepository.GetSecByname(secViewModel.Sec); if (dep != null) { ModelState.AddModelError("Name", $"Sec name: {secViewModel.Sec.Name} already in use"); return(BadRequest(ModelState)); } secViewModel = await secRepository.AddSec(secViewModel); return(CreatedAtAction(nameof(GetSec), new { id = secViewModel.Sec.Id }, secViewModel)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }
public async Task <SecViewModel> GetSec(int secId) { SecViewModel secViewModel = new SecViewModel(); secViewModel.Sec = await appDbContext.Secs.FirstOrDefaultAsync(e => e.Id == secId); return(secViewModel); }
public async Task <SecViewModel> AddSec(SecViewModel secViewModel) { var result = await appDbContext.Secs.AddAsync(secViewModel.Sec); await appDbContext.SaveChangesAsync(); secViewModel.Sec = result.Entity; return(secViewModel); }
public async Task <SecViewModel> DeleteSec(int id) { SecViewModel secViewModel = new SecViewModel(); var response = await httpService.Delete($"{url}/{id}"); if (!response.Success) { secViewModel.Exception = await response.GetBody(); } return(secViewModel); }
public async Task <SecViewModel> CreateSec(SecViewModel secViewModel) { var dataJson = System.Text.Json.JsonSerializer.Serialize(secViewModel); var stringContent = new StringContent(dataJson, Encoding.UTF8, "application/json"); var responseHTTP = await httpClient.PostAsync(url, stringContent); if (responseHTTP.IsSuccessStatusCode) { secViewModel = await Deserialize <SecViewModel>(responseHTTP, defaultJsonSerializerOptions); } else { secViewModel.Exception = await responseHTTP.Content.ReadAsStringAsync(); } return(secViewModel); }
public async Task <SecViewModel> UpdateSec(SecViewModel secViewModel) { var result = await appDbContext.Secs .FirstOrDefaultAsync(e => e.Id == secViewModel.Sec.Id); if (result != null) { result.Name = secViewModel.Sec.Name; await appDbContext.SaveChangesAsync(); return(new SecViewModel { Sec = result }); } return(null); }