Пример #1
0
        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));
     }
 }