Пример #1
0
        private void Procesar()
        {
            if (Verificacion() && VerificacionTxbDui() && VerificacionTxbNit())
            {
                CLS.Empleados          oEmpleado         = new CLS.Empleados();
                CLS.Contactos          oContacto         = new CLS.Contactos();
                CLS.ContactosEmpleados oContactoEmpleado = new CLS.ContactosEmpleados();

                oEmpleado.Nombres         = txbNombres.Text;
                oEmpleado.Apellidos       = txbApellidos.Text;
                oEmpleado.Genero          = cmbGenero.SelectedValue.ToString();
                oEmpleado.FechaNacimiento = Convert.ToDateTime(dtpFechaNacimiento.Text);
                oEmpleado.Dui             = txbDui.Text;
                oEmpleado.Nit             = txbNit.Text;
                oEmpleado.Municipio       = txbMunicipio.Text;
                oEmpleado.Direccion       = txbDireccion.Text;
                oEmpleado.Idcargo         = Convert.ToInt32(cmbCargos.SelectedValue.ToString());

                if (dtpContratacion.Checked)
                {
                    oEmpleado.FechaContratacion = Convert.ToDateTime(dtpContratacion.Text);
                }
                else
                {
                    oEmpleado.FContratacionNula = "null";
                }

                if (dtpSalida.Checked)
                {
                    oEmpleado.FechaSalida = Convert.ToDateTime(dtpSalida.Text);
                }
                else
                {
                    oEmpleado.FSalidaNula = "null";
                }

                oEmpleado.Estado         = cmbEstado.SelectedValue.ToString();
                oEmpleado.Iddepartamento = Convert.ToInt32(cmbDepartamento.SelectedValue.ToString());

                if (txbIDEmpleado.Text.Length == 0)
                {
                    int cont = 0;

                    //INSERTANDO
                    if (oEmpleado.Guardar())
                    {
                        //Verificando si hay contactos agregados
                        if (int.Parse(dtgvDatosContactos.Rows.Count.ToString()) > 0)
                        {
                            //*********************************************** CONTACTOS ***************************************

                            //Si hay, los insertamos
                            for (int f = 0; f < int.Parse(dtgvDatosContactos.Rows.Count.ToString()); f++)
                            {
                                oContacto.Tipo     = dtgvDatosContactos.Rows[f].Cells[1].Value.ToString();
                                oContacto.Contacto = dtgvDatosContactos.Rows[f].Cells[2].Value.ToString();

                                oContacto.Guardar();
                                cont++;
                            }

                            int contContactosAsig = 0;

                            //Asignamos los contactos creados al empleado q acabamos de agregar
                            for (int g = 0; g < cont; g++)
                            {
                                oContactoEmpleado.Idcontacto = (Convert.ToInt32(lblContac.Text)) + contContactosAsig;
                                oContactoEmpleado.Idempleado = Convert.ToInt32(lblIDpropietario.Text);

                                oContactoEmpleado.Guardar();
                                contContactosAsig++;
                            }
                        }

                        //********************************************************************************************************

                        MessageBox.Show("Guardado correctamente", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Close();
                    }
                    else
                    {
                        MessageBox.Show("Registro no guardado", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    int cont = 0;
                    oEmpleado.Idempleado = Convert.ToInt32(txbIDEmpleado.Text);

                    //ACTUALIZANDO
                    if (oEmpleado.Actualizar())
                    {
                        //************************************************* CONTACTOS ************************************************

                        //Recorremos todos los registros
                        for (int x = 0; x < int.Parse(dtgvDatosContactos.Rows.Count.ToString()); x++)
                        {
                            //Validamos si contiene algo la celda
                            if (dtgvDatosContactos.Rows[x].Cells[0].Value.ToString() == "")
                            {
                                //En este caso no contiene nada por lo que es un contacto nuevo y debemos insertarlo
                                oContacto.Tipo     = dtgvDatosContactos.Rows[x].Cells[1].Value.ToString();
                                oContacto.Contacto = dtgvDatosContactos.Rows[x].Cells[2].Value.ToString();

                                oContacto.Guardar();
                                cont++;
                            }
                        }

                        //Recorremos la lista para eliminar los contactos desechados
                        for (int y = 0; y < _idContactos.Count; y++)
                        {
                            int can2 = 0;

                            //Recorremos los contactos que quedaron en el dtgv
                            for (int h = 0; h < int.Parse(dtgvDatosContactos.Rows.Count.ToString()); h++)
                            {
                                if (dtgvDatosContactos.Rows[h].Cells[0].Value.ToString() == "")
                                {
                                }
                                else
                                {
                                    //Si lo q hay en la lista y lo q hay en el dtgv son iguales
                                    if (_idContactos[y] == Convert.ToInt32(dtgvDatosContactos.Rows[h].Cells[0].Value.ToString()))
                                    {
                                        can2++;
                                    }
                                }
                            }
                            //Si esto es igual a 0 quiere decir q no se escontro en el dtgv
                            //Por lo tanto tenemos q eliminarlo
                            if (can2 == 0)
                            {
                                //Eliminanos la asociacion
                                oContactoEmpleado.Idcontacto = _idContactos[y];
                                oContactoEmpleado.Idempleado = Convert.ToInt32(txbIDEmpleado.Text);
                                oContactoEmpleado.EliminarPorContacto();

                                //Eliminanos el contacto
                                oContacto.Idcontacto = _idContactos[y];
                                oContacto.Eliminar();
                            }
                        }

                        int contContactosAsig = 0;

                        //Asignamos los contactos creados al empleado q acabamos de agregar
                        for (int g = 0; g < cont; g++)
                        {
                            oContactoEmpleado.Idcontacto = (Convert.ToInt32(lblContac.Text)) + contContactosAsig;
                            oContactoEmpleado.Idempleado = Convert.ToInt32(txbIDEmpleado.Text);

                            oContactoEmpleado.Guardar();
                            contContactosAsig++;
                        }
                        //*********************************************************************************************************
                        MessageBox.Show("Editado correctamente", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Close();
                    }
                    else
                    {
                        MessageBox.Show("Registro no editado", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
        }
Пример #2
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (Convert.ToInt32(dtgvDatos.Rows.Count.ToString()) <= 0)
            {
                MessageBox.Show("Actualmente no existe ningún registro", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                if (MessageBox.Show("Desea eliminar el registro seleccionado?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    int idempleado = Convert.ToInt32(dtgvDatos.CurrentRow.Cells["idempleado"].Value.ToString());

                    CLS.Empleados oEmpleado = new CLS.Empleados();
                    oEmpleado.Idempleado = idempleado;
                    if (oEmpleado.Eliminar())
                    {
                        //Si no tiene referencias de contactos se elimina directamente el registro
                        MessageBox.Show("Registro eliminado exitosamente", "Confirmacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        CargarDatos();
                    }
                    else
                    {
                        //En caso que si los tenga, preguntamos si desea continuar
                        if (MessageBox.Show("Si continua, se eliminaran los contactos asociados al registro", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            CLS.Contactos          oContacto       = new CLS.Contactos();
                            CLS.ContactosEmpleados oContacEmpleado = new CLS.ContactosEmpleados();
                            DataTable idContactosAEliminar         = new DataTable();

                            idContactosAEliminar = CacheManager.SystemCache.IDContactosABorrarOModificarEmpleados(idempleado);

                            //Eliminamos las referencias de contactos
                            oContacEmpleado.Idempleado = idempleado;
                            oContacEmpleado.Eliminar();

                            //Eliminamos los contactos
                            for (int i = 0; i < int.Parse(idContactosAEliminar.Rows.Count.ToString()); i++)
                            {
                                oContacto.Idcontacto = Convert.ToInt32(idContactosAEliminar.Rows[i]["idcontacto"].ToString());
                                oContacto.Eliminar();
                            }

                            //Eliminamos el registro
                            if (oEmpleado.Eliminar())
                            {
                                //Si se elimino correctamente notificamos q se realizo bien
                                MessageBox.Show("Registro eliminado exitosamente", "Confirmacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                CargarDatos();
                            }
                            else
                            {
                                MessageBox.Show("El registro no pudo ser eliminado correctamente", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                        else
                        {
                            MessageBox.Show("El registro no pudo ser eliminado correctamente", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }
        }