public static City Get(CityPostViewModel model)
 {
     if (model == null)
     {
         return(default(City));
     }
     return(new City()
     {
         Name = model.Name,
         CountryId = model.CountryId.Value
     });
 }
        public async Task <IHttpActionResult> Post(CityPostViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                var city = ModelFactory.Get(model);

                DbContext.Cities.Add(city);
                var result = await DbContext.SaveChangesAsync();

                if (result > 0)
                {
                    return(Ok(city));
                }
                return(InternalServerError());
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }