Beispiel #1
0
        private bool ValidaDatos(ref MssBD.EstructuraSueldos _est, ref MssBD.Afp _Afp, ref MssBD.Isapres _Isapre, ref MssBD.CentrosDeCostos _Cen)
        {
            if (_ConsultaEmp == null)
            {
                MessageBox.Show(String.Concat("Debe seleccionar a algún empleado."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            try
            {
                _est = (MssBD.EstructuraSueldos)cboEstructuraSueldo.SelectedItem;
            }
            catch (Exception)
            {
                MessageBox.Show(String.Concat("Empledo no posee una estructura de sueldo asociada. No se podrá generar Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                _est = null;
                return(false);
            }

            try
            {
                _Afp = (MssBD.Afp)cboAfp.SelectedItem;
            }
            catch (Exception)
            {
                MessageBox.Show(String.Concat("Empledo no posee Afp asociada. No se podrá generar Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                _Afp = null;
                return(false);
            }

            try
            {
                _Isapre = (MssBD.Isapres)cboIsapre.SelectedItem;
            }
            catch (Exception)
            {
                MessageBox.Show(String.Concat("Empledo no posee Isapre asociada. No se podrá generar Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                _Isapre = null;
                return(false);
            }

            try
            {
                _Cen = (MssBD.CentrosDeCostos)cboCentroCostoInfo.SelectedItem;
            }
            catch (Exception)
            {
                MessageBox.Show(String.Concat("Empledo no posee Centro de Costo asociado. No se podrá generar Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                _Isapre = null;
                return(false);
            }

            if (String.Equals(txtDireccion.Text, String.Empty))
            {
                MessageBox.Show(String.Concat("Empledo no posee dirección. No se podrá generar Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(false);
            }

            if (String.Equals(cboEstadoCivil.Text, String.Empty))
            {
                MessageBox.Show(String.Concat("Empledo no posee estado Civil. No se podrá generar Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(false);
            }
            if (txtFechaInicio.Value.Date > txtFechaVencimiento.Value.Date)
            {
                MessageBox.Show(String.Concat("Fecha de inicio de Contrato no puede ser mayor a la fecha de vencimiento de éste."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (txtFechaInicio.Value.Date == txtFechaVencimiento.Value.Date && !cboTipoContrato.Text.Equals("INDEFINIDO"))
            {
                MessageBox.Show(String.Concat("Fecha de inicio de Contrato no puede ser igual a la fecha de vencimiento de éste."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
            if (DateTime.Compare(txtFechaInicio.Value.Date, txtFechaVencimiento.Value.Date) > 365 && !cboTipoContrato.Text.Equals("INDEFINIDO"))
            {
                MessageBox.Show(String.Concat("Fecha de inicio de Contrato no puede ser igual a la fecha de vencimiento de éste."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (txtTeleFijo.Text.Replace("(", "").Replace(")", "").Replace("_", "").Replace("+", "") == string.Empty && txtTeleCel.Text.Replace("(", "").Replace(")", "").Replace("_", "").Replace("+56", "") == string.Empty)
            {
                MessageBox.Show(String.Concat("Empleado debe tener al menos un teléfono para generar el contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (txtCargo.Text == string.Empty)
            {
                MessageBox.Show(String.Concat("Empleado debe tener un cargo profesional para generar el contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (txtAnticipo.Text == string.Empty)
            {
                MessageBox.Show(String.Concat("Empleado debe tener Anticipo para generar el contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (txtInstalacion.Text == string.Empty)
            {
                MessageBox.Show(String.Concat("Empleado debe tener una Instalacíon asociada para generar el contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            return(true);
        }
Beispiel #2
0
        private void btnGenerarContrato_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                MssBD.CentrosDeCostos   _cen = new MssBD.CentrosDeCostos();
                MssBD.EstructuraSueldos _est = new MssBD.EstructuraSueldos();
                MssBD.Afp     _Afp           = new MssBD.Afp();
                MssBD.Isapres _Isapre        = new MssBD.Isapres();

                String  mensaje  = string.Empty;
                Boolean Visacion = true;

                _Contrato = new Negocio.Documentos.Contratos(_usuarioSesion);

                // Valida si existe Contrato d persona
                if (_Contrato.ValidaContrato(_ConsultaEmp.Rut))
                {
                    MessageBox.Show(String.Concat(PrimeraMayuscula(_ConsultaEmp.Nombres), " ", PrimeraMayuscula(_ConsultaEmp.ApellidoPaterno), " ya posee contrato. Si desea cambiar información del Contrato creado por favor generar Anexo para éste empleado.w2|9uv      uuu"), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                if (!ValidaDatos(ref _est, ref _Afp, ref _Isapre, ref _cen))
                {
                    return;
                }

                if (DialogResult.Cancel == MessageBox.Show(String.Concat("Realmente desea generar Contrato a '", txtNombres.Text, " ", txtApellidoPaterno.Text, "' \n", "Con la Estructura de Sueldo '", _est.Descripcion, "'"), "Mss", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
                {
                    return;
                }

                _ConsultaEmp.FechaIngreso     = txtFechaInicio.Value;
                _ConsultaEmp.FechaVencimiento = txtFechaVencimiento.Value;

                _ConsultaEmp.Afp_Id              = _Afp.Afp_Id;
                _ConsultaEmp.Isapre_Id           = _Isapre.Isapre_Id;
                _ConsultaEmp.EstructuraSueldo_Id = _est.EstructuraSueldo_Id;
                _ConsultaEmp.TipoContrato        = cboTipoContrato.Text;
                _ConsultaEmp.CentroCosto_Id      = _cen.CentroId;

                //Valores de Pantalla a Contrato
                Double _anticipo = 0;

                _Contrato._RutaFinal            = String.Concat(Folder.SelectedPath.ToString(), "\\");
                _Contrato._SegundoParrafo       = txtSegundoParrafo.Text;
                _Contrato._DireccionInstalacion = txtInstalacion.Text;

                if (Double.TryParse(txtAnticipo.Text, out _anticipo))
                {
                    _Contrato._Anticipo = _anticipo;
                }

                _Contrato._per = _ConsultaEmp;
                _Contrato._RutaInicioProyecto = System.Windows.Forms.Application.StartupPath;

                //Registra Contrato, en caso que usuario no tenga permisos necesarios.
                Int32 _Doc_Id = 0;
                _Documento = new Negocio.Documentos.Documento();

                Folder.ShowDialog();
                if (Folder.SelectedPath.ToString() == string.Empty)
                {
                    return;
                }

                if (_usuarioSesion.Privilegio_Id < 2)
                {
                    Visacion = false;
                }

                if (!_Documento.RegistrarDocumento(1, _usuarioSesion, _ConsultaEmp, Visacion, String.Concat(Folder.SelectedPath.ToString(), "\\"), ref mensaje, ref _Doc_Id))
                {
                    if (mensaje == string.Empty)
                    {
                        MessageBox.Show(String.Concat("Ha ocurrido un problema al registrar visado de Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        MessageBox.Show(String.Concat(mensaje), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    if (_Documento.RegistrarContrato(1, _usuarioSesion, _ConsultaEmp, Visacion, String.Concat(Folder.SelectedPath.ToString(), "\\"), ref mensaje, _Doc_Id))
                    {
                        if (!Visacion)
                        {
                            MessageBox.Show(String.Concat("Contrato se ha registrado con éxito."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        if (mensaje == string.Empty)
                        {
                            MessageBox.Show(String.Concat("Ha ocurrido un problema al registrar visado de Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            MessageBox.Show(String.Concat(mensaje), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }

                //En caso que usuario va a generar contrato por Permisos
                if (!Visacion)
                {
                    _Contrato._RutaFinal = String.Concat(Folder.SelectedPath.ToString(), "\\");
                    if (!_Contrato.GeneraContrato(ref mensaje))
                    {
                        if (mensaje == string.Empty)
                        {
                            MessageBox.Show(String.Concat("Ha ocurrido un problema al generar el Contrato."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            MessageBox.Show(String.Concat(mensaje), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show(String.Concat("Contrato se ha generado con éxito."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MensajeControlado mensa = new MensajeControlado(String.Concat("Éste error se produce por que Window no ha podido reproducir el documento.", Environment.NewLine,
                                                                              "Para poder solucionar este problema debe cerrar documentos Offices en su computador o evitar la sobre carga de procesos en su computador que pueda ocacionar que su computador no tengo la suficiente memoria para crear el nuevo documento."), ex.Message, ex);
                mensa.Show();
                return;
            }
            catch (Exception ex)
            {
                Cursor.Current = Cursors.Default;
                MensajeControlado mensa = new MensajeControlado("", ex.Message, ex);
                mensa.Show();
                return;
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }