예제 #1
0
        public void ControlClickMethod(object sender, EventArgs e)
        {
            for (; Index < ArrayControl.Length; Index++)
            {
                if (ArrayControl[Index] == sender)
                {
                    break;
                }
            }
            switch (Index)
            {
            case 0:     //ButtonExamine
            {
                using (OpenFileDialog ObjFile = new OpenFileDialog())
                {
                    ObjFile.Title            = "Archivo CSV para importación de usuarios";
                    ObjFile.Filter           = "CSV Files (*.csv) | *.csv";
                    ObjFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                    ObjDialog = ObjFile.ShowDialog();
                    if (ObjDialog == DialogResult.OK)
                    {
                        string[] ArrayLinea;
                        int      x = 0;
                        try
                        {
                            string[] Lineas = File.ReadAllLines(ObjFile.FileName);
                            ObjSearch.Table.Rows.Clear();
                            GridSearch.DataSource = null;
                            if (GridSearch.Columns.Count > 0)
                            {
                                GridSearch.Columns.Clear();
                            }
                            if (GridSearch.Rows.Count > 0)
                            {
                                GridSearch.Rows.Clear();
                            }
                            foreach (string linea in Lineas)
                            {
                                x++;
                                DataRow Fila = ObjSearch.Table.NewRow();
                                string  temp = ObjValidations.RemoveAccent(linea.ToUpper());
                                temp       = ObjValidations.CleanLineaImport(temp);
                                ArrayLinea = temp.Split(',');
                                Fila["NUMERO DE CONTROL"]      = ArrayLinea[0];
                                Fila["NOMBRES"]                = ArrayLinea[1];
                                Fila["APELLIDO PATERNO"]       = ArrayLinea[2];
                                Fila["APELLIDO MATERNO"]       = ArrayLinea[3];
                                Fila["DEPARTAMENTO O CARRERA"] = ArrayLinea[4];
                                Fila["SEXO"]   = (ArrayLinea[5] == "M" || ArrayLinea[5] == "HOMBRE" || ArrayLinea[5] == "MASCULINO") ? "M" : "F";
                                Fila["STATUS"] = (ArrayLinea[6] == "A" || ArrayLinea[6] == "I" || ArrayLinea[6] == "ACTIVO" || ArrayLinea[6] == "ACT" || ArrayLinea[6] != "EGR" || ArrayLinea[6] != "EGRESADO") ? "A" : "I";
                                ObjSearch.Table.Rows.Add(Fila);
                            }
                            GridSearch.DataSource = ObjSearch.Table;
                            DataGridViewButtonColumn ObjButtonColumnEdit = new DataGridViewButtonColumn();
                            {
                                ObjButtonColumnEdit.Name       = "EDITAR";
                                ObjButtonColumnEdit.HeaderText = "EDITAR";
                                ObjButtonColumnEdit.Text       = "EDITAR";
                                ObjButtonColumnEdit.FlatStyle  = FlatStyle.Flat;
                                ObjButtonColumnEdit.UseColumnTextForButtonValue = true;
                                GridSearch.Columns.Add(ObjButtonColumnEdit);
                            }
                            GridSearch.CellClick += GridSearchCellClickMethod;
                            GridSearch.Columns["EDITAR"].DisplayIndex = GridSearch.Columns.Count - 1;
                        }
                        catch (Exception Error)
                        {
                            MessageBox.Show("Error: " + Error.ToString());
                        }
                    }
                }
                if (GridSearch.Rows.Count > 0)
                {
                    LabelTotal.Text           = GridSearch.Rows.Count.ToString();
                    ButtonImportTable.Enabled = true;
                }
                else
                {
                    LabelTotal.Text           = "0";
                    ButtonImportTable.Enabled = false;
                }
                break;
            }

            case 1:     //ButtonImportTable
            {
                if (GridSearch.Rows.Count > 0)
                {
                    using (Alerts ObjAlerts = new Alerts("Confirmación de Importación", "", "Usted está por realizar una importación de usuarios. La cantidad de usuarios a importar es de: " + GridSearch.Rows.Count.ToString() + "\n\n¿Está seguro de importar esta cantidad?", 1, "", "", "OK", TypeIcon.Warning))
                    {
                        if (ObjAlerts.ShowDialog() == DialogResult.OK)
                        {
                            DataTable TablaAuxiliar;
                            TablaAuxiliar = ObjSearch.Table.Copy();
                            TablaAuxiliar.Rows.Clear();
                            DataColumn ColumnaError = new DataColumn("RESULTADO DE OPERACION", typeof(string))
                            {
                                Caption = "RESULTADO DE OPERACION", ReadOnly = false, AutoIncrement = false, AllowDBNull = false
                            };
                            TablaAuxiliar.Columns.Add(ColumnaError);
                            int Contador = 0;
                            ProgressBarImport.Value   = 0;
                            ProgressBarImport.Maximum = GridSearch.Rows.Count;
                            PanelLoad.Visible         = true;
                            foreach (DataRow FilaTabla in ObjSearch.Table.Rows)
                            {
                                ObjModifyUsers.NumControl = FilaTabla["NUMERO DE CONTROL"].ToString().Trim();
                                if (FilaTabla["NOMBRES"].ToString().Contains(" "))
                                {
                                    ObjModifyUsers.FirstName  = FilaTabla["NOMBRES"].ToString().Split(' ')[0].Trim();
                                    ObjModifyUsers.SecondName = FilaTabla["NOMBRES"].ToString().Split(' ')[1].Trim();
                                }
                                else
                                {
                                    ObjModifyUsers.FirstName  = FilaTabla["NOMBRES"].ToString().Trim();
                                    ObjModifyUsers.SecondName = string.Empty;
                                }
                                ObjModifyUsers.FirstLastName  = (string.IsNullOrEmpty(FilaTabla["APELLIDO PATERNO"].ToString().Trim())) ? string.Empty : FilaTabla["APELLIDO PATERNO"].ToString();
                                ObjModifyUsers.SecondLastName = (string.IsNullOrEmpty(FilaTabla["APELLIDO MATERNO"].ToString().Trim())) ? string.Empty : FilaTabla["APELLIDO MATERNO"].ToString();
                                ObjModifyUsers.IndexDeparment = Convert.ToByte(FilaTabla["DEPARTAMENTO O CARRERA"].ToString());
                                ObjModifyUsers.Status         = Convert.ToChar(FilaTabla["STATUS"].ToString());
                                ObjModifyUsers.Sex            = Convert.ToChar(FilaTabla["SEXO"].ToString());

                                DataRow FilaAuxiliar = TablaAuxiliar.NewRow();
                                FilaAuxiliar["NUMERO DE CONTROL"]      = FilaTabla["NUMERO DE CONTROL"];
                                FilaAuxiliar["NOMBRES"]                = FilaTabla["NOMBRES"];
                                FilaAuxiliar["APELLIDO PATERNO"]       = FilaTabla["APELLIDO PATERNO"];
                                FilaAuxiliar["APELLIDO MATERNO"]       = FilaTabla["APELLIDO MATERNO"];
                                FilaAuxiliar["DEPARTAMENTO O CARRERA"] = FilaTabla["DEPARTAMENTO O CARRERA"];
                                FilaAuxiliar["SEXO"]   = FilaTabla["SEXO"];
                                FilaAuxiliar["STATUS"] = FilaTabla["STATUS"];

                                switch (ObjValidations.AddUser(TypeModules.Users, ObjModifyUsers))
                                {
                                case Result.Correct:
                                {
                                    FilaAuxiliar["RESULTADO DE OPERACION"] = "Registro importado correctamente.";
                                    Contador++;
                                    break;
                                }

                                case Result.Duplicate:
                                {
                                    FilaAuxiliar["RESULTADO DE OPERACION"] = "Ya existe este registro en la base de datos.";
                                    break;
                                }

                                case Result.Invalid:
                                {
                                    FilaAuxiliar["RESULTADO DE OPERACION"] = "El número de control no tiene el formato correcto.";
                                    break;
                                }

                                case Result.NullNames:
                                {
                                    FilaAuxiliar["RESULTADO DE OPERACION"] = "No existen nombres para este usuario.";
                                    break;
                                }

                                case Result.NullLastNames:
                                {
                                    FilaAuxiliar["RESULTADO DE OPERACION"] = "No existen apellidos para este usuario.";
                                    break;
                                }

                                default:
                                {
                                    FilaAuxiliar["RESULTADO DE OPERACION"] = "El origen del error es desconocido...";
                                    break;
                                }
                                }
                                TablaAuxiliar.Rows.Add(FilaAuxiliar);
                                ProgressBarImport.PerformStep();
                            }
                            LabelCantidadFilas.Text = +Contador + " de " + GridSearch.Rows.Count;
                            LabelFinish.Visible     = true;
                            GridSearch.DataSource   = null;
                            if (GridSearch.Columns.Count > 0)
                            {
                                GridSearch.Columns.Clear();
                            }
                            if (GridSearch.Rows.Count > 0)
                            {
                                GridSearch.Rows.Clear();
                            }
                            GridSearch.DataSource = TablaAuxiliar;
                        }
                    }
                }
                break;
            }

            case 2:     //ButtonRedo
            {
                RedoInterface();
                break;
            }

            default:
                throw new Exception("Excepción en Método: Imports-CCM");
            }
            Index = 0;
        } //Clave de Método: Imports-CCM
