예제 #1
0
        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());
            }
        }
예제 #2
0
        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());
            }
        }
예제 #3
0
        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());
            }
        }
예제 #4
0
 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");
     }
 }
예제 #5
0
        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);
        }