示例#1
0
        public bool InsertUser(CredentialsEntity credentials, UserPropertiesEntity userProperties,
                               UserPermissionsEntity userPermissions)
        {
            var sqlConnection = DatabaseConnection.Instance.GetConnection();
            var trasaction    = sqlConnection.BeginTransaction("Insert user transaction");

            try
            {
                var insertUserCredentialsQuery = string.Format("INSERT INTO {0} VALUES ('{1}','{2}')", DbConstants.UsersTable,
                                                               credentials.UserName, credentials.Password);

                var sqlCommand = sqlConnection.CreateCommand();
                sqlCommand.Transaction = trasaction;

                sqlCommand.CommandText = insertUserCredentialsQuery;

                sqlCommand.ExecuteNonQuery();

                var getUserIdQuery = string.Format("Select Id From {0} where {1}='{2}' and {3}='{4}'",
                                                   DbConstants.UsersTable, DbConstants.UserTable_UserName, credentials.UserName, DbConstants.UserTable_PasswordColoumn,
                                                   credentials.Password);

                sqlCommand.CommandText = getUserIdQuery;
                var sqlDataReader = sqlCommand.ExecuteReader();
                sqlDataReader.Read();
                var userId = (int)sqlDataReader[0];
                sqlDataReader.Close();

                var insertIntoUserPropertiesQuery = string.Format("Insert Into {0} Values({1},'{2}','{3}','{4}', {5})",
                                                                  DbConstants.UserPropertiesTable, userId, userProperties.Title, userProperties.FirstName,
                                                                  userProperties.LastName, 0);

                sqlCommand.CommandText = insertIntoUserPropertiesQuery;
                sqlCommand.ExecuteNonQuery();

                var insertIntoUserPermissionsQuery = string.Format("Insert Into {0} Values({1}, {2}, {3}, {4}, {5}, {6}, {7})",
                                                                   "UserPermissions",
                                                                   userId,
                                                                   userPermissions.CanCreateProject.GetBitValue(),
                                                                   userPermissions.CanEditProject.GetBitValue(),
                                                                   userPermissions.CanCreateTask.GetBitValue(),
                                                                   userPermissions.CanEditTask.GetBitValue(),
                                                                   userPermissions.CanAssignTask.GetBitValue(),
                                                                   userPermissions.CanCloseTask.GetBitValue());

                sqlCommand.CommandText = insertIntoUserPermissionsQuery;
                sqlCommand.ExecuteNonQuery();

                trasaction.Commit();
                return(true);
            }
            catch (Exception)
            {
                trasaction.Rollback();
                return(false);
            }
        }
示例#2
0
        public bool TryCreateFirstUser(UserCredentials userCredentials, UserPropertiesEntity userProperties,
                                       UserPermissionsEntity userPermissions)
        {
            Validate();

            if (_userDatabaseManager.IsUsernameExists(userCredentials.UserName) && CurrentUser != null)
            {
                return(false);
            }

            return(_userDatabaseManager.InsertUser(userCredentials, userProperties, userPermissions));
        }
示例#3
0
        private UserPermissionsEntity GetPermissions()
        {
            var permissions = new UserPermissionsEntity
            {
                CanCreateProject = CanCreateProject,
                CanEditProject   = CanEditProject,
                CanCreateTask    = CanCreateTask,
                CanEditTask      = CanEditTask,
                CanAssignTask    = CanAssignTask,
                CanCloseTask     = CanCloseTask
            };

            return(permissions);
        }
示例#4
0
 public UserEntity(int id, UserPropertiesEntity userPropertiesEntity, UserPermissionsEntity userPermissionsEntity)
 {
     Id = id;
     UserPropertiesEntity  = userPropertiesEntity;
     UserPermissionsEntity = userPermissionsEntity;
 }
示例#5
0
 public UserPermissions(UserPermissionsEntity permissionsContext)
 {
     _permissionsContext = permissionsContext;
 }