public async Task <ActionResult <WorksysViewModel> > CreateWorksys(WorksysViewModel worksysViewModel) { try { if (worksysViewModel == null) { return(BadRequest()); } // Add custom model validation error Worksys dep = await worksysRepository.GetWorksysByname(worksysViewModel.Worksys); if (dep != null) { ModelState.AddModelError("Name", $"Worksys name: {worksysViewModel.Worksys.Name} already in use"); return(BadRequest(ModelState)); } worksysViewModel = await worksysRepository.AddWorksys(worksysViewModel); return(CreatedAtAction(nameof(GetWorksys), new { id = worksysViewModel.Worksys.Id }, worksysViewModel)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }
public async Task <ActionResult <WorksysViewModel> > UpdateWorksys(int id, WorksysViewModel worksysViewModel) { try { if (id != worksysViewModel.Worksys.Id) { return(BadRequest("Worksys ID mismatch")); } var worksysToUpdate = await worksysRepository.GetWorksys(id); if (worksysToUpdate == null) { return(NotFound($"Worksys with Id = {id} not found")); } // Add custom model validation error Worksys dep = await worksysRepository.GetWorksysByname(worksysViewModel.Worksys); if (dep != null) { ModelState.AddModelError("Name", $"Worksys name: {worksysViewModel.Worksys.Name} already in use"); return(BadRequest(ModelState)); } return(await worksysRepository.UpdateWorksys(worksysViewModel)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }
public async Task <WorksysViewModel> UpdateWorksys(WorksysViewModel worksysViewModel) { Worksys result = await appDbContext.Worksyss .FirstOrDefaultAsync(e => e.Id == worksysViewModel.Worksys.Id); if (result != null) { //result.Name = worksysViewModel.Worksys.Name; //result.Number = worksysViewModel.Worksys.Number; //result.Ip = worksysViewModel.Worksys.Ip; //result.Port = worksysViewModel.Worksys.Port; result = mapper.Map(worksysViewModel.Worksys, result); await appDbContext.SaveChangesAsync(); return(new WorksysViewModel { Worksys = result }); } return(null); }
/// <summary> /// /////////////////////////////////////////////////////////////////////////////////////////////////////////// /// </summary> public async Task <Worksys> GetWorksysByname(Worksys worksys) { return(await appDbContext.Worksyss.Where(n => n.Name == worksys.Name && n.Id != worksys.Id) .FirstOrDefaultAsync()); }