public IHttpActionResult Create([FromBody] LabelIngredientRequest req) { var ingredientName = req.IngredientName; var assignLabel = req.AssignLabel; using (FFDBContext db = new FFDBContext()) { string userID = User.Identity.GetUserId(); if (userID != null) { int ingredientID = db.LabelledIngredients.Where(s => s.Name == ingredientName).Select(s => s.ID).FirstOrDefault(); if (ingredientID == 0) { LabelledIngredient labelIngredient = new LabelledIngredient { Name = ingredientName }; try { db.LabelledIngredients.Add(labelIngredient); db.SaveChanges(); ingredientID = labelIngredient.ID; } catch { var jsonData_failed_ingredient_add = new JsonResponse { success = false, message = "Ingredient not added to database", redirect = false }; return(Ok(jsonData_failed_ingredient_add)); } } if (db.UserIngredients.Where(s => s.LabelledIngredientID == ingredientID && s.userID == userID).Count() > 0) { var existingRecord = db.UserIngredients.FirstOrDefault(s => s.LabelledIngredientID == ingredientID && s.userID == userID); existingRecord.Label = assignLabel; db.SaveChanges(); var jsonData_edit_record = new JsonResponse { success = true, message = "Label has been changed in the record", redirect = false }; return(Ok(jsonData_edit_record)); } else { UserIngredient userIng = new UserIngredient(userID, assignLabel, ingredientID); try { db.UserIngredients.Add(userIng); db.SaveChanges(); var jsonData_success = new JsonResponse { success = true, message = "Label has been saved.", redirect = false }; return(Ok(jsonData_success)); } catch (Exception e) { var jsonData_fail = new JsonResponse { success = false, message = $"Something went wrong: {e.InnerException.InnerException.Message}", redirect = false }; return(Ok(jsonData_fail)); } } } var jsonData3 = new JsonResponse { success = false, message = "User not logged in.", redirect = true }; return(Ok(jsonData3)); } }
//[ValidateAntiForgeryToken] public ContentResult Create(string assignLabel, string ingredientName) { string userID = User.Identity.GetUserId(); if (userID != null) { int ingredientID = db.LabelledIngredients.Where(s => s.Name == ingredientName).Select(s => s.ID).FirstOrDefault(); if (ingredientID == 0) { LabelledIngredient labelIngredient = new LabelledIngredient(); labelIngredient.Name = ingredientName; try { db.LabelledIngredients.Add(labelIngredient); db.SaveChanges(); ingredientID = labelIngredient.ID; } catch { var jsonData_failed_ingredient_add = new { success = false, message = "Ingredient not added to database", redirect = false }; var result = JObject.FromObject(jsonData_failed_ingredient_add); return(Content(result.ToString(), "Application/json")); } } if (db.UserIngredients.Where(s => s.LabelledIngredientID == ingredientID && s.userID == userID).Count() > 0) { var existingRecord = db.UserIngredients.FirstOrDefault(s => s.LabelledIngredientID == ingredientID && s.userID == userID); existingRecord.Label = assignLabel; db.SaveChanges(); var jsonData_edit_record = new { success = true, message = "Label has been changed in the record", redirect = false }; var result = JObject.FromObject(jsonData_edit_record); return(Content(result.ToString(), "Application/json")); } else { UserIngredient userIng = new UserIngredient(userID, assignLabel, ingredientID); try { db.UserIngredients.Add(userIng); db.SaveChanges(); var jsonData_success = new { success = true, message = "Label has been saved.", redirect = false }; var result = JObject.FromObject(jsonData_success); return(Content(result.ToString(), "Application/json")); } catch { var jsonData_fail = new { success = false, message = "Something went wrong", redirect = false }; var result2 = JObject.FromObject(jsonData_fail); return(Content(result2.ToString(), "Application/json")); } } } var jsonData3 = new { success = false, message = "User not logged in.", redirect = true }; var result3 = JObject.FromObject(jsonData3); return(Content(result3.ToString(), "Application/json")); }