public static async Task<Response> CreateUserAsync(AddUserModel registerModel)
 {
     var response = new Response();
     var context = new AdminDbContext();
     ValidateUser(registerModel, response);
     if (!response.Success)
     {
         return response;
     }
     if (context.Users.Any(u => u.Email.Equals(registerModel.Email)))
     {
         response.AddMessage(false, "This email is already registered", ResponseMessageType.Warning);
     }
     else
     {
         var user = new User();
         user.Email = registerModel.Email;
         user.Password = GenerateHashWithSalt(registerModel.Password, registerModel.Email);
         user.PasswordSalt = Path.GetRandomFileName();
         user.RegisterDate = registerModel.RegisterDate;
         user.Active = registerModel.Active;
         context.Users.Add(user);
         await context.SaveChangesAsync();
     }
     return response;
 }
 public static Response Create(RegisterModel registerModel)
 {
     var response = new Response();
     var context = new AdminDbContext();
     if (context.Users.Any(u => u.Email.Equals(registerModel.Email)))
     {
         response.AddMessage(false, "This email is already registered", ResponseMessageType.Warning);
     }
     else
     {
         var user = new User();
         user.Email = registerModel.Email;
         user.Password = GenerateHashWithSalt(registerModel.Password, registerModel.Email);
         user.PasswordSalt = Path.GetRandomFileName();
         context.Users.Add(user);
         context.SaveChanges();
     }
     return response;
 }