/// <summary> /// Gets list of Cities /// </summary> /// <returns></returns> public Dtos.GetLocationOutput GetCities(CreditsHero.Common.Dtos.GetCriteriaInput input, string state) { if (state != String.Empty) { #region CreditsHero CriteriaValues var creditsHeroFormat = String.Format("{0}api/services/app/Criteria/GetCriteriaValues", System.Configuration.ConfigurationSettings.AppSettings["creditsHero:WebServiceApiPrefix"]); //var creditsHeroFormat = "http://creditshero.azurewebsites.net/api/services/cd/Criteria/GetCriteriaValues"; //var creditsHeroFormat = "http://localhost:6234/api/services/cd/Criteria/GetCriteriaValues"; var timelineUrl = string.Format(creditsHeroFormat); CreditsHero.Common.Dtos.GetCriteriaValuesOutput criteriaOutput = new CreditsHero.Common.Dtos.GetCriteriaValuesOutput(); //Serialize object to JSON MemoryStream jsonStream = new MemoryStream(); CreditsHero.Common.Dtos.GetCriteriaInput criteriaInput = new CreditsHero.Common.Dtos.GetCriteriaInput() { CompanyId = input.CompanyId, CriteriaId = input.CriteriaId }; string jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(criteriaInput); byte[] byteArray = Encoding.UTF8.GetBytes(jsonData); HttpWebRequest creditsHeroRequest = (HttpWebRequest)WebRequest.Create(timelineUrl); creditsHeroRequest.ContentType = "application/json;charset=utf-8"; creditsHeroRequest.ContentLength = byteArray.Length; creditsHeroRequest.Method = "POST"; Stream newStream = creditsHeroRequest.GetRequestStream(); newStream.Write(byteArray, 0, byteArray.Length); newStream.Close(); WebResponse timeLineResponse = creditsHeroRequest.GetResponse(); using (timeLineResponse) { using (var reader = new StreamReader(timeLineResponse.GetResponseStream())) { var results = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(reader.ReadToEnd()); criteriaOutput.CriteriaValues = new List <CreditsHero.Common.Dtos.CriteriaValuesDto>(); foreach (var item in results.result.criteriaValues) { criteriaOutput.CriteriaValues.Add( Newtonsoft.Json.JsonConvert.DeserializeObject <CreditsHero.Common.Dtos.CriteriaValuesDto>(item.ToString())); } } } #endregion var cities = _locationRepository.GetCities(state); List <Dtos.LocationDto> locations = new List <Dtos.LocationDto>(); locations = new Dtos.GetLocationOutput { Locations = Mapper.Map <List <Dtos.LocationDto> >(cities) }.Locations; var query = (from cv in criteriaOutput.CriteriaValues from l in locations where l.City == cv.Name select new Dtos.LocationDto { City = l.City, CreationTime = l.CreationTime, CreatorUserId = l.CreatorUserId, State = l.State, LastModificationTime = l.LastModificationTime, LastModifierUserId = l.LastModifierUserId, Id = cv.Id, CreditCount = cv.CreditCount, CriteriaRefId = cv.CriteriaRefId, Name = cv.Name }).ToList <Dtos.LocationDto>(); return(new Dtos.GetLocationOutput() { Locations = query }); } else { return(new Dtos.GetLocationOutput() { Locations = new List <Dtos.LocationDto>() }); } }
/// <summary> /// Gets list of Cities /// </summary> /// <returns></returns> public Dtos.GetLocationOutput GetCities(CreditsHero.Common.Dtos.GetCriteriaInput input, string state) { if (state != String.Empty) { #region CreditsHero CriteriaValues var creditsHeroFormat = String.Format("{0}api/services/app/Criteria/GetCriteriaValues", System.Configuration.ConfigurationSettings.AppSettings["creditsHero:WebServiceApiPrefix"]); //var creditsHeroFormat = "http://creditshero.azurewebsites.net/api/services/cd/Criteria/GetCriteriaValues"; //var creditsHeroFormat = "http://localhost:6234/api/services/cd/Criteria/GetCriteriaValues"; var timelineUrl = string.Format(creditsHeroFormat); CreditsHero.Common.Dtos.GetCriteriaValuesOutput criteriaOutput = new CreditsHero.Common.Dtos.GetCriteriaValuesOutput(); //Serialize object to JSON MemoryStream jsonStream = new MemoryStream(); CreditsHero.Common.Dtos.GetCriteriaInput criteriaInput = new CreditsHero.Common.Dtos.GetCriteriaInput() { CompanyId = input.CompanyId, CriteriaId = input.CriteriaId }; string jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(criteriaInput); byte[] byteArray = Encoding.UTF8.GetBytes(jsonData); HttpWebRequest creditsHeroRequest = (HttpWebRequest)WebRequest.Create(timelineUrl); creditsHeroRequest.ContentType = "application/json;charset=utf-8"; creditsHeroRequest.ContentLength = byteArray.Length; creditsHeroRequest.Method = "POST"; Stream newStream = creditsHeroRequest.GetRequestStream(); newStream.Write(byteArray, 0, byteArray.Length); newStream.Close(); WebResponse timeLineResponse = creditsHeroRequest.GetResponse(); using (timeLineResponse) { using (var reader = new StreamReader(timeLineResponse.GetResponseStream())) { var results = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(reader.ReadToEnd()); criteriaOutput.CriteriaValues = new List<CreditsHero.Common.Dtos.CriteriaValuesDto>(); foreach (var item in results.result.criteriaValues) { criteriaOutput.CriteriaValues.Add( Newtonsoft.Json.JsonConvert.DeserializeObject<CreditsHero.Common.Dtos.CriteriaValuesDto>(item.ToString())); } } } #endregion var cities = _locationRepository.GetCities(state); List<Dtos.LocationDto> locations = new List<Dtos.LocationDto>(); locations = new Dtos.GetLocationOutput { Locations = Mapper.Map<List<Dtos.LocationDto>>(cities) }.Locations; var query = (from cv in criteriaOutput.CriteriaValues from l in locations where l.City == cv.Name select new Dtos.LocationDto { City = l.City, CreationTime = l.CreationTime, CreatorUserId = l.CreatorUserId, State = l.State, LastModificationTime = l.LastModificationTime, LastModifierUserId = l.LastModifierUserId, Id = cv.Id, CreditCount = cv.CreditCount, CriteriaRefId = cv.CriteriaRefId, Name = cv.Name }).ToList<Dtos.LocationDto>(); return new Dtos.GetLocationOutput() { Locations = query }; } else { return new Dtos.GetLocationOutput() { Locations = new List<Dtos.LocationDto>() }; } }
public MemberLocationsViewModel() { Locations = new GetLocationOutput(); States = new GetLocationOutput(); Cities = new GetLocationOutput(); }