public IActionResult Update([FromBody] Mediterranean item) { var session = HttpContext.Get <LoggableEntities>(_context); var current_User = session == null ? null : session.User; var current_Admin = session == null ? null : session.Admin; var allowed_items = ApiTokenValid ? _context.Mediterranean : _context.Mediterranean; if (!allowed_items.Any(i => i.Id == item.Id)) { return(Unauthorized()); } var new_item = item; var can_edit_by_token = ApiTokenValid || true; if (item == null || !can_edit_by_token) { return(Unauthorized()); } // throw new Exception("Unauthorized edit attempt"); _context.Update(new_item); _context.Entry(new_item).Property(x => x.CreatedDate).IsModified = false; _context.SaveChanges(); return(Ok()); }
public IActionResult /*Mediterranean*/ Create() { var session = HttpContext.Get <LoggableEntities>(_context); var current_User = session == null ? null : session.User; var current_Admin = session == null ? null : session.Admin; var can_create_by_token = ApiTokenValid || true; if (!can_create_by_token) { return(Unauthorized()); } // throw new Exception("Unauthorized create attempt"); var item = new Mediterranean() { CreatedDate = DateTime.Now, Id = _context.Categorie.Max(i => i.Id) + 1 }; _context.Mediterranean.Add(PortableRecipes.Models.Mediterranean.FilterViewableAttributesLocal(current_User, current_Admin)(item)); _context.SaveChanges(); item = PortableRecipes.Models.Mediterranean.WithoutImages(item); return(Ok(item)); }
public IActionResult /*IEnumerable<Mediterranean>*/ CreateNewCategorie_Meal_Mediterranean(int Meal_id) { var session = HttpContext.Get <LoggableEntities>(_context); var current_User = session == null ? null : session.User; var current_Admin = session == null ? null : session.Admin; var allowed_sources = ApiTokenValid ? _context.Meal : _context.Meal; var source = allowed_sources.FirstOrDefault(s => s.Id == Meal_id); var can_create_by_token = ApiTokenValid || true; if (source == null || !can_create_by_token) { return(Unauthorized()); } // throw new Exception("Cannot create item in relation Categorie_Meals"); var can_link_by_token = ApiTokenValid || true; if (!CanAdd_Meal_Categorie_Meals(source) || !can_link_by_token) { return(Unauthorized()); } //throw new Exception("Cannot add item to relation Categorie_Meals"); var new_target = new Mediterranean() { CreatedDate = DateTime.Now, Id = _context.Categorie.Max(i => i.Id) + 1 }; _context.Mediterranean.Add(new_target); _context.SaveChanges(); var link = new Categorie_Meal() { Id = _context.Categorie_Meal.Max(l => l.Id) + 1, MealId = source.Id, CategorieId = new_target.Id }; _context.Categorie_Meal.Add(link); _context.SaveChanges(); return(Ok(new Mediterranean[] { new_target })); }