public async Task <ActionResult <FavouriteRecipe> > PostFavouriteRecipe(FavouriteRecipe favouriteRecipe) { _context.FavouriteRecipes.Add(favouriteRecipe); await _context.SaveChangesAsync(); return(CreatedAtAction("GetFavouriteRecipe", new { userId = favouriteRecipe.AppUserId, recipeId = favouriteRecipe.RecipeId }, favouriteRecipe)); }
public async Task <IActionResult> AddRecipeToFav(int userId, int recipeId) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var like = await _recipesRepository.GetFav(userId, recipeId); if (like != null) { return(BadRequest("You allready like this recipe")); } if (await _recipesRepository.GetRecipe(recipeId) == null) { return(NotFound()); } like = new FavouriteRecipe { UserId = userId, RecipeId = recipeId }; _recipesRepository.Add <FavouriteRecipe>(like); if (await _recipesRepository.SaveAll()) { return(Ok()); } return(BadRequest("Failed to fav recipe")); }
public async Task <IActionResult> Create(FavouriteRecipe favouriteRecipe) { //ViewData["RecipeId"] = new SelectList(_context.Recipes, "Id", "Id", favouriteRecipe.RecipeId); if (!ModelState.IsValid) { return(View(favouriteRecipe)); } try { var client = new HttpClient(); string json = JsonConvert.SerializeObject(favouriteRecipe); var response = await client.PostAsync(_baseUrl, new StringContent(json, Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { return(RedirectToAction("Index")); } } catch (Exception ex) { ModelState.AddModelError(string.Empty, $"Unable to create record:{ex.Message}"); } return(View(favouriteRecipe)); }
public List <FavouriteRecipe> GetALL(int id) { List <FavouriteRecipe> temp = new List <FavouriteRecipe>(); using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.conStr)) { SqlCommand cmd = new SqlCommand("spGetAll_FavouriteRecipe", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UserID", id); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { FavouriteRecipe favouriteRecipe = new FavouriteRecipe() { RecipeID = dr.GetInt32(0), UserID = dr.GetInt32(2), IsFavourite = dr.GetBoolean(14) }; temp.Add(favouriteRecipe); } conn.Close(); } return(temp); }
public void Add(FavouriteRecipe favouriteRecipe) { using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.conStr)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "spInsert_FavouriteRecipe"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@RecipeID", favouriteRecipe.RecipeID); cmd.Parameters.AddWithValue("@UserID", favouriteRecipe.UserID); cmd.Parameters.AddWithValue("@IsFavourite", favouriteRecipe.IsFavourite); conn.Open(); try { cmd.ExecuteNonQuery(); } catch (SqlException) { throw new Exception("Não foi possivel inserir"); } finally { conn.Close(); } } }
public IActionResult Post(FavouriteRecipe favouriteRecipe) { if (favouriteRecipe == null) { BadRequest(); } var frFromDb = context.FavouriteRecipes. FirstOrDefault(fr => fr.RecipeId == favouriteRecipe.RecipeId && fr.UserId == favouriteRecipe.UserId); favouriteRecipe.CreatedAt = DateTime.Now; try { context.FavouriteRecipes.Add(favouriteRecipe); context.SaveChanges(); } catch (Exception ex) { Response.StatusCode = (int)HttpStatusCode.MethodNotAllowed; return(Json("Error - item is already marked as favourite")); } return(Ok()); }
public async Task <IActionResult> AddFavourite(int?id) { if (!id.HasValue) { return(NotFound()); } var recipe = recipesRepository.GetRecipe(id.Value); if (recipe == null) { return(NotFound()); } var userId = _userManager.GetUserId(HttpContext.User); ViewData["ApplicationUserId"] = new SelectList(usersRepository.GetAllUsers(), "Id", "Id", recipe.ApplicationUserId); if (!favouriteRecipesRepository.GetAllFavouriteRecipes().Any(fav => fav.RecipeId == id && fav.ApplicationUserId == userId)) { var favouriteRecipe = new FavouriteRecipe() { ApplicationUser = usersRepository.GetAllUsers().First(u => u.Id == userId), Recipe = recipe }; await favouriteRecipesRepository.Add(favouriteRecipe); } return(RedirectToAction(nameof(FavouriteRecipes))); }
public ActionResult DeleteConfirmed(int id) { FavouriteRecipe favouriteRecipe = db.FavouriteRecipies.Find(id); db.FavouriteRecipies.Remove(favouriteRecipe); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "UserId,ReceipeId")] FavouriteRecipe favouriteRecipe) { if (ModelState.IsValid) { db.Entry(favouriteRecipe).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ReceipeId = new SelectList(db.Recipies, "Id", "Name", favouriteRecipe.ReceipeId); ViewBag.UserId = new SelectList(db.Users, "Id", "Login", favouriteRecipe.UserId); return(View(favouriteRecipe)); }
// GET: FavouriteRecipes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FavouriteRecipe favouriteRecipe = db.FavouriteRecipies.Find(id); if (favouriteRecipe == null) { return(HttpNotFound()); } return(View(favouriteRecipe)); }
// GET: FavouriteRecipes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FavouriteRecipe favouriteRecipe = db.FavouriteRecipies.Find(id); if (favouriteRecipe == null) { return(HttpNotFound()); } ViewBag.ReceipeId = new SelectList(db.Recipies, "Id", "Name", favouriteRecipe.ReceipeId); ViewBag.UserId = new SelectList(db.Users, "Id", "Login", favouriteRecipe.UserId); return(View(favouriteRecipe)); }
public async Task <IActionResult> Edit(string userId, int recipeId, [Bind("UserId,RecipeId")] FavouriteRecipe favouriteRecipe) { //ViewData["RecipeId"] = new SelectList(_context.Recipes, "Id", "Id", favouriteRecipe.RecipeId); if (!ModelState.IsValid) { return(View(favouriteRecipe)); } var client = new HttpClient(); string json = JsonConvert.SerializeObject(favouriteRecipe); var response = await client.PutAsync($"{_baseUrl}/{favouriteRecipe.AppUserId}/{favouriteRecipe.RecipeId}", new StringContent(json, Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { return(RedirectToAction("Index")); } return(View(favouriteRecipe)); }
public async Task <IActionResult> DeleteConfirmed([Bind("AppUserId,RecipeId")] FavouriteRecipe favouriteRecipe) { try { var client = new HttpClient(); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Delete, $"{_baseUrl}/{favouriteRecipe.AppUserId}/{favouriteRecipe.RecipeId}") { Content = new StringContent(JsonConvert.SerializeObject(favouriteRecipe), Encoding.UTF8, "application/json") }; var response = await client.SendAsync(request); return(RedirectToAction("Index")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, $"Unable to delete record:{ex.Message}"); } return(View(favouriteRecipe)); }
public void Update(FavouriteRecipe favouriteRecipe) { using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.conStr)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "spUpdate_Insert_FavouriteRecipe"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@RecipeID", favouriteRecipe.RecipeID); cmd.Parameters.AddWithValue("@UserID", favouriteRecipe.UserID); cmd.Parameters.AddWithValue("@IsFavourite", favouriteRecipe.IsFavourite); conn.Open(); int affectedRows = cmd.ExecuteNonQuery(); if (affectedRows != 1) { throw new Exception("Não foi possivel alterar os dados"); } } }
public async Task Add(FavouriteRecipe favourite) { db.FavouriteRecipes.Add(favourite); await db.SaveChangesAsync(); }
public async Task <IActionResult> PutFavouriteRecipe(string userId, int recipeId, FavouriteRecipe favouriteRecipe) { if (userId != favouriteRecipe.AppUserId || recipeId != favouriteRecipe.RecipeId) { return(BadRequest()); } _context.Entry(favouriteRecipe).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FavouriteRecipeExists(userId, recipeId)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void Update(FavouriteRecipe favouriteRecipe) { _repo.Update(favouriteRecipe); }
public void Add(FavouriteRecipe favouriteRecipe) { _repo.Add(favouriteRecipe); }