public async Task <ResultDTO> deleteUser([FromBody] UserAdditionalDTO model) { try { if (!ModelState.IsValid) { return(new ResultDTO { Status = 404, Message = "model not valid" }); } var userA = _eFContext.UserAdditional.FirstOrDefault(x => x.FullName == model.FullName); var user = _eFContext.Users.FirstOrDefault(x => x.Id == userA.Id); var allUserNews = _newsService.GetAllNews().Where(x => x.ManagerName == userA.FullName).ToArray(); foreach (var item in allUserNews) { var commentList = _commentService.GetAllComment().Where(x => x.NewsId == item.Id).ToArray(); foreach (var item2 in commentList) { _commentService.DeleteComment(item2); } var isFavorite = _newsService.GetAllFavorite().FirstOrDefault(x => x.NewsId == item.Id); if (isFavorite != null) { _newsService.deleteFavorite(isFavorite); } _newsService.deleteNews(item); } await _userManager.RemoveFromRoleAsync(user, userA.UserRole); _userService.deleteUser(userA); _eFContext.Users.Remove(user); _eFContext.SaveChanges(); return(new ResultDTO { Status = 200, Message = "ok" }); } catch (Exception e) { return(new ResultDTO { Status = 400, Message = e.Message }); } }
public UserAdditionalDTO getCurrentUser(string id) { var currentUser = _eFContext.Users.FirstOrDefault(x => x.Id == id); var user = _eFContext.UserAdditional.FirstOrDefault(x => x.User.Id == id); UserAdditionalDTO u = new UserAdditionalDTO() { FullName = user.FullName, Image = user.Image, Address = user.Address, DataRegister = user.DataRegister, UserRole = user.UserRole, PublishCount = user.PublishCount }; return(u); }
public async Task <ResultDTO> editUser([FromBody] UserAdditionalDTO model, [FromRoute] string id) { try { if (!ModelState.IsValid) { return(new ResultDTO { Status = 404, Message = "model not valid" }); } var editUser = _eFContext.UserAdditional.FirstOrDefault(x => x.User.Id == id); editUser.FullName = model.FullName; editUser.Image = model.Image; editUser.Address = model.Address; _userService.editUser(editUser); return(new ResultDTO { Status = 200, Message = "ok" }); } catch (Exception e) { return(new ResultDTO { Status = 400, Message = e.Message }); } }