示例#1
0
        public ActionResult <CommonResponeModel> Delete(UserDeleteRequestModel model)
        {
            var user = userRepository.GetByUsername(model.Username);

            if (user != null)
            {
                user.IsActive = false; //Set user to in active

                user.InitBeforeSave(RequestUsername, InitType.Update);

                int result = userRepository.Update(user);

                if (result > 0)
                {
                    Result = new SuccessResult(ActionType.Delete, AppGlobal.DeleteSuccess);
                    Data   = user;
                }
                else
                {
                    Result = new ErrorResult(ActionType.Delete, AppGlobal.DeleteError);
                    Data   = user;
                }
            }
            else
            {
                string message = UserMessageGlobal.NotExistUser;
                Result = new ErrorResult(ActionType.Login, message);
            }

            return(GetCommonRespone());
        }
示例#2
0
        public async Task <IHttpActionResult> Delete([FromUri] UserDeleteRequestModel request)
        {
            if (!ModelState.IsValid || request == null)
            {
                return(Content((HttpStatusCode)412, ModelState));
            }

            using (var _db = new DatabaseContext())
            {
                IAuthorizationManager authorizationManager = new AuthorizationManager(_db);
                Session session = authorizationManager.ValidateAndUpdateSession(request.token);
                if (session == null)
                {
                    return(Content(HttpStatusCode.Unauthorized, "Session not valid!"));
                }

                try
                {
                    UserManager um   = new UserManager(_db);
                    User        user = await um.DeleteUser(_db, session.UserId);

                    return(Ok(user));
                }
                catch (Exception ex)
                {
                    if (ex is FailedDeleteException)
                    {
                        return(Content(HttpStatusCode.BadRequest, "Some applications failed to delete"));
                    }

                    if (ex is DbEntityValidationException)
                    {
                        return(Content(HttpStatusCode.InternalServerError, "Database error"));
                    }

                    return(Content(HttpStatusCode.InternalServerError, "Service Unavailable"));
                }
            }
        }