public Municipality CreateMunicipality(CreateMunicipalityRequest request) { if (_context.Municipalities.Any(m => m.Name.ToLower().Equals(request.Name.ToLower()))) { throw new BadRequestException("A municipality with name: " + request.Name + " already exists."); } Municipality municipality = new Municipality(request.Name, new List <Tax>(), new List <Tax>(), new List <Tax>(), new List <Tax>()); foreach (var item in request.YearlyTaxes) { municipality.YearlyTaxes = InsertTaxIntoList(municipality.YearlyTaxes, item); } foreach (var item in request.MonthlyTaxes) { municipality.MonthlyTaxes = InsertTaxIntoList(municipality.MonthlyTaxes, item); } foreach (var item in request.WeeklyTaxes) { municipality.WeeklyTaxes = InsertTaxIntoList(municipality.WeeklyTaxes, item); } foreach (var item in request.DailyTaxes) { municipality.DailyTaxes = InsertTaxIntoList(municipality.DailyTaxes, item); } _context.Municipalities.Add(municipality); _context.SaveChanges(); return(municipality); }
public ActionResult <Municipality> CreateMunicipality(CreateMunicipalityRequest municipality) { try { var createdMunicipality = _repo.CreateMunicipality(municipality); return(CreatedAtAction("CreateMunicipality", new { id = createdMunicipality.Id }, createdMunicipality)); } catch (NotFoundException e) { return(NotFound(e.Message)); } catch (BadRequestException e) { return(BadRequest(e.Message)); } catch (Exception e) { return(StatusCode(500, e.Message)); } }