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); }
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; } }