public SyncCityMessageResponseModel SyncCity(string baseURL) { var listProvinceInfo = db.Province.Select(x => x).ToList(); bool error = false; string message = string.Empty; List <City> listCityAll = new List <City>(); var today = DateTime.Now; foreach (var prov in listProvinceInfo) { List <City> listCurrCity = new List <City>(); var currUrl = baseURL + "provinsi/" + prov.Kode + "/"; RestClient rest = new RestClient(currUrl); RestRequest req = new RestRequest("kabupaten", Method.GET); req.AddHeader("Accept", "application/json"); req.AddHeader("Content-Type", "application/json"); var res = rest.Execute(req); var result = JsonConvert.DeserializeObject <SyncCityResponseModel>(res.Content); if (!result.error && result.kabupatens != null) { foreach (var pos in result.kabupatens) { City temp = new City(); temp.ID = Guid.NewGuid(); temp.ProvinceID = prov.ID; temp.KodeProvinsi = Convert.ToInt32(pos.id_prov); temp.Kode = Convert.ToInt32(pos.id); temp.CityName = pos.nama.StartsWith("Kab. ") ? pos.nama.Replace("Kab. ", "") : pos.nama.StartsWith("Kota ") ? pos.nama.Replace("Kota ", "") : pos.nama; temp.CreateByUserID = Guid.Empty; temp.CreateDate = today; listCurrCity.Add(temp); } listCityAll.AddRange(listCurrCity); } } CityRepository repo = new CityRepository(db); var lex = repo.InsertList(listCityAll); SyncCityMessageResponseModel response = new SyncCityMessageResponseModel(); response.error = lex.Result; response.message = lex.Message; return(response); }
public ActionResult <SyncCityMessageResponseModel> GetCityFromAPI() { SyncCityMessageResponseModel res = new SyncCityMessageResponseModel(); try { CityBL bl = new CityBL(db); var query = bl.SyncCity(AppSettings.URLSyncProvinceCity); return(query); } catch (Exception ex) { res.message = ex.Message; res.error = false; return(res); } }