Esempio n. 1
0
        public async Task <ActionResult> Destroy(int subdivisionId)
        {
            if (subdivisionId == 0)
            {
                return(BadRequest(new { Errors = new[] { "Country Subdivision Id must be provided" } }));
            }

            CountrySubdivision countrySubdivision = _context.CountrySubdivisions.Find(subdivisionId);

            if (countrySubdivision == null)
            {
                return(NotFound(new { Errors = new[] { "Country Subdivision not found" } }));
            }
            _context.CountrySubdivisions.Remove(countrySubdivision);

            try
            {
                _context.SaveChanges();
                return(Accepted(Url.Action("Filter", "Country", new { Name = countrySubdivision.Name }), new { Data = "" }));
            }
            catch (Exception ex)
            {
                return(Ok(new
                {
                    Errors = "Error encountered, please try again later",
                    Meta = new { StackTrace = ex.Message }
                }));
            }
        }
Esempio n. 2
0
        private static string ToString(Locality locality, CountrySubdivision subdivision, bool hasSubdivisionAccess, bool hasSubSubdivisionAccess)
        {
            if (hasSubdivisionAccess)
            {
                if (hasSubSubdivisionAccess)
                {
                    // Access to everything.

                    return(locality.Name + (subdivision.ShortName == null ? string.Empty : " " + subdivision.ShortName));
                }

                // Access to only the subdivision.

                return(ToString(subdivision, true));
            }

            if (hasSubSubdivisionAccess)
            {
                // Access to only the locality.

                return(locality.Name);
            }

            // Access to nothing.

            return(string.Empty);
        }
Esempio n. 3
0
        private static string ToString(PostalCode postalCode, CountrySubdivision subdivision, bool hasSubdivisionAccess, bool hasSubSubdivisionAccess)
        {
            if (hasSubdivisionAccess)
            {
                if (hasSubSubdivisionAccess)
                {
                    // Access to everything.

                    return(postalCode.Name + (subdivision.ShortName == null ? string.Empty : " " + subdivision.ShortName));
                }

                // Access to only the subdivision.

                return(ToString(subdivision, true));
            }

            if (hasSubSubdivisionAccess)
            {
                // Access to only the postcode.

                return(postalCode.Name);
            }

            // Access to nothing.

            return(string.Empty);
        }
Esempio n. 4
0
        public void EqualsObjectCastTest()
        {
            string             name = "test-name";
            CountrySubdivision countrySubdivision = new CountrySubdivision(name: name);
            object             obj = new CountrySubdivision(name: name);

            Assert.True(countrySubdivision.Equals(obj));
        }
Esempio n. 5
0
 private static string ToString(CountrySubdivision subdivision, bool hasSubdivisionAccess)
 {
     if (hasSubdivisionAccess)
     {
         return(subdivision.ShortName ?? string.Empty);
     }
     return(string.Empty);
 }
Esempio n. 6
0
        public void EqualsTest()
        {
            string             name  = "test-name";
            CountrySubdivision name1 = new CountrySubdivision(name: name);

            Assert.Equal(name1, name1);
            Assert.Equal(name1, new CountrySubdivision(name: name));
            Assert.NotEqual(name1, new CountrySubdivision(name: name + "1"));
            Assert.False(name1.Equals(null));
        }
Esempio n. 7
0
        public void GetHashcodeTest()
        {
            CountrySubdivision countrySubdivision1 = new CountrySubdivision();

            countrySubdivision1.Name       = "test-name";
            countrySubdivision1.Code       = "test-code";
            countrySubdivision1.ParentCode = "test-parentCode";

            CountrySubdivision countrySubdivision2 = new CountrySubdivision();

            countrySubdivision2.Name       = "test-name";
            countrySubdivision2.Code       = "test-code";
            countrySubdivision2.ParentCode = "test-parentCode";

            Assert.Equal(countrySubdivision1.GetHashCode(), countrySubdivision2.GetHashCode());
        }
Esempio n. 8
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 }
                }));
            }
        }
Esempio n. 9
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 }
                }));
            }
        }
Esempio n. 10
0
        private static void AppendCountrySubdivisionRecord(StringBuilder sb, CountrySubdivision countrySubdivision)
        {
            if (sb.Length != 0)
            {
                sb.Append(';');
            }

            sb.Append(countrySubdivision.Id).Append(':');

            string displayName = countrySubdivision.Name;

            if (countrySubdivision.IsCountry)
            {
                sb.Append("c");
                displayName = "Anywhere in " + countrySubdivision.Country.Name;
            }
            else
            {
                sb.Append("s");
            }

            sb.Append('=').Append(displayName);
        }
Esempio n. 11
0
        public async Task <ActionResult> Filter(string alpha2Code, string subdivisionCode)
        {
            Country country = _context.Countries
                              .Include("Subdivisions")
                              .Where(x => x.Alpha2Code == alpha2Code).FirstOrDefault();

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

            CountrySubdivision subdivision = country.Subdivisions.Where(x => x.Code == subdivisionCode).FirstOrDefault();

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

            return(Ok(new
            {
                Data = subdivision
            }));
        }
Esempio n. 12
0
 public static string ToString(NamedLocation namedLocation, CountrySubdivision subdivision, bool hasSubdivisionAccess, bool hasSubSubdivisionAccess)
 {
     if (namedLocation is Locality)
     {
         return(ToString((Locality)namedLocation, subdivision, hasSubdivisionAccess, hasSubSubdivisionAccess));
     }
     if (namedLocation is PostalCode)
     {
         return(ToString((PostalCode)namedLocation, subdivision, hasSubdivisionAccess, hasSubSubdivisionAccess));
     }
     if (namedLocation is Region)
     {
         return(ToString((Region)namedLocation));
     }
     if (namedLocation is PostalSuburb)
     {
         return(ToString((PostalSuburb)namedLocation, hasSubdivisionAccess, hasSubSubdivisionAccess));
     }
     if (namedLocation is CountrySubdivision)
     {
         return(ToString((CountrySubdivision)namedLocation, hasSubdivisionAccess));
     }
     return(string.Empty);
 }
Esempio n. 13
0
 public CountrySubdivisionTests()
 {
     countrySubdivision = new CountrySubdivision();
 }
Esempio n. 14
0
 private static bool Contains(CountrySubdivision subdivision, LocationReference location)
 {
     return(subdivision.Equals(location.CountrySubdivision));
 }
Esempio n. 15
0
 bool ILocationQuery.Contains(CountrySubdivision subdivision, LocationReference location)
 {
     return(Contains(subdivision, location));
 }
Esempio n. 16
0
 public bool Contains(CountrySubdivision subdivision, LocationReference location)
 {
     throw new NotImplementedException();
 }
 public async Task <CountrySubdivision> UpdateCountrySubdivision(CountrySubdivision countrySubdivision)
 {
     return(await ApiInvoker.Update(Constants.ApiEndpointKey, Routes.CountrySubdivisionV1BaseRoute, countrySubdivision));
 }