public DistanceViewModel GetDistance(int id) { Distance distance = repository.GetItem(id); DistanceViewModel distanceViewModel = _mapper.Map <DistanceViewModel>(distance); return(distanceViewModel); }
public async Task <IEnumerable <InspectorDistanceViewModel> > Get(string id) { var eventIn = await _context.Events.Where(events => events.Id == id) .Include(elem => elem.Availabilities.Select(elem2 => elem2.Inspector)).FirstOrDefaultAsync(); if (eventIn == null) { throw new ObjectNotFoundException(); } var inspectors = eventIn.Availabilities.Where(el => el.IsAvailable).Select(el => el.Inspector); var tasks = inspectors.Select(async el => { DistanceViewModel distance = null; try { distance = await _routeClient.GetDistanceBetweenTwoLocatioins(el.Locx.ToString(), el.Locy.ToString(CultureInfo.InvariantCulture), eventIn.GeodanAdresX, eventIn.GeodanAdresY); } catch (Exception e) { Console.WriteLine(e); } var model = new InspectorDistanceViewModel { Inspector = el, Distance = distance }; return(model); }); var inspectorsa = await Task.WhenAll(tasks.ToArray()); return(inspectorsa.Where(el => el.Inspector != null)); }
public IActionResult Edit(DistanceViewModel distance) { distance.UserId = _userManager.GetUserId(User); _distanceService.UpdateDistance(distance); return(RedirectToAction("Manage", "Home")); }
private void SetSelectedAirports(DistanceViewModel viewModel) { var airportA = TempData["airportA"] as string; var airportB = TempData["airportB"] as string; SetSelectedValue(viewModel.IataListA, airportA); SetSelectedValue(viewModel.IataListB, airportB); }
/// <summary> /// Convert Distance Entity into Distance Object /// </summary> ///<param name="model">DistanceViewModel</param> ///<param name="DistanceEntity">DataAccess.Distance</param> ///<returns>DistanceViewModel</returns> public static DistanceViewModel ToViewModel( this DataAccess.Distance entity, DistanceViewModel model) { model.Id = entity.Id; model.Name = entity.Name; model.IsActive = entity.IsActive; model.MeasurementUnitId = entity.MeasurementUnitId; model.Measurement = entity.Measurement; model.Discriminator = entity.Discriminator; return(model); }
/// <summary> /// Display page for distance calculation between airports /// </summary> /// <returns></returns> public async Task <ActionResult> Distance() { var euOnlyAirports = await GetListOfEuAirports(); var distanceViewModel = new DistanceViewModel { Airport1List = euOnlyAirports, Airport2List = euOnlyAirports }; return(View(distanceViewModel)); }
public ActionResult Distance() { var airports = Airports; if (airports == null) { airports = _airportService.GetAirportListInEU(); Airports = airports; } var airportList = airports?.Select(f => f.iata).OrderBy(f => f).ToList(); var model = new DistanceViewModel() { Airports = airportList }; return(View(model)); }
/// <summary> /// Convert Distance Object into Distance Entity /// </summary> ///<param name="model">Distance</param> ///<param name="DistanceEntity">DataAccess.Distance</param> ///<returns>DataAccess.Distance</returns> public static DataAccess.Distance ToEntity(this DistanceViewModel model, DataAccess.Distance entity) { if (entity.Id == 0) { entity.CreatedUserId = model.SessionUserId; entity.IsActive = model.IsActive; entity.Discriminator = model.Discriminator; } else { entity.UpdatedUserId = model.SessionUserId; entity.UpdatedTimestamp = DateTime.Now; } entity.Name = model.Name; entity.MeasurementUnitId = model.MeasurementUnitId; entity.Measurement = model.Measurement; return(entity); }
public async Task <ActionResult> Index() { var airports = await _airportQueryService.GetAllEuropeanAirportsAsync(); var iatas = airports.Select(a => a.Iata); var viewModel = new DistanceViewModel(iatas); if (TempData["error"] is string error) { SetSelectedAirports(viewModel); viewModel.Error = error; } else if (TempData["distance"] is Distance distance) { SetSelectedAirports(viewModel); viewModel.Distance = distance; } return(View(viewModel)); }
public ActionResult Index(SearchParam parameters) { if (TempData["ErrorMessage"] != null) { ViewBag.ErrorMessage = TempData["ErrorMessage"]; } else { ViewBag.ErrorMessage = ""; } var ChangeLocation = HttpContext.Request.QueryString["ChangeLocation"]; if ((ChangeLocation != null) && (ChangeLocation != "")) { GLatLong loc = new GLatLong(); loc = GeoCodingHelper.GetLatLong(ChangeLocation.ToString()); if (loc != null) { Session["UserLocLat"] = loc.Latitude; Session["UserLocLong"] = loc.Longitude; } Session["UserLoc"] = ChangeLocation; } else { var LocationsSearched = dbmeals.LocationsSearcheds.Where(x => x.UserID == WebSecurity.CurrentUserId).OrderByDescending(x => x.DateCreated).ToList().FirstOrDefault(); if (LocationsSearched != null) { Session["UserLoc"] = LocationsSearched.Location; parameters.FreeSearch = LocationsSearched.Keywords; Session["UserLocLat"] = LocationsSearched.Latitude; Session["UserLocLong"] = LocationsSearched.Longitude; parameters.DistanceSearch = LocationsSearched.Distance.HasValue ? LocationsSearched.Distance.Value.ToString() : string.Empty; parameters.PickUpDateSearch = Common.AbsoluteEnd(LocationsSearched.DateRangeStart.HasValue ? LocationsSearched.DateRangeStart.Value : DateTime.Now);// LocationsSearched.DateRangeStart; //parameters.DateRangeEnd = LocationsSearched.DateRangeEnd; } } if (String.IsNullOrEmpty(parameters.DistanceSearch)) { parameters.DistanceSearch = "100"; } if (parameters.PickUpDateSearch == null) { parameters.PickUpDateSearch = DateTime.Now; } string pointofreference = Session["UserLocLat"] + "," + Session["UserLocLong"]; LocationsSearched ls = new LocationsSearched(); ls.Location = Convert.ToString(Session["UserLoc"]);//.ToString(); ls.Keywords = parameters.FreeSearch; ls.Latitude = Convert.ToDecimal(Session["UserLocLat"]); ls.Longitude = Convert.ToDecimal(Session["UserLocLong"]); ls.DateRangeStart = Common.AbsoluteStart(parameters.PickUpDateSearch); ls.DateRangeEnd = Common.AbsoluteEnd(parameters.PickUpDateSearch); ls.Distance = Convert.ToInt32(parameters.DistanceSearch); ls.DistanceUnit = "km"; ls.DateCreated = DateTime.Now; ls.UserID = WebSecurity.CurrentUserId; try { dbmeals.LocationsSearcheds.Add(ls); dbmeals.SaveChanges(); } catch (Exception e) { string message = e.Message; } try { ICollection <ISolrFacetQuery> list = AllFacetFields.Except(SelectedFacetFields(parameters)). Select(f => new SolrFacetFieldQuery(f) { MinCount = 1 }) .Cast <ISolrFacetQuery>().ToList(); var start = (parameters.PageIndex - 1) * parameters.PageSize; var matchingProducts = solr.Query(BuildQuery(parameters), new QueryOptions { FilterQueries = BuildFilterQueries(parameters), Rows = parameters.PageSize, Start = start, OrderBy = GetSelectedSort(parameters), SpellCheck = new SpellCheckingParameters(), Facet = new FacetParameters { Queries = list }, ExtraParams = new Dictionary <string, string> { // uncomment for filtering by distance { "fq", "{!geofilt}" }, { "d", parameters.DistanceSearch }, // distance.ToString(CultureInfo.InvariantCulture)} replace distance with your radius filter { "sfield", "latlng" }, // replace lat_long with your field in solr that stores the lat long values { "pt", pointofreference }, // this is the point of reference // {"sort","geodist() asc"}, { "fl", "*,Distance:geodist()" }, } }); var distancemodel = new DistanceViewModel(); // var matchingProducts var ProductModel = new ProductView { WholeSet = matchingProducts, Search = parameters, TotalCount = matchingProducts.NumFound, Facets = matchingProducts.FacetFields, // PickUpTimeFacet = GetPickUpTimeFacet(matchingProducts.FacetQueries), // DistanceFacet = GetDistanceFacet(matchingProducts.FacetQueries), DidYouMean = GetSpellCheckingResult(matchingProducts), //DistanceLimitList.SelectedDistance = parameters.DistanceLimit }; // Preselect the option with Value = "US" // Make sure you have such option in the Countries list List <SolrResultSet> SolrResultSetList = new List <SolrResultSet>(); SolrResultSetList = (from n in ProductModel.WholeSet select n).ToList(); var ProductViewModel = new ResultSetViewModel(); ProductViewModel.Search = ProductModel.Search; ProductViewModel.TotalCount = ProductModel.TotalCount; ProductViewModel.Facets = ProductModel.Facets; ProductViewModel.DidYouMean = ProductModel.DidYouMean; ProductViewModel.ProviderList = (from n in SolrResultSetList group n by new { n.ProviderName, n.ProviderType , n.Distance, n.latlng, n.PhoneNumber, n.FullAddress, n.Cuisine } into g select new Provider() { ProviderName = g.Key.ProviderName, ProviderType = g.Key.ProviderType, Distance = g.Key.Distance, latlng = g.Key.latlng, PhoneNumber = g.Key.PhoneNumber, FullAddress = g.Key.FullAddress, Cuisine = g.Key.Cuisine, }).ToList(); foreach (Provider p in ProductViewModel.ProviderList) { p.Products = (from n in SolrResultSetList where n.ProviderName == p.ProviderName select new Product() { MealAdID = n.MealAdID, MealItemName = n.MealItemName, FoodType = n.FoodType, MealType = n.MealType, Price = n.Price, Ingredients = n.Ingredients, AllergenicIngredients = n.AllergenicIngredients, Timestamp = n.Timestamp, Description = n.Description }).ToList(); } distancemodel.SelectedDistanceLimit = parameters.DistanceSearch; ProductViewModel.DistanceDD = distancemodel; return(View(ProductViewModel)); } catch (SolrConnectionException e) { string msg = e.Message; return(View(new ResultSetViewModel { QueryError = true, })); } }
public void UpdateDistance(DistanceViewModel distance) { Distance newDistance = _mapper.Map <Distance>(distance); repository.UpdateAsync(newDistance); }
public void Create(DistanceViewModel map) { Distance newDistance = _mapper.Map <Distance>(map); repository.Create(newDistance); }