Exemple #1
0
        public static async Task <User> InsertUser(User user, string password)
        {
            SaltHashPair  shp = Security.CreateSaltAndHash(password);
            UserDataModel udm = new UserDataModel();
            DateTime      d   = DateTime.UtcNow;

            udm.UserId          = Guid.NewGuid();
            udm.Email           = user.Email;
            udm.AdminComment    = "Created By Couture Shock API";
            udm.PasswordSalt    = shp.Salt;
            udm.PasswordHash    = shp.Hash;
            udm.Active          = true;
            udm.IsSystemAccount = false;
            udm.SystemName      = "CSHOCK API";
            if (user.LastIpAddress != null)
            {
                udm.LastIpAddress = user.LastIpAddress;
            }
            else
            {
                udm.LastIpAddress = "n/a";
            }
            udm.CreatedOnUtc      = d;
            udm.CreatedBy         = "CS.API";
            udm.UpdatedBy         = "CS.API";
            udm.UpdatedOnUtc      = d;
            udm.AccessFailedCount = 0;

            using (var conn = Business.Database.Connection)
            {
                var newUsers = await conn.QueryAsync <User>("UserInsert", new
                {
                    udm.UserId,
                    udm.Email,
                    udm.AdminComment,
                    udm.PasswordSalt,
                    udm.PasswordHash,
                    udm.Active,
                    udm.IsSystemAccount,
                    udm.SystemName,
                    udm.LastIpAddress,
                    udm.CreatedOnUtc,
                    udm.CreatedBy,
                    udm.UpdatedBy,
                    udm.UpdatedOnUtc,
                    udm.AccessFailedCount
                },
                                                            commandType : CommandType.StoredProcedure);

                if (newUsers.Count() > 0)
                {
                    return(newUsers.AsList()[0]);
                }
                return(null);
            }
        }
Exemple #2
0
        public static async Task <User> UpdateUser(User user, string password)
        {
            try
            {
                SaltHashPair  shp = Security.CreateSaltAndHash(password);
                UserDataModel udm = new UserDataModel();
                DateTime      d   = DateTime.UtcNow;
                udm.UserId          = user.UserId;
                udm.AdminComment    = "Password Updated On: " + d.ToString();
                udm.PasswordSalt    = shp.Salt;
                udm.PasswordHash    = shp.Hash;
                udm.Active          = user.IsActive;
                udm.IsSystemAccount = false;
                udm.SystemName      = "CSHOCK API";
                if (user.LastIpAddress != null)
                {
                    udm.LastIpAddress = user.LastIpAddress;
                }
                else
                {
                    udm.LastIpAddress = "n/a";
                }
                udm.UpdatedBy         = "CS.API";
                udm.UpdatedOnUtc      = d;
                udm.AccessFailedCount = 0;

                using (var conn = Business.Database.Connection)
                {
                    var newUsers = await conn.QueryAsync <User>("UserUpdate", new
                    {
                        udm.UserId,
                        udm.AdminComment,
                        udm.PasswordSalt,
                        udm.PasswordHash,
                        udm.Active,
                        udm.SystemName,
                        udm.LastIpAddress,
                        udm.UpdatedBy,
                        udm.UpdatedOnUtc,
                        udm.AccessFailedCount
                    },
                                                                commandType : CommandType.StoredProcedure);

                    if (newUsers.Count() > 0)
                    {
                        return(newUsers.AsList()[0]);
                    }
                    return(null);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(null);
            }
        }
Exemple #3
0
        public static async Task <User> InsertUser(User user, string password)
        {
            SaltHashPair  shp = Security.CreateSaltAndHash(password);
            UserDataModel udm = new UserDataModel();
            DateTime      d   = DateTime.UtcNow;

            udm.UserId            = Guid.NewGuid();
            udm.Email             = user.Email;
            udm.AdminComment      = "This is a test account";
            udm.PasswordSalt      = shp.Salt;
            udm.PasswordHash      = shp.Hash;
            udm.Active            = true;
            udm.IsSystemAccount   = true;
            udm.SystemName        = "Test System";
            udm.LastIpAddress     = "100.111.111.12";
            udm.CreatedOnUtc      = d;
            udm.CreatedBy         = "Admin";
            udm.UpdatedBy         = "Admin";
            udm.UpdatedOnUtc      = d;
            udm.AccessFailedCount = 0;

            using (var conn = Business.Database.Connection)
            {
                var newUsers = await conn.QueryAsync <User>("UserInsert", new {
                    udm.UserId,
                    udm.Email,
                    udm.AdminComment,
                    udm.PasswordSalt,
                    udm.PasswordHash,
                    IsActive        = true,
                    IsSystemAccount = false,
                    SystemName      = "Test System",
                    udm.LastIpAddress,
                    CreatedOnUtc = d,
                    udm.CreatedBy,
                    udm.UpdatedBy,
                    UpdatedOnUtc      = d,
                    AccessFailedCount = 0
                },
                                                            commandType : CommandType.StoredProcedure);

                if (newUsers.Count() > 0)
                {
                    return(newUsers.AsList()[0]);
                }
                return(null);
            }
        }