Beispiel #1
0
        public async Task <ActionResult> Create(string alpha2Code, CountrySubdivisionRequestModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { Errors = ModelState.Values }));
            }

            Country country = _context.Countries
                              .Where(x => x.Alpha2Code == alpha2Code).FirstOrDefault();

            if (country == null)
            {
                return(NotFound(new { Errors = new[] { "Country not found" } }));
            }

            CountrySubdivision countrySubdivision = new CountrySubdivision
            {
                Name          = model.Name,
                Code          = model.Code,
                LocalizedName = model.LocalizedName,
                CountryId     = country.Id
            };

            _context.CountrySubdivisions.Add(countrySubdivision);

            try
            {
                _context.SaveChanges();
                return(Created(Url.Action("Filter", "CountrySubdivision", new { subdivisionCode = countrySubdivision.Code }), new
                {
                    Data = countrySubdivision,
                    Link = new
                    {
                        Self = Url.Action("Filter", "CountrySubdivision", new { subdivisionCode = countrySubdivision.Code })
                    }
                }));
            }
            catch (Exception ex)
            {
                return(Ok(new
                {
                    Errors = "Error encountered, please try again later",
                    Meta = new { StackTrace = ex.Message }
                }));
            }
        }
Beispiel #2
0
        public async Task <ActionResult> Update(CountrySubdivisionRequestModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { Errors = ModelState.Values }));
            }

            if (model.Id == 0)
            {
                return(BadRequest(new { Errors = new[] { "Country Subdivision Id must be provided" } }));
            }

            CountrySubdivision countrySubdivisions = _context.CountrySubdivisions.Find(model.Id);

            if (countrySubdivisions == null)
            {
                return(NotFound(new { Errors = new[] { "Country Subdivision not found" } }));
            }

            countrySubdivisions.Name          = model.Name;
            countrySubdivisions.Code          = model.Code;
            countrySubdivisions.LocalizedName = model.LocalizedName;

            _context.CountrySubdivisions.Update(countrySubdivisions);

            try
            {
                _context.SaveChanges();
                return(Accepted(Url.Action("Filter", "CountrySubdivision", new { subdivisionCode = countrySubdivisions.Code }),
                                new {
                    Data = countrySubdivisions,
                    Link = new
                    {
                        Self = Url.Action("Filter", "CountrySubdivision", new { subdivisionCode = countrySubdivisions.Code })
                    }
                }));
            }
            catch (Exception ex)
            {
                return(Ok(new
                {
                    Errors = "Error encountered, please try again later",
                    Meta = new { StackTrace = ex.Message }
                }));
            }
        }