Пример #1
0
        public async Task <IActionResult> GetBySearch()
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"SELECT Id, LocationName, LocationAddress
                                       FROM ShopLocation";

                    SqlDataReader reader = await cmd.ExecuteReaderAsync();

                    List <ShopLocation> shopLocations = new List <ShopLocation>();

                    while (reader.Read())
                    {
                        ShopLocation shopLocation = new ShopLocation
                        {
                            Id              = reader.GetInt32(reader.GetOrdinal("Id")),
                            LocationName    = reader.GetString(reader.GetOrdinal("LocationName")),
                            LocationAddress = reader.GetString(reader.GetOrdinal("LocationAddress"))
                        };

                        shopLocations.Add(shopLocation);
                    }
                    reader.Close();

                    return(Ok(shopLocations));
                }
            }
        }
Пример #2
0
 public Product(Guid id, string name, string category, ShopLocation storeLocation)
 {
     Id            = id;
     Name          = name;
     Category      = category;
     StoreLocation = storeLocation;
 }
Пример #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            ShopLocation shopLocation = db.Locations.Find(id);

            db.Locations.Remove(shopLocation);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #4
0
 public ActionResult Edit([Bind(Include = "ShopLocationID,OpeningHour,ClosingHour,Phone,EMail,City,FullAddress,PostalCode")] ShopLocation shopLocation)
 {
     if (ModelState.IsValid)
     {
         db.Entry(shopLocation).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View("~/Views/Admin/ShopLocation/Index.cshtml", shopLocation));
 }
Пример #5
0
 public static ShopLocationModel ToModel(this ShopLocation aShopLocation)
 {
     return(new ShopLocationModel()
     {
         LocationId = aShopLocation.LocationId,
         LocCode = aShopLocation.LocCode,
         Description = aShopLocation.Description,
         AreaId = aShopLocation.AreaId,
         LocationTypeId = aShopLocation.LocationTypeId
     });
 }
Пример #6
0
        private static void LocationSelectionMenu()
        {
            System.Console.WriteLine("Step-1: Choose Order Location: ");
            DisplayShopLocation(ShopLocationDataRetriever.GetInstance().ShopLocationList);
            System.Console.Write("Location Choice: ");
            int locationChoice = Convert.ToInt32(Console.ReadLine());

            CurrentShopLocation = new ShopLocation
                                      (ShopLocationDataRetriever.GetInstance().ShopLocationList[locationChoice - 1].ShopAddress,
                                      ShopLocationDataRetriever.GetInstance().ShopLocationList[locationChoice - 1].ShopID);
        }
Пример #7
0
        private List <ShopLocation> InitializeShopLocationList()
        {
            List <ShopLocation> locationList = new List <ShopLocation>();

            foreach (var location in _dbConnection.PizzaShopLocation.Include("Address").ToList())
            {
                ShopLocation l = new ShopLocation(new Address(location.Address.StreetName, location.Address.City
                                                              , location.Address.StateProvince, location.Address.Zipcode), location.LocationId);
                locationList.Add(l);
            }
            return(locationList);
        }
Пример #8
0
        public ActionResult Create([Bind(Include = "ShopLocationID,OpeningHour,ClosingHour,Phone,EMail,City,FullAddress,PostalCode")] ShopLocation shopLocation)
        {
            if (ModelState.IsValid)
            {
                shopLocation.OpeningHour = new DateTime(1990, 1, 1, 8, 0, 0);
                shopLocation.ClosingHour = new DateTime(1990, 1, 1, 18, 0, 0);
                db.Locations.Add(shopLocation);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View("~/Views/Admin/ShopLocation/Index.cshtml", shopLocation));
        }
Пример #9
0
        // GET: ShopLocations/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ShopLocation shopLocation = db.Locations.Find(id);

            if (shopLocation == null)
            {
                return(HttpNotFound());
            }
            return(View("~/Views/Admin/ShopLocation/Delete.cshtml", shopLocation));
        }
Пример #10
0
        public async Task <IActionResult> GetById([FromRoute] int id)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"SELECT Id, LocationName, LocationAddress
                                        FROM ShopLocation
                                        WHERE Id = @Id";
                    cmd.Parameters.Add(new SqlParameter("@id", id));

                    SqlDataReader reader = await cmd.ExecuteReaderAsync();

                    ShopLocation shopLocation = null;

                    if (reader.Read())
                    {
                        shopLocation = new ShopLocation
                        {
                            Id              = reader.GetInt32(reader.GetOrdinal("Id")),
                            LocationName    = reader.GetString(reader.GetOrdinal("LocationName")),
                            LocationAddress = reader.GetString(reader.GetOrdinal("LocationAddress")),
                        };
                    }

                    reader.Close();

                    if (shopLocation == null)
                    {
                        return(NotFound($"No shop location found with the Id of {id}"));
                    }

                    return(Ok(shopLocation));
                }
            }
        }
Пример #11
0
        public IActionResult Post([System.Web.Http.FromUri] string coordinates, [System.Web.Http.FromUri] string distance)
        {
            string    template = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location={0}&radius={1}&type=supermarket&keyword=bingo&fields=formatted_address,name&key={2}";
            string    request  = string.Format(template, coordinates, distance, API_KEY);
            WebClient webpage  = new WebClient();

            string[] crrdns   = coordinates.Split(',');
            var      response = webpage.DownloadString(request);

            RootObject model = JsonConvert.DeserializeObject <RootObject>(response);

            if (model.status != "OK")
            {
                return(BadRequest());
            }

            _db.Database.ExecuteSqlCommand("TRUNCATE TABLE [ShopLocations]");

            foreach (var result in model.results)
            {
                ShopLocation shop = new ShopLocation
                {
                    Name           = result.name,
                    Address        = result.vicinity,
                    GeoCoordinates = result.geometry.location.lat + "," + result.geometry.location.lng,
                    DistanceInKm   = MathHelp.GetDistanceFromLatLonInKm(double.Parse(crrdns[0], CultureInfo.InvariantCulture), double.Parse(crrdns[1], CultureInfo.InvariantCulture), result.geometry.location.lat, result.geometry.location.lng).ToString() + "km"
                };
                _db.ShopLocations.Add(shop);
            }
            _db.SaveChanges();

            var sh = new JsonResult(_db.ShopLocations.ToList());

            sh.ContentType = "application/json";
            sh.StatusCode  = 200;
            return(new JsonResult(sh));
        }