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); }
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)); } } }
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); }
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()); } } } }
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)); } } }