public ActionResult LogAllergy(AddAllergenViewModel model) { var customer = GetCustomer(); AllergenJunction table = new AllergenJunction(); table = db.AllergensJunction.Where(a => a.CustomerId == customer.id && a.AllergenId == model.id).FirstOrDefault(); if (table == null) { table = new AllergenJunction(); table.AllergenId = model.id; table.CustomerId = customer.id; db.AllergensJunction.Add(table); db.SaveChanges(); } AddAllergenViewModel newModel = new AddAllergenViewModel(); newModel.allergens = new SelectList(db.Allergens.ToList(), "id", "KnownAllergies"); return(View(newModel)); }
public IHttpActionResult DeleteAllergen(int id) { Allergen allergen = db.Allergens.Find(id); string userId = User.Identity.GetUserId(); RemoveAllergenFromLog(id); Customer customer = db.Customers.Where(c => c.ApplicationUserId == userId).FirstOrDefault(); if (allergen == null) { return(NotFound()); } try { AllergenTotal total = db.AllergenTotals.Where(a => a.AllergenId == id).FirstOrDefault(); db.AllergenTotals.Remove(total); } catch { } try { AllergenJunction user = db.AllergensJunction.Where(a => a.AllergenId == id && a.CustomerId == customer.id).FirstOrDefault(); db.AllergensJunction.Remove(user); } catch { } try { List <AllergenReactionJunction> logged = db.AllergensReactionsJunction.Where(a => a.AllergenId == id && a.CustomerId == customer.id).ToList(); db.AllergensReactionsJunction.RemoveRange(logged); } catch { } db.Allergens.Remove(allergen); db.SaveChanges(); return(Ok(allergen)); }