public async Task<IActionResult> Edit([FromBody] DivisionViewmodel model, int id) { try { var company = await context.Companies.FindAsync(model.CompanyId); if (company == null) { return NotFound(new { message = $"Company with ID {model.CompanyId} was not found." }); } var division = await context.Divisions.FindAsync(id); if (division == null) { return NotFound(new { message = $"Division with ID {id} was not found." }); } division.Company = company; division.Name = model.Name; await context.SaveChangesAsync(); return Ok(division); } catch (Exception ex) { _logger.LogError($"Unable to update division", ex); return BadRequest(ex.ToString()); } }
public async Task<IActionResult> Get(int id) { try { var division = await context.Divisions.Include(x => x.Company).FirstOrDefaultAsync(x => x.Id == id); if (division == null) { return NotFound(new { message = $"Division with ID {id} was not found." }); } var model = new DivisionViewmodel { CompanyId = division.Company.Id, Company = new CompanyViewmodel { Address = division.Company.Address, Id = division.Company.Id, Name = division.Company.Name }, Id = division.Id, Name = division.Name }; return Ok(model); } catch (Exception ex) { _logger.LogError($"Unable to get division", ex); return BadRequest(ex.ToString()); } }
public async Task<IActionResult> Create(DivisionViewmodel model) { try { var company = await context.Companies.FindAsync(model.CompanyId); if (company == null) { return NotFound(new { message = $"Company with ID {model.CompanyId} was not found." }); } var division = new Division { Company = company, Name = model.Name }; await context.Divisions.AddAsync(division); await context.SaveChangesAsync(); return Ok(division); } catch (Exception ex) { _logger.LogError($"Unable to create division", ex); return BadRequest(ex.ToString()); } }
public async Task OnGetAsync(int?id) { try { if (id != null) { _ = int.TryParse(id.ToString(), out int divisionId); Division = await GetDivisionAsync(divisionId); } } catch (Exception ex) { _logger.LogError(ex, "[Divisions DeleteModel] OnGet failed"); } }
private async Task <DivisionViewmodel> GetDivisionAsync(int?id) { var division = await context.Divisions.Include(x => x.Company).FirstOrDefaultAsync(x => x.Id == id); var model = new DivisionViewmodel { CompanyId = division.Company.Id, Company = new CompanyViewmodel { Address = division.Company.Address, Id = division.Company.Id, Name = division.Company.Name }, Id = division.Id, Name = division.Name }; return(model); }