public ActionResult <BaseResponse> Update(User request) { var response = new BaseResponse(); try { var user = _dacUser.Single(request.Id); if (user.Email != request.Email && !string.IsNullOrEmpty(request.Email)) { user.Email = request.Email; } if (user.Username != request.Username && !string.IsNullOrEmpty(request.Username)) { user.Username = request.Username; } if (user.Password != request.Password && !string.IsNullOrEmpty(request.Password)) { var passwordHash = Crypt.ToSHA256(request.Password); if (user.Password != passwordHash) { user.Password = passwordHash; } } if (user.Name != request.Name && !string.IsNullOrEmpty(request.Name)) { user.Name = request.Name; } if (user.Gender != request.Gender && request.Gender != char.MinValue) { user.Gender = request.Gender; } if (user.Phone != request.Phone && !string.IsNullOrEmpty(request.Phone)) { user.Phone = request.Phone; } if (user.Role != request.Role && !string.IsNullOrEmpty(request.Role)) { user.Role = request.Role; } _dacUser.Update(user); _dacUser.Commit(); response.Status.SetSuccess(); } catch (Exception e) { response.Status.SetError(e); } return(response); }
public static void CreateUser(User request, IDacUser dacUser) { if (dacUser.Single(u => u.Username.Equals(request.Username)) != null) { throw new Exception("username already used"); } if (dacUser.Single(u => u.Email.Equals(request.Email)) != null) { throw new Exception("email already used"); } var user = new Data.Entity.User { Id = request.Id, Username = request.Username, Password = Crypt.ToSHA256(request.Password), Name = request.Name, Email = request.Email, Gender = request.Gender, Phone = request.Phone, Role = request.Role }; dacUser.Insert(user); dacUser.Commit(); }