Esempio n. 1
0
        public ActionResult Index(RatingViewModel ViewRating, HttpPostedFileBase file)
        {
            if (!ModelState.IsValid && file == null)
            {
                ViewBag.NoFile = "There is no submited file";
                return(View(ViewRating));
            }
            string path = "";

            if (file != null)
            {
                try
                {
                    string pic        = Path.GetFileName(file.FileName);
                    var    extension  = Path.GetExtension(pic);
                    var    uniqueName = string.Format(@"{0}.txt", Guid.NewGuid());
                    path = Path.Combine(Server.MapPath("~/images/profile"), uniqueName + extension);
                    file.SaveAs(path);
                }
                catch (FileLoadException ex)
                {
                    return(View("Sorry, Something get wrong with file loading" + ex.Message));
                }
            }

            using (ApplicationDbContext _db = new ApplicationDbContext())
            {
                int rating = Detection.CreateDetection(path);

                ViewRating.Rating = rating;
                DataAccess.Models.Location FoundLocation = _db.Locations
                                                           .Where(a => a.Id == ViewRating.LocationId &&
                                                                  ViewRating.Rating != 0).FirstOrDefault();

                if (FoundLocation != null && ViewRating.Rating != 0)
                {
                    return(RedirectToAction("InsertRating", "Drinks", ViewRating));
                }

                ViewBag.Error        = "Please insert a rating or choose a pub!";
                ViewRating.Locations = _db.Locations.Select(a => new Contract.DataContracts.Location
                {
                    Name = a.Name,
                    Id   = a.Id
                })
                                       .ToList();

                return(View(ViewRating));
            }
        }
Esempio n. 2
0
        public static Location ToBusiness(this DataAccess.Models.Location location)
        {
            if (location == null)
            {
                return(null);
            }

            return(new Location(location.Country,
                                location.Region,
                                location.Postal,
                                location.City,
                                location.Organization,
                                location.Latitude,
                                location.Longitude));
        }
        public ActionResult InsertRating(RatingViewModel RatingView)
        {
            ViewBag.Latitude  = RatingView.Latitude;
            ViewBag.Longitude = RatingView.Longitude;


            LocationDrinkDto       showUserList;
            IEnumerable <DrinkDto> drinks;

            using (ApplicationDbContext _db = new ApplicationDbContext())
            {
                DataAccess.Models.Location Location = _db.Locations
                                                      .Where(a => a.Id == RatingView.LocationId)
                                                      .FirstOrDefault();
                if (Location == null)
                {
                    ViewBag.Message = "No drinks or wrong pub entered";
                    return(View());
                }
                drinks = (from a in _db.Drinks
                          where Location.Id == a.LocationOfDrinkId
                          select new DrinkDto
                {
                    Name = a.Name,
                    Price = a.Price,
                    Id = a.Id,
                    RatingAverage = _db.DrinkRating
                                    .Where(b => b.DrinkId == a.Id)
                                    .Average(r => r.Rating)
                }).ToList();

                showUserList = new LocationDrinkDto
                {
                    Address   = Location.Address,
                    PubName   = Location.Name,
                    Latitude  = Location.Latitude,
                    Longitude = Location.Longitude,
                    Rating    = RatingView.Rating
                };
            }
            showUserList.Drinks = drinks;
            return(View(showUserList));
        }
Esempio n. 4
0
 public Location GetLocationByIP(ulong ip)
 {
     DataAccess.Models.Location location = _repository.GetLocationsByIP(ip);
     return(location?.ToBusiness());
 }