public UserAccount(Guid userId, Guid personId, string userName, string password, 
     PermissionSet permissionSet, bool isHashed)
     : base()
 {
     _userAccountId = userId;
     base.PersonId = personId;
     _userName = userName;
     _permissionSet = permissionSet;
     if (isHashed)
         _password = password;
     else
         _password = CalculateHash(password);
 }
 public void ClearPermissionSet()
 {
     PermissionSet = new PermissionSet();
 }
        private void btnCreateUser_Click(object sender, EventArgs e)
        {
            bool userInfoIsValid = ValidateUserInformation();
            if (!userInfoIsValid)
                return;

            UserAccount newUser = new UserAccount(txtUsername.Text, txtUserPassword.Text, false);
            newUser.EmailAddress = txtEmailAddress.Text;
            newUser.FirstName = txtFirstName.Text;
            newUser.LastName = txtLastName.Text;
            newUser.PhoneNumber = txtPhoneNumber.Text;

            foreach(object item in chklstRoles.CheckedItems)
            {
                PermissionSet permissionSet = new PermissionSet();
                switch (item.ToString())
                {
                    case "Operational Manager":
                        permissionSet.IsOperationsManager = true;
                        permissionSet.IsStockClerk = true;
                        permissionSet.IsSalesPerson = true;
                        permissionSet.IsWorkSpecialist = true;
                        break;
                    case "Sales Person": permissionSet.IsSalesPerson = true;
                        break;
                    case "Printing / Engraving Specialist": permissionSet.IsWorkSpecialist = true;
                        break;
                    case "Stock Clerk": permissionSet.IsStockClerk = true;
                        break;
                }
                newUser.PermissionSet = permissionSet;
            }

            int returnValue = ApplicationObjects.NewUser(newUser);
            ApplicationObjects.DisplayDataStatus(returnValue);
            if (returnValue == 1)
            {
                return;
            }
            else if (returnValue == 2)
            {
                MessageBox.Show("A user by this name already exists.", "Duplicate User", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            _loginForm.ShowManagerMainForm(userAccount, _loginForm);
            this.Close();
        }
예제 #4
0
        //Jorge Luis|24/10/2017|RW-19
        /*Método para crear un txt con la ruta de la instacia de Contasis*/
        public bool createPathFile()
        {
            bool          comprobacionExito     = false;
            List <string> listInstancesContasis = new List <string>();

            listInstancesContasis = verificarInstancia.getInstanceContasis();
            if (listInstancesContasis.Count() > 1 || listInstancesContasis.Count() == 0)
            {
                FolderBrowserDialog CarpetaDatos = new FolderBrowserDialog();
                DialogResult        resultado    = MessageBox.Show("Hemos detectado más de una o ninguna instancia de Contasis. Antes de empezar debe proporcionar su instancia de Contasis. Por favor, ubique la ruta donde realizó la instalación, ejemplo: 'C:/Contasis14'.", "Comprobación de existencia de path", MessageBoxButtons.OK, MessageBoxIcon.Information);
                resultado = CarpetaDatos.ShowDialog();
                /*Otorga permisos ilimitados*/
                PermissionSet perms = new PermissionSet(null);
                perms.AddPermission(new UIPermission(PermissionState.Unrestricted));
                perms.AddPermission(new RegistryPermission(PermissionState.Unrestricted));
                /*realiza la creación de un archivo, sólo despues de pasar las siguientes validaciones*/
                if (ValidateCreationPathFile(CarpetaDatos.SelectedPath.ToString()))
                {
                    /*Comprueba que el usuario le haya otorgado una ruta*/
                    if (resultado == DialogResult.OK)
                    {
                        bool comprobacionFile = ComprobarExistenciaPathFile();
                        /*Comprueba la existencia de este archivo, y de validarlo, lo crea.*/
                        if (comprobacionFile)
                        {
                            File.Delete(PathFile);
                            File.Delete(PathFileInit);
                            using (StreamWriter createFile = new StreamWriter(PathFile, false))
                                createFile.WriteLine(CarpetaDatos.SelectedPath.ToString());
                            using (StreamWriter createFileInit = new StreamWriter(PathFileInit, false))
                                createFileInit.WriteLine(CarpetaDatos.SelectedPath.ToString());
                        }
                        else
                        {
                            using (StreamWriter createFile = new StreamWriter(PathFile, false))
                            {
                                createFile.WriteLine(CarpetaDatos.SelectedPath.ToString());
                                MessageBox.Show("Ruta correcta", "Comprobación de ruta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            using (StreamWriter createFileInit = new StreamWriter(PathFileInit, false))
                                createFileInit.WriteLine(CarpetaDatos.SelectedPath.ToString());
                        }
                        comprobacionExito = true;
                    }
                    else
                    {
                        MessageBox.Show("Lo sentimos, no se pudo ubicar la instancia de Contasis.", "Error de comprobación de existencia de path", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Lo sentimos, no se pudo ubicar la instancia de Contasis.", "Error de comprobación de existencia de path", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                if (ValidateCreationPathFile(listInstancesContasis[0].ToString()))
                {
                    /*Comprueba la existencia de este archivo, y de validarlo, lo crea.*/
                    if (ComprobarExistenciaPathFile())
                    {
                        File.Delete(PathFile);
                        File.Delete(PathFileInit);
                        using (StreamWriter createFile = new StreamWriter(PathFile, false))
                            createFile.WriteLine(listInstancesContasis[0].ToString());
                        using (StreamWriter createFileInit = new StreamWriter(PathFileInit, false))
                            createFileInit.WriteLine(listInstancesContasis[0].ToString());
                    }
                    else
                    {
                        using (StreamWriter createFile = new StreamWriter(PathFile, false))
                            createFile.WriteLine(listInstancesContasis[0].ToString());
                        using (StreamWriter createFileInit = new StreamWriter(PathFileInit, false))
                            createFileInit.WriteLine(listInstancesContasis[0].ToString());
                    }
                    comprobacionExito = true;
                }
                else
                {
                    FolderBrowserDialog CarpetaDatos = new FolderBrowserDialog();
                    DialogResult        resultado    = MessageBox.Show("Estamos teniendo problemas con la ruta de la instalación de Contasis, probablemente haya realizado la instalación en un disco diferente a 'C', debe proporcionar su instancia de Contasis. Por favor, ubique la ruta donde realizó la instalación, ejemplo: 'C:/Contasis14'.", "Comprobación de existencia de path", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    resultado = CarpetaDatos.ShowDialog();
                    /*Otorga permisos ilimitados*/
                    PermissionSet perms = new PermissionSet(null);
                    perms.AddPermission(new UIPermission(PermissionState.Unrestricted));
                    perms.AddPermission(new RegistryPermission(PermissionState.Unrestricted));
                    /*realiza la creación de un archivo, sólo despues de pasar las siguientes validaciones*/
                    if (ValidateCreationPathFile(CarpetaDatos.SelectedPath.ToString()))
                    {
                        /*Comprueba que el usuario le haya otorgado una ruta*/
                        if (resultado == DialogResult.OK)
                        {
                            bool comprobacionFile = ComprobarExistenciaPathFile();
                            /*Comprueba la existencia de este archivo, y de validarlo, lo crea.*/
                            if (comprobacionFile)
                            {
                                File.Delete(PathFile);
                                File.Delete(PathFileInit);
                                using (StreamWriter createFile = new StreamWriter(PathFile, false))
                                    createFile.WriteLine(CarpetaDatos.SelectedPath.ToString());
                                using (StreamWriter createFileInit = new StreamWriter(PathFileInit, false))
                                    createFileInit.WriteLine(CarpetaDatos.SelectedPath.ToString());
                            }
                            else
                            {
                                using (StreamWriter createFile = new StreamWriter(PathFile, false))
                                    createFile.WriteLine(CarpetaDatos.SelectedPath.ToString());
                                using (StreamWriter createFileInit = new StreamWriter(PathFileInit, false))
                                    createFileInit.WriteLine(CarpetaDatos.SelectedPath.ToString());
                            }
                            comprobacionExito = true;
                        }
                        else
                        {
                            MessageBox.Show("Lo sentimos, no se pudo ubicar la instancia de Contasis.", "Error de comprobación de existencia de path", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Lo sentimos, no se pudo ubicar la instancia de Contasis.", "Error de comprobación de existencia de path", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }

            return(comprobacionExito);
        }