Esempio n. 1
0
        /// <summary>
        /// add a new user to DB
        /// </summary>
        /// <param name="enterUserId"></param>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <param name="firstName"></param>
        /// <param name="lastName"></param>
        /// <param name="roleId"></param>
        /// <param name="contactId"></param>
        /// <returns></returns>
        public static async Task <SignUpStatus> AddUser(int?enterUserId, string userName, string password, string firstName, string lastName, int?roleId, int?contactId)
        {
            using (var context = GetDBContext())
            {
                var user = GetUserByUsername(userName);

                if (user != null)
                {
                    return(SignUpStatus.UserExist);
                }

                SMA_Lookup_User entityUser = new SMA_Lookup_User();
                entityUser.LoginName    = userName;
                entityUser.Sel          = CryptoController.CreateSalt(12);
                entityUser.PasswordHash = CryptoController.GenerateSaltedHash(password, entityUser.Sel);
                entityUser.FirstName    = firstName;
                entityUser.LastName     = lastName;
                entityUser.EnterDate    = DateTime.Now;
                entityUser.IsActive     = true;
                entityUser.EnterUserId  = enterUserId;
                entityUser.RoleId       = roleId;
                entityUser.ContactId    = contactId;

                context.SMA_Lookup_User.Add(entityUser);
                var result = await context.SaveChangesAsync();


                if (result > 0)
                {
                    return(SignUpStatus.Success);
                }

                return(SignUpStatus.Failure);
            }
        }