예제 #2
0
        } //Clave de Método: PopUpUsers-CCM

        private void ControlClickMethod(object sender, EventArgs e)
        {
            for (; Index < ArrayControl.Length; Index++)
            {
                if (ArrayControl[Index] == sender)
                {
                    break;
                }
            }
            switch (Index)
            {
            case 0:     //ButtonAccept
            {
                ObjModifyUsers2.NumControl     = TextBoxNumControl.Text.Trim();
                ObjModifyUsers2.FirstName      = TextBoxFirstName.Text.Trim().ToUpper();
                ObjModifyUsers2.SecondName     = TextBoxSecondName.Text.Trim().ToUpper();
                ObjModifyUsers2.FirstLastName  = TextBoxLastName.Text.Trim().ToUpper();
                ObjModifyUsers2.SecondLastName = TextBoxLastName2.Text.Trim().ToUpper();
                ObjModifyUsers2.Department     = ComboDepartmentCareer.SelectedItem.ToString();
                ObjModifyUsers2.Sex            = (RadioButtonMan.Checked) ? 'M' : 'F';
                ObjModifyUsers2.Status         = (RadioButtonActive.Checked) ? 'A' : 'I';
                ObjModifyUsers2.IndexDeparment = (byte)ComboDepartmentCareer.SelectedIndex;

                if (TextBoxNumControl.Enabled)
                {
                    Result Resultado = ObjValidations.AddUser(TypeModules.Users, ObjModifyUsers2);
                    switch (Resultado)
                    {
                    case Result.Correct:
                    {
                        using (Alerts ObjAlerts = new Alerts("Usuario Añadido Correctamente", "", "El usuario con número de control \"" + ObjModifyUsers2.NumControl + "\" ha sido agregado correctamente.", 1, "", "", "OK", TypeIcon.Info))
                        {
                            if (ObjAlerts.ShowDialog() == DialogResult.OK)
                            {
                                ObjAlerts.Close();
                            }
                        }
                        break;
                    }

                    case Result.Incorrect:
                    {
                        using (Alerts ObjAlerts = new Alerts("Error Inexplicable", "", "Ha ocurrido un problema interno en el programa.\n\nRecomendamos que verifique los datos que ingresó y/o que inicie sesión nuevamente en el sistema.", 1, "", "", "OK", TypeIcon.Danger))
                        {
                            if (ObjAlerts.ShowDialog() == DialogResult.OK)
                            {
                                ObjAlerts.Close();
                            }
                        }
                        break;
                    }

                    case Result.Duplicate:
                    {
                        using (Alerts ObjAlerts = new Alerts("Acción No Valida", "", "El usuario " + ObjModifyUsers2.NumControl + " no se puede agregar porque ya existe.", 1, "", "", "OK", TypeIcon.Warning))
                        {
                            if (ObjAlerts.ShowDialog() == DialogResult.OK)
                            {
                                ObjAlerts.Close();
                            }
                        }
                        break;
                    }

                    default:
                    {
                        using (Alerts ObjAlerts = new Alerts("Acción No Valida", "", "No se puede ingresar usuarios sin número de control.", 1, "", "", "OK", TypeIcon.Warning))
                        {
                            if (ObjAlerts.ShowDialog() == DialogResult.OK)
                            {
                                ObjAlerts.Close();
                            }
                        }
                        break;
                    }
                    }
                }
                else
                {
                    if (ObjValidations.PopUpUsersValidations(ObjModifyUsers, ObjModifyUsers2))
                    {
                        try
                        {
                            ObjValidations.UpdateUser(TypeModules.Users, ObjModifyUsers2);
                            using (Alerts ObjAlerts = new Alerts("Actualización Exitosa", "", "El usuario con número de control \"" + ObjModifyUsers.NumControl + "\" ha sido modificado correctamente.", 1, "", "", "OK", TypeIcon.Info))
                            {
                                if (ObjAlerts.ShowDialog() == DialogResult.OK)
                                {
                                    ObjAlerts.Close();
                                }
                            }
                        }
                        catch
                        {
                            using (Alerts ObjAlerts = new Alerts("Actualización Fallida", "", "El usuario con número de control \"" + ObjModifyUsers.NumControl + "\" NO se ha actualizado de manera correcta\nRevisa los datos que ingresaste y verifica que sean correctos o cumplan los requisitos de validación..", 1, "", "", "OK", TypeIcon.Info))
                            {
                                if (ObjAlerts.ShowDialog() == DialogResult.OK)
                                {
                                    ObjAlerts.Close();
                                }
                            }
                        }
                    }
                    else
                    {
                        using (Alerts ObjAlerts = new Alerts("Edición de Usuario Fallida", "", "No se pudo completar la edición de los cambios al usuario: " + ObjModifyUsers.FirstName + " " + ObjModifyUsers.SecondName + " " + ObjModifyUsers.FirstLastName + " " + ObjModifyUsers.SecondLastName
                                                             + "\nPara poder editar un usuario, necesitas modificar los valores antiguos por unos nuevos. Es importante que no sean iguales, de lo contrario no se realizarán cambios porque no es necesario.", 1, "", "", "OK", TypeIcon.Warning))
                        {
                            if (ObjAlerts.ShowDialog() == DialogResult.OK)
                            {
                                ObjAlerts.Close();
                            }
                        }
                    }
                }
                break;
            }

            case 1:     //ButtonCancel
            {
                ClearControlsMethod();
                break;
            }

            case 2:     //RadioButtonMan
            {
                RadioButtonWoman.Checked = false;
                break;
            }

            case 3:     //RadioButtonWoman
            {
                RadioButtonMan.Checked = false;
                break;
            }

            case 4:     //RadioButtonActive
            {
                RadioButtonDisable.Checked = false;
                break;
            }

            case 5:     //RadioButtonDisable
            {
                RadioButtonActive.Checked = false;
                break;
            }

            default:
                throw new Exception("Excepción en Método: PopUpUsers-CCM-02", new IndexOutOfRangeException());
            }
            Index = 0;
        } //Clave de Método: PopUpUsers-CCM-02