public DistanceViewModel GetDistance(int id)
        {
            Distance          distance          = repository.GetItem(id);
            DistanceViewModel distanceViewModel = _mapper.Map <DistanceViewModel>(distance);

            return(distanceViewModel);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 5
0
 /// <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));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        /// <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,
                }));
            }
        }
Esempio n. 11
0
        public void UpdateDistance(DistanceViewModel distance)
        {
            Distance newDistance = _mapper.Map <Distance>(distance);

            repository.UpdateAsync(newDistance);
        }
Esempio n. 12
0
        public void Create(DistanceViewModel map)
        {
            Distance newDistance = _mapper.Map <Distance>(map);

            repository.Create(newDistance);
        }