示例#1
0
        public PlaceInfo(string geoEntry)
        {
            var fields = geoEntry.Split(fieldsDelimiter);

            if (fields.Length != fieldCount)
            {
                throw new ArgumentException("Invalid GeoName Record");
            }

            PlaceInfoId      = int.Parse(fields.GetValue(PlaceInfoFields.PlaceInfoId), CultureInfo.InvariantCulture);
            Name             = fields.GetValue(PlaceInfoFields.Name);
            AsciiName        = fields.GetValue(PlaceInfoFields.AsciiName);
            AlternateNames   = fields.GetValue(PlaceInfoFields.AlternateNames);
            Latitude         = double.Parse(fields.GetValue(PlaceInfoFields.Latitude), CultureInfo.InvariantCulture);
            Longitude        = double.Parse(fields.GetValue(PlaceInfoFields.Longitude), CultureInfo.InvariantCulture);
            FeatureCode      = fields.GetValue(PlaceInfoFields.FeatureCode);
            FeatureClass     = FeatureCode.ToFeatureClass();
            CountryCode      = fields.GetValue(PlaceInfoFields.CountryCode);
            AltCountryCodes  = fields.GetValue(PlaceInfoFields.AltCountryCodes);
            Admin1Code       = fields.GetValue(PlaceInfoFields.Admin1Code);
            Admin2Code       = fields.GetValue(PlaceInfoFields.Admin2Code);
            Admin3Code       = fields.GetValue(PlaceInfoFields.Admin3Code);
            Admin4Code       = fields.GetValue(PlaceInfoFields.Admin4Code);
            Population       = long.Parse(fields.GetValue(PlaceInfoFields.Population), CultureInfo.InvariantCulture);
            Elevation        = fields.GetValue(PlaceInfoFields.Elevation).GetIntOrNull();
            Dem              = int.Parse(fields.GetValue(PlaceInfoFields.Dem), CultureInfo.InvariantCulture);
            TimeZone         = fields.GetValue(PlaceInfoFields.TimeZone);
            ModificationDate = DateTime.ParseExact(fields.GetValue(PlaceInfoFields.ModificationDate), modificationDateFormat, CultureInfo.InvariantCulture);
        }
        public IActionResult UpdateSingleFeatureCode(Upd_VM.FeatureCode featureCode)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    List <Upd_VM.FeatureCode> inputFeatureCodes = new List <Upd_VM.FeatureCode>();
                    inputFeatureCodes.Add(featureCode);
                    IEnumerable <FeatureCode> result = repository.UpdateFeatureCodes(inputFeatureCodes);

                    if (result != null && result.Count() > 0)
                    {
                        var primaryKey = featureCode.FeatureCodeId;

                        byte[] inputRowId = featureCode.RowId;

                        byte[] outputRowId = result
                                             .Where(outputFeatureCode => outputFeatureCode.FeatureCodeId == primaryKey)
                                             .Select(outputFeatureCode => outputFeatureCode.RowId)
                                             .FirstOrDefault();

                        bool rowIdsAreEqual = inputRowId.SequenceEqual(outputRowId);

                        if (rowIdsAreEqual)
                        {
                            return(BadRequest(ErrMsgs.ErrorMessages_US_en.NotUpdated_SingleEntry));
                        }
                        else
                        {
                            FeatureCode outputFeatureCode = new FeatureCode();
                            outputFeatureCode = result.FirstOrDefault();
                            return(Ok(outputFeatureCode));
                        }
                    }
                    else
                    {
                        return(StatusCode(500));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                throw;
            }
        }
示例#3
0
        /// <summary>
        /// Takes an prepopulated IDataReader and creates an array of FeatureCodes
        /// </summary>
        public static List<FeatureCode> PopulateObject(IDataReader dr)
        {
            ColumnFieldList list = new ColumnFieldList(dr);

            List<FeatureCode> arr = new List<FeatureCode>();

            FeatureCode obj;

            while (dr.Read())
            {
                obj = new FeatureCode();
                if (list.IsColumnPresent("FeatureCodeID")) { obj._featureCodeID = (int)dr["FeatureCodeID"]; }
                if (list.IsColumnPresent("FeatureCodeCD")) { obj._featureCodeCD = (string)dr["FeatureCodeCD"]; }
                if (list.IsColumnPresent("FeatureClassID")) { obj._featureClassID = (int)dr["FeatureClassID"]; }
                if (list.IsColumnPresent("Name")) { obj._name = (string)dr["Name"]; }
                if (list.IsColumnPresent("Description")) { obj._description = (string)dr["Description"]; }

                arr.Add(obj);
            }

            dr.Close();

            return arr;
        }