예제 #1
0
        public async Task <IActionResult> Delete(
            [HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = "recipe/{id}")] HttpRequest req,
            string id,
            ILogger log,
            ClaimsPrincipal user)
        {
            if (!_authorizationManager.CanManageRecipes(user))
            {
                return(new ForbidResult());
            }

            await _manager.Delete(id);

            return(new OkResult());
        }
        public async Task <IActionResult> DeleteAccount(string id)
        {
            var user = await UserManager.FindByIdAsync(id);

            if (user == null)
            {
                return(NotFound());
            }

            var tokenid = this.User.Claims.FirstOrDefault(c => c.Type == "UserId").Value;

            if (id != tokenid)
            {
                return(Unauthorized());
            }

            RecipeManager  rm = new RecipeManager();
            CommentManager cm = new CommentManager();

            var comments = user.Comments;
            var recipes  = user.Recipes;

            if (comments != null)
            {
                foreach (var c in comments)
                {
                    cm.Delete(c.Id);
                }
            }

            if (recipes != null)
            {
                foreach (var r in recipes)
                {
                    rm.Delete(r.Id);
                }
            }

            var result = await UserManager.DeleteAsync(user);

            return(NoContent());
        }
 public IActionResult DeleteRecipe([FromRoute] int id)
 {
     manager.Delete(id);
     return(Ok());
 }