Exemplo n.º 1
0
        public async Task <bool> AddUserFavoriteShop(string userId, string shopId)
        {
            Shop shop = _context.Shops.Find(shopId);

            if (shop != null)
            {
                FavoriteShop favoriteShop = await _context.FavoriteShops.Where(x => x.UserId == userId && x.ShopId == shopId).FirstOrDefaultAsync();

                if (favoriteShop == null)
                {
                    FavoriteShop favorite = new FavoriteShop
                    {
                        Id       = Guid.NewGuid().ToString(),
                        ShopId   = shopId,
                        UserId   = userId,
                        IsActive = true,
                    };
                    _context.FavoriteShops.Add(favorite);
                }
                else
                {
                    favoriteShop.IsActive = true;
                }
                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> POST([FromBody] FavoriteShop favoriteShop)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                                        INSERT INTO FavoriteShops (ShopId, ShopName, ShopLocation, Rating, ShopImage, Contact, Street, CityStateZip, UserId)
                                        OUTPUT INSERTED.Id
                                        VALUES (@shopId, @shopName, @shopLocation, @rating, @shopImage, @contact, @street, @cityStateZip, @userId)";

                    cmd.Parameters.Add(new SqlParameter("@shopId", favoriteShop.ShopId));
                    cmd.Parameters.Add(new SqlParameter("@shopName", favoriteShop.ShopName));
                    cmd.Parameters.Add(new SqlParameter("@shopLocation", favoriteShop.ShopLocation));
                    cmd.Parameters.Add(new SqlParameter("@rating", favoriteShop.Rating));
                    cmd.Parameters.Add(new SqlParameter("@shopImage", favoriteShop.ShopImage));
                    cmd.Parameters.Add(new SqlParameter("@contact", favoriteShop.Contact));
                    cmd.Parameters.Add(new SqlParameter("@street", favoriteShop.Street));
                    cmd.Parameters.Add(new SqlParameter("@cityStateZip", favoriteShop.CityStateZip));
                    cmd.Parameters.Add(new SqlParameter("@userId", favoriteShop.UserId));

                    int newId = (int)cmd.ExecuteScalar();
                    favoriteShop.Id = newId;
                    return(CreatedAtRoute("GetFavoriteShop", new { id = newId }, favoriteShop));
                }
            }
        }
Exemplo n.º 3
0
        public async Task <bool> RemoveUserFavoriteShop(string userId, string shopId)
        {
            Shop shop = _context.Shops.Find(shopId);

            if (shop != null)
            {
                FavoriteShop favoriteShop = await _context.FavoriteShops.Where(x => x.UserId == userId && x.ShopId == shopId).FirstOrDefaultAsync();

                if (favoriteShop != null)
                {
                    favoriteShop.IsActive = false;
                    await _context.SaveChangesAsync();

                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 4
0
        public async Task <IActionResult> GET([FromRoute] int id)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                        SELECT Id, ShopId, ShopName, ShopLocation, Rating, ShopImage, Contact, Street, CityStateZip, UserId 
                        FROM FavoriteShops
                        WHERE Id = @id";

                    cmd.Parameters.Add(new SqlParameter("@id", id));
                    SqlDataReader reader = cmd.ExecuteReader();

                    FavoriteShop favoriteShop = null;

                    if (reader.Read())
                    {
                        favoriteShop = new FavoriteShop
                        {
                            Id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            ShopId       = reader.GetString(reader.GetOrdinal("ShopId")),
                            ShopName     = reader.GetString(reader.GetOrdinal("ShopName")),
                            ShopLocation = reader.GetString(reader.GetOrdinal("ShopLocation")),
                            Rating       = reader.GetInt32(reader.GetOrdinal("Rating")),
                            ShopImage    = reader.GetString(reader.GetOrdinal("ShopImage")),
                            Contact      = reader.GetString(reader.GetOrdinal("Contact")),
                            Street       = reader.GetString(reader.GetOrdinal("Street")),
                            CityStateZip = reader.GetString(reader.GetOrdinal("CityStateZip")),
                            UserId       = reader.GetInt32(reader.GetOrdinal("UserId"))
                        };
                        reader.Close();

                        return(Ok(favoriteShop));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
            }
        }
Exemplo n.º 5
0
        public async Task <IActionResult> GET()
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                        SELECT Id, ShopId, ShopName, ShopLocation, Rating, ShopImage, Contact, Street, CityStateZip, UserId
                        FROM FavoriteShops
                       "
                    ;

                    SqlDataReader reader        = cmd.ExecuteReader();
                    var           favoriteShops = new List <FavoriteShop>();

                    while (reader.Read())
                    {
                        var favoriteShop = new FavoriteShop
                        {
                            Id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            ShopId       = reader.GetString(reader.GetOrdinal("ShopId")),
                            ShopName     = reader.GetString(reader.GetOrdinal("ShopName")),
                            ShopLocation = reader.GetString(reader.GetOrdinal("ShopLocation")),
                            Rating       = reader.GetInt32(reader.GetOrdinal("Rating")),
                            ShopImage    = reader.GetString(reader.GetOrdinal("ShopImage")),
                            Contact      = reader.GetString(reader.GetOrdinal("Contact")),
                            Street       = reader.GetString(reader.GetOrdinal("Street")),
                            CityStateZip = reader.GetString(reader.GetOrdinal("CityStateZip")),
                            UserId       = reader.GetInt32(reader.GetOrdinal("UserId"))
                        };

                        favoriteShops.Add(favoriteShop);
                    }
                    reader.Close();

                    return(Ok(favoriteShops));
                }
            }
        }