Beispiel #1
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                if (txtRutDato.Text != string.Empty && txtDvDato.Text != string.Empty)
                {
                    MssBD.Personal _persEliminar = new MssBD.Personal();
                    _persEliminar.Rut = Int32.Parse(txtRutDato.Text.Replace(".", "").Replace(",", ""));
                    _persEliminar.Dv  = txtDvDato.Text;

                    if (!_Empleado.ExistePersonal(_persEliminar))
                    {
                        MessageBox.Show(String.Concat("Empleado no existe en la Base de Datos."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }

                    if (DialogResult.Cancel == MessageBox.Show(String.Concat("Realmente desea eliminar al Personal '", _persEliminar.Nombres, _persEliminar.ApellidoPaterno, _persEliminar.ApellidoMaterno, "'"), "Mss", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
                    {
                        return;
                    }

                    if (_Empleado.EliminaPersonal(_usuarioSesion, _persEliminar))
                    {
                        MessageBox.Show("Se ha eliminado Empleado con éxito", "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        BtnLimpiar_Click(sender, e);
                        _PersonaSeleccionada = null;
                    }
                    else
                    {
                        MessageBox.Show("No se ha podido eliminado Empleado.", "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show(String.Concat("Debe seleccionar personal o ingresar Rut y Digito verificador en la sección 'Datos del Personal'."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    _PersonaSeleccionada = null;
                    return;
                }
            }
            catch (Exception ex)
            {
                Cursor.Current = Cursors.Default;
                MensajeControlado mensa = new MensajeControlado("", ex.Message, ex);
                mensa.Show();
                return;
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Beispiel #2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                if (txtRutDato.Text != string.Empty && txtDvDato.Text != string.Empty)
                {
                    MssBD.Personal _emp = new MssBD.Personal();

                    if (ValidaDatos(_emp))
                    {
                        bool nuevo = false;

                        //if (!_Empleado.ExistePersonal(_emp))
                        //{
                        //    Usuario _us = new Usuario();
                        //    _us.nuevo = true;
                        //}

                        if (_Empleado.GuardaPersonal(_usuarioSesion, _emp, ref nuevo))
                        {
                            MessageBox.Show(String.Concat("Información de Personal se ha guardado con éxito."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            BuscaEmpleado();
                        }
                        else
                        {
                            MessageBox.Show(String.Concat("No se ha podido guardar la información del Personal."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
                else
                {
                    MessageBox.Show(String.Concat("Debe seleccionar personal o ingresar Rut y Digito verificador en la sección 'Datos del Personal'."), "Mss", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }
            catch (Exception ex)
            {
                Cursor.Current = Cursors.Default;
                MensajeControlado mensa = new MensajeControlado("", ex.Message, ex);
                mensa.Show();
                return;
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Beispiel #3
0
        private void CargaDatos()
        {
            try
            {
                MssBD.Personal selectedUser = new MssBD.Personal();
                selectedUser = _Empleado.BuscaPersonalPorRut((Int32)_Finiquito.Rut);

                txtRutDato.Text = selectedUser.Rut.ToString();

                txtDvDato.Text          = selectedUser.Dv;
                txtApellidoPaterno.Text = selectedUser.ApellidoPaterno;
                txtApellidoMaterno.Text = selectedUser.ApellidoMaterno;
                txtNombres.Text         = selectedUser.Nombres;
                txtDireccion.Text       = selectedUser.Direccion;

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

                if (selectedUser.FechaNacimiento != null)
                {
                    txtFechaNacimiento.Value = (DateTime)selectedUser.FechaNacimiento;
                }
                else
                {
                    txtFechaNacimiento.Value = DateTime.Parse("19000101");
                }

                txtTeleFijo.Text = selectedUser.TelFijo;
                txtTeleCel.Text  = selectedUser.TelCelular;

                cboArticulo.Text            = _Finiquito.Articulo;
                txtNumeroArt.Text           = _Finiquito.Articulo_Numero.ToString();
                txtMotivo.Text              = _Finiquito.Comentario;
                txtVacaciones.Text          = _Finiquito.Vacaciones.ToString();
                txtTotalRemuneraciones.Text = _Finiquito.MontoTotal.ToString();

                if (txtRutDato.Text != string.Empty)
                {
                    txtRutDato.Text = string.Format("{0:#,##0}", double.Parse(txtRutDato.Text));
                }
                else
                {
                    txtRutDato.Text = "0";
                }

                if (txtVacaciones.Text != string.Empty)
                {
                    txtVacaciones.Text = string.Format("{0:#,##0}", double.Parse(txtVacaciones.Text));
                }
                else
                {
                    txtVacaciones.Text = "0";
                }

                if (txtTotalRemuneraciones.Text != string.Empty)
                {
                    txtTotalRemuneraciones.Text = string.Format("{0:#,##0}", double.Parse(txtTotalRemuneraciones.Text));
                }
                else
                {
                    txtTotalRemuneraciones.Text = "0";
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #4
0
        private bool ValidaDatos(MssBD.Personal _emp)
        {
            MssBD.Paises            _pais;
            MssBD.Regiones          _region;
            MssBD.Provincias        _provincia;
            MssBD.Comunas           _comuna;
            MssBD.Privilegios       _usu;
            MssBD.CentrosDeCostos   _cen;
            MssBD.EstructuraSueldos _est;
            MssBD.Afp     _afp;
            MssBD.Bancos  _banco;
            MssBD.Isapres _isa;
            try
            {
                _pais = (MssBD.Paises)cboPais.SelectedItem;
            }
            catch (Exception)
            { _pais = null; }
            try
            {
                _region = (MssBD.Regiones)cboRegiones.SelectedItem;
            }
            catch (Exception)
            { _region = null; }
            try
            {
                _provincia = (MssBD.Provincias)cboProvincias.SelectedItem;
            }
            catch (Exception)
            { _provincia = null; }
            try
            {
                _comuna = (MssBD.Comunas)cboComunas.SelectedItem;
            }
            catch (Exception)
            { _comuna = null; }
            try
            {
                _usu = (MssBD.Privilegios)cboPrivilegios.SelectedItem;
            }
            catch (Exception)
            { _usu = null; }

            //Centro // Estructura
            try
            {
                _cen = (MssBD.CentrosDeCostos)cboCentroCostoInfo.SelectedItem;
            }
            catch (Exception)
            { _cen = null; }

            try
            {
                _est = (MssBD.EstructuraSueldos)cboEstructuraSueldo.SelectedItem;
            }
            catch (Exception)
            { _est = null; }

            //Previsiones
            try
            {
                _afp = (MssBD.Afp)cboAfp.SelectedItem;
            }
            catch (Exception)
            { _afp = null; }
            try
            {
                _isa = (MssBD.Isapres)cboIsapre.SelectedItem;
            }
            catch (Exception)
            { _isa = null; }
            try
            {
                _banco = (MssBD.Bancos)cboBancos.SelectedItem;
            }
            catch (Exception)
            { _banco = null; }

            try
            {
                _emp.Rut             = Int32.Parse(txtRutDato.Text.Replace(".", "").Replace(",", ""));
                _emp.Dv              = txtDvDato.Text;
                _emp.ApellidoPaterno = txtApellidoPaterno.Text;
                _emp.ApellidoMaterno = txtApellidoMaterno.Text;
                _emp.Nombres         = txtNombres.Text;
                _emp.Direccion       = txtDireccion.Text;

                if (_pais != null)
                {
                    _emp.Pais_Codigo = _pais.Pais_Codigo;
                }
                else
                {
                    _emp.Pais_Codigo = null;
                }

                if (_region != null)
                {
                    _emp.Region_Codigo = _region.region_id;
                }
                else
                {
                    _emp.Region_Codigo = null;
                }

                if (_provincia != null)
                {
                    _emp.Provincia_Codigo = _provincia.provincia_id;
                }
                else
                {
                    _emp.Provincia_Codigo = null;
                }

                if (_comuna != null)
                {
                    _emp.Comuna_Codigo = _comuna.comuna_id;
                }
                else
                {
                    _emp.Comuna_Codigo = null;
                }

                _emp.FechaNacimiento  = txtFechaNacimiento.Value;
                _emp.FechaIngreso     = txtFechaContrato.Value;
                _emp.FechaVencimiento = txtFechaVencimiento.Value;

                _emp.TelFijo            = txtTeleFijo.Text.Replace("(", "").Replace(")", "").Replace("_", "").Replace("+", "");
                _emp.TelCelular         = txtTeleCel.Text.Replace("(", "").Replace(")", "").Replace("_", "").Replace("+56", "");
                _emp.TelContactoFijo    = txtContactTeleFijo.Text.Replace("(", "").Replace(")", "").Replace("_", "").Replace("+", "");
                _emp.TelContactoCelular = txtContactTeleCelular.Text.Replace("(", "").Replace(")", "").Replace("_", "").Replace("+56", "");

                _emp.NombreContacto = txtNombreContacto.Text;
                _emp.Parentesco     = txtParentesco.Text;

                //Datos Ropa
                _emp.TipoContrato = cboTipoContrato.Text;
                _emp.CursoOS10    = cboCursoOS10.Text;
                _emp.Credencial   = txtCredencial.Text;

                //Datos Ropa
                Int16 _calzado;
                if (Int16.TryParse(txtCalzado.Text, out _calzado))
                {
                    _emp.Calzado = _calzado;
                }

                _emp.Pantalon = txtPantalon.Text;
                _emp.Polera   = txtPolera.Text;
                _emp.Camisa   = txtCamisa.Text;
                _emp.Polar    = txtPolar.Text;
                _emp.Casaca   = txtCasaca.Text;
                _emp.Corbata  = txtCorbata.Text;
                _emp.Gorro    = txtGorro.Text;
                _emp.Cazadora = txtCazadora.Text;

                //imagen
                try
                {
                    txtImagen.Refresh();
                    MemoryStream ms = new MemoryStream();

                    //using (var ms = new MemoryStream())
                    //{
                    txtImagen.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                    //txtImagen.Image.Save(ms, txtImagen.Image.RawFormat);

                    _emp.Imagen = ms.ToArray();

                    ms.Dispose();
                    ms = null;
                    //}
                }
                catch (Exception)
                {
                    try
                    {
                        _emp.Imagen = _PersonaSeleccionada.Imagen;
                    }
                    catch (Exception)
                    {
                        _emp.Imagen = null;
                    }
                }

                // At this point the new bitmap has no MimeType
                // Need to output to memory stream
                //using (var m = new MemoryStream())
                //{
                //    txtImagen.Save(m, format);

                //    var img = Image.FromStream(m);

                //    //TEST
                //    img.Save("C:\\test.jpg");
                //    var bytes = PhotoEditor.ConvertImageToByteArray(img);
                //    return img;
                //}

                // Centro y Estructuras
                if (_cen != null)
                {
                    _emp.CentroCosto_Id = _cen.CentroId;
                }
                else
                {
                    _emp.CentroCosto_Id = null;
                }

                if (_est != null)
                {
                    _emp.EstructuraSueldo_Id = _est.EstructuraSueldo_Id;
                }
                else
                {
                    _emp.EstructuraSueldo_Id = null;
                }

                _emp.Estado = "";



                if (_usu != null)
                {
                    _emp.Usuarios = new MssBD.Usuarios();
                    _emp.Usuarios.Privilegio_Id = _usu.Privilegio_Id;
                }
                else
                {
                    _emp.Usuarios.Privilegio_Id = 5;
                }

                //Previsiones
                if (_afp != null)
                {
                    _emp.Afp_Id = _afp.Afp_Id;
                }
                else
                {
                    _emp.Afp_Id = null;
                }
                if (_isa != null)
                {
                    _emp.Isapre_Id = _isa.Isapre_Id;
                }
                else
                {
                    _emp.Isapre_Id = null;
                }

                try
                {
                    _emp.EstadoCivil = cboEstadoCivil.SelectedItem.ToString();
                }
                catch (Exception)
                {
                    _emp.EstadoCivil = null;
                }

                //
                _emp.Cargo = txtCargo.Text;

                if (_banco != null)
                {
                    _emp.Id_Banco = _banco.Id_Banco;
                }
                else
                {
                    _emp.Id_Banco = null;
                }

                _emp.NumeroCuenta = txtNumeroCuenta.Text;
                _emp.TipoCuenta   = cboTipoCuenta.Text;


                //txtNumeroCuenta.Text = selectedUser.NumeroCuenta;
                //cboBancos.SelectedValue = selectedUser.Id_Banco;
                //cboTipoCuenta.SelectedText = selectedUser.TipoCuenta;
                //txtCargo.Text = selectedUser.Cargo;

                return(true);
            }
            catch (Exception)
            {
                return(false);

                throw;
            }
        }
Beispiel #5
0
        public Boolean GeneraContrato(ref String Mensaje)
        {
            Application wordApp = new Application();
            Document    wordDoc = new Document();

            try
            {
                Object oMissing = System.Reflection.Missing.Value;

                _personal = _NegPer.BuscaPersonalPorRut(_per.Rut);

                _personal.FechaIngreso     = _per.FechaIngreso;
                _personal.FechaVencimiento = _per.FechaVencimiento;

                _personal.Afp_Id              = _per.Afp_Id;
                _personal.Isapre_Id           = _per.Isapre_Id;
                _personal.EstructuraSueldo_Id = _per.EstructuraSueldo_Id;
                _personal.CentroCosto_Id      = _per.CentroCosto_Id;
                _personal.TipoContrato        = _per.TipoContrato;

                Boolean _bol = false;

                _NegPer.GuardaPersonal(_usuarioSesion, _personal, ref _bol);

                //Assembly thisAssembly;
                //thisAssembly = Assembly.GetExecutingAssembly();
                //Stream someStream;
                //someStream = thisAssembly.GetManifestResourceStream("Negocio.WordTemplate.Contrato_Template.dotx");

                //Assembly _assembly = Assembly.GetExecutingAssembly();

                //// Object oTemplatePath = _assembly.GetManifestResourceStream("WordTemplate\\Contrato_Template.dotx");
                //Object oTemplatePath = _assembly.GetManifestResourceStream("Negocio.WordTemplate.Contrato_Template.dotx");
                //Object oTemplatePath2 = _assembly.GetManifestResourceStream("WordTemplate\\Contrato_Template.dotx");

                Object oTemplatePath = String.Concat(RutaArchivosMss, "\\Contrato_Template.dotx");
                wordDoc = wordApp.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);

                foreach (Field myMergeField in wordDoc.Fields)
                {
                    Range  rngFieldCode = myMergeField.Code;
                    String fieldText    = rngFieldCode.Text;

                    if (fieldText.StartsWith(" MERGEFIELD"))
                    {
                        Int32  endMerge        = fieldText.IndexOf("\\");
                        Int32  fieldNameLength = fieldText.Length - endMerge;
                        String fieldName       = fieldText.Substring(11, endMerge - 11);

                        switch (fieldName.Trim())
                        {
                        case "FechaContrato":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(DateTime.Now.ToLongDateString());
                            break;

                        case "Nombre":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(PrimeraMayuscula(String.Concat(_personal.Nombres, " ", _personal.ApellidoPaterno, " ", _personal.ApellidoMaterno)));
                            break;

                        case "Rut":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(String.Concat(FormatNumero(_personal.Rut.ToString()), "-", _personal.Dv));
                            break;

                        case "EstadoCivil":
                            myMergeField.Select();
                            if (String.Equals(_personal.EstadoCivil, String.Empty))
                            {
                                wordApp.Selection.TypeText(" ");
                            }
                            else
                            {
                                wordApp.Selection.TypeText(_personal.EstadoCivil);
                            }
                            break;

                        case "FechaNacimiento":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(_personal.FechaNacimiento.Value.ToLongDateString());
                            break;

                        case "Dirección":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(_personal.Direccion);
                            break;

                        case "Comuna":
                            myMergeField.Select();
                            try
                            {
                                if (_personal.Comunas.comuna_nombre == null)
                                {
                                    Mensaje = "Personal no tiene Comuna asociada. Favor ingresarla y volver a intentar.";
                                    return(false);
                                }
                                wordApp.Selection.TypeText(_personal.Comunas.comuna_nombre);
                            }
                            catch (Exception)
                            {
                                Mensaje = "Personal no tiene Comuna asociada. Favor ingresarla y volver a intentar.";
                                return(false);
                            }

                            break;

                        case "Telefono":
                            myMergeField.Select();
                            if (_personal.TelCelular != string.Empty && _personal.TelFijo != string.Empty)
                            {
                                wordApp.Selection.TypeText(String.Concat("Teléfono ", _personal.TelFijo, " y Teléfono Celular ", _personal.TelCelular));
                            }
                            else
                            {
                                if (_personal.TelCelular != string.Empty)
                                {
                                    wordApp.Selection.TypeText(String.Concat("Teléfono Celular ", _personal.TelCelular));
                                }
                                else
                                {
                                    wordApp.Selection.TypeText(String.Concat("Teléfono ", _personal.TelFijo));
                                }
                            }
                            break;

                        case "SueldoBaseNumero":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(FormatNumero(_personal.EstructuraSueldos.SueldoBase.ToString()));
                            break;

                        case "SueldoBaseLetras":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(PrimeraMayuscula(enletras(_personal.EstructuraSueldos.SueldoBase.ToString())));
                            break;

                        case "GratificacionNumero":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(FormatNumero(_personal.EstructuraSueldos.Gratificacion.ToString()));
                            break;

                        case "GratificacionLetras":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(PrimeraMayuscula(enletras(_personal.EstructuraSueldos.Gratificacion.ToString())));
                            break;

                        case "AsistenciaNumero":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(FormatNumero(_personal.EstructuraSueldos.BonoAsistencia.ToString()));
                            break;

                        case "AsistenciaLetras":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(PrimeraMayuscula(enletras(_personal.EstructuraSueldos.BonoAsistencia.ToString())));
                            break;

                        case "ColacionNumero":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(FormatNumero(_personal.EstructuraSueldos.Colacion.ToString()));
                            break;

                        case "ColacionLetras":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(PrimeraMayuscula(enletras(_personal.EstructuraSueldos.Colacion.ToString())));
                            break;

                        case "MovilizacionNumero":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(FormatNumero(_personal.EstructuraSueldos.Movilizacion.ToString()));
                            break;

                        case "MovilizacionLetras":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(PrimeraMayuscula(enletras(_personal.EstructuraSueldos.Movilizacion.ToString())));
                            break;

                        case "ProduccionNumero":
                            myMergeField.Select();
                            if (_personal.EstructuraSueldos.BonoProduccion != 0)
                            {
                                wordApp.Selection.TypeText(String.Concat(", bono de producción de $", FormatNumero(_personal.EstructuraSueldos.BonoProduccion.ToString())));
                            }
                            break;

                        case "ProduccionLetras":
                            myMergeField.Select();

                            if (_personal.EstructuraSueldos.BonoProduccion != 0)
                            {
                                wordApp.Selection.TypeText(String.Concat("(", PrimeraMayuscula(enletras(_personal.EstructuraSueldos.BonoProduccion.ToString())), "chilenos)"));
                            }
                            break;

                        case "BonoTurno":
                            myMergeField.Select();
                            if (_personal.EstructuraSueldos.BonoTurno != 0)
                            {
                                wordApp.Selection.TypeText(String.Concat("y un bono cargo mientras ejerza la labor de encargado de turno de $", FormatNumero(_personal.EstructuraSueldos.BonoTurno.ToString())));
                            }
                            break;

                        case "FechaVencimiento":
                            myMergeField.Select();
                            if (_personal.TipoContrato.Equals("INDEFINIDO"))
                            {
                                wordApp.Selection.TypeText("Indefinida");
                            }
                            else
                            {
                                wordApp.Selection.TypeText(String.Concat("hasta el ", _personal.FechaVencimiento.Value.ToLongDateString()));
                            }
                            break;

                        case "FechaInicio":
                            myMergeField.Select();
                            wordApp.Selection.TypeText(_personal.FechaIngreso.Value.ToLongDateString());
                            break;

                        case "AFP":
                            myMergeField.Select();
                            try
                            {
                                if (_personal.Afp.Afp_Nombre == null)
                                {
                                    Mensaje = "Personal no tiene Afp asociada. Favor ingresarla y volver a intentar.";
                                    return(false);
                                }
                                wordApp.Selection.TypeText(_personal.Afp.Afp_Nombre);
                            }
                            catch (Exception)
                            {
                                Mensaje = "Personal no tiene Afp asociada. Favor ingresarla y volver a intentar.";
                                return(false);
                            }

                            break;

                        case "Isapre":
                            myMergeField.Select();

                            try
                            {
                                if (_personal.Isapres.Isapre_Nombre == null)
                                {
                                    Mensaje = "Personal no tiene Isapre asociada. Favor ingresarla y volver a intentar.";
                                    return(false);
                                }
                                wordApp.Selection.TypeText(_personal.Isapres.Isapre_Nombre);
                            }
                            catch (Exception)
                            {
                                Mensaje = "Personal no tiene Isapre asociada. Favor ingresarla y volver a intentar.";
                                return(false);
                            }
                            break;

                        case "Desempeño":
                            myMergeField.Select();
                            try
                            {
                                if (_personal.Usuarios == null)
                                {
                                    wordApp.Selection.TypeText("Guardia de Seguridad");
                                }
                                else
                                {
                                    if (_personal.Usuarios.Privilegio_Id == 5)
                                    {
                                        wordApp.Selection.TypeText("Guardia de Seguridad");
                                    }
                                    else
                                    {
                                        wordApp.Selection.TypeText(_personal.Cargo);
                                    }
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            break;

                        case "SegundoParrafo":
                            myMergeField.Select();
                            try
                            {
                                if (_personal.Usuarios == null)
                                {
                                    wordApp.Selection.TypeText("Guardia de Seguridad, será el encargado de asistir en la organización y realización de tareas de seguridad del área, patrullar o supervisar las instalaciones para evitar el robo, la violencia, o infracciones contra la empresa contratante, autorizar la entrada y salida de los empleados, visitantes y otras personas con el fin de protegerse contra el Robo y/o Hurto. El guardia de Seguridad es responsable de mantener instalaciones seguras, debe ser capaz de escribir informes sobre las actividades diarias y las irregularidades, tales como daños en los equipos o la propiedad, robos, Hurtos, la presencia de personas no autorizadas o los acontecimientos inusuales, o cualquier otro acontecimiento que revista los caracteres de delito. Un guardia de seguridad debe llamar a la Carabineros o a la Policía, bomberos y/o Ambulancias en casos de emergencia. Cuando un guardia de seguridad se enfrenta a personas no autorizadas que se niegan a abandonar la zona custodiada, deben llamar a la policía para efectuar el procedimiento.");
                                }
                                else
                                {
                                    if (_personal.Usuarios.Privilegio_Id == 5)
                                    {
                                        wordApp.Selection.TypeText("Guardia de Seguridad, será el encargado de asistir en la organización y realización de tareas de seguridad del área, patrullar o supervisar las instalaciones para evitar el robo, la violencia, o infracciones contra la empresa contratante, autorizar la entrada y salida de los empleados, visitantes y otras personas con el fin de protegerse contra el Robo y/o Hurto. El guardia de Seguridad es responsable de mantener instalaciones seguras, debe ser capaz de escribir informes sobre las actividades diarias y las irregularidades, tales como daños en los equipos o la propiedad, robos, Hurtos, la presencia de personas no autorizadas o los acontecimientos inusuales, o cualquier otro acontecimiento que revista los caracteres de delito. Un guardia de seguridad debe llamar a la Carabineros o a la Policía, bomberos y/o Ambulancias en casos de emergencia. Cuando un guardia de seguridad se enfrenta a personas no autorizadas que se niegan a abandonar la zona custodiada, deben llamar a la policía para efectuar el procedimiento.");
                                    }
                                    else
                                    {
                                        wordApp.Selection.TypeText(String.Concat(_personal.Cargo, ", ", _SegundoParrafo));
                                    }
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            break;

                        case "DireccionInstalacion":
                            myMergeField.Select();
                            try
                            {
                                wordApp.Selection.TypeText(_DireccionInstalacion);
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            break;

                        case "AfectoBonoAsistencia":
                            myMergeField.Select();
                            try
                            {
                                //if (_personal.Usuarios.Privilegio_Id == 5)
                                if (_personal.Cargo.Contains("guardia") || _personal.Cargo.Contains("Guardia") || _personal.Cargo.Contains("GUARDIA"))
                                {
                                    wordApp.Selection.TypeText("En el evento que el trabajador tenga un día de inasistencia o un atraso injustificado, se le descontará el 100% del bono de Asistencia y Responsabilidad.  Lo anterior sin perjuicio de lo estipulado en el Art. 160, nro. 3 y 4, del Código del Trabajo. El trabajador no tendrá otros beneficios que los que se hagan contar por escrito en el presente contrato.");
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            break;

                        case "Anticipo":
                            myMergeField.Select();
                            try
                            {
                                if (_personal.Cargo.Contains("guardia") || _personal.Cargo.Contains("Guardia") || _personal.Cargo.Contains("GUARDIA"))
                                {
                                    wordApp.Selection.TypeText(FormatNumero("60000"));
                                }
                                else
                                {
                                    wordApp.Selection.TypeText(FormatNumero(_Anticipo.ToString()));
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            break;

                        case "AnticipoLetras":
                            myMergeField.Select();
                            try
                            {
                                if (_personal.Cargo.Contains("guardia") || _personal.Cargo.Contains("Guardia") || _personal.Cargo.Contains("GUARDIA"))
                                {
                                    wordApp.Selection.TypeText(String.Concat("(", PrimeraMayuscula(enletras(FormatNumero("60000"))), " pesos chilenos)"));
                                }
                                else
                                {
                                    wordApp.Selection.TypeText(String.Concat("(", PrimeraMayuscula(enletras(FormatNumero(_Anticipo.ToString()))), " pesos chilenos)"));
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            break;

                        case "DepositoBanco":
                            myMergeField.Select();
                            try
                            {
                                //vista Nº 18162030, del Banco Estado.
                                if (_personal.Id_Banco == 19 && _personal.TipoCuenta.ToString().Equals("Cuenta Vista"))
                                {
                                    wordApp.Selection.TypeText(String.Concat("Cuenta Rut", " Nº", _personal.NumeroCuenta, ", del", _Bancos.BuscaNombreBanco((int)_personal.Id_Banco)));
                                }
                                else
                                {
                                    wordApp.Selection.TypeText(String.Concat(_personal.TipoCuenta, " Nº", _personal.NumeroCuenta, ", del", _Bancos.BuscaNombreBanco((int)_personal.Id_Banco)));
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            break;

                        default:
                            break;
                        }
                    }
                }

                if (File.Exists(String.Concat(_RutaFinal, "Contrato_", DateTime.Now.ToShortDateString(), "_", _per.Rut, "-", _per.Dv, ".pdf")))
                {
                    Mensaje = String.Concat("Contrato a crear '", _RutaFinal, "Contrato_", DateTime.Now.ToShortDateString(),
                                            "_", _per.Rut, "-", _per.Dv, ".pdf", "' ya existe en la carpeta destino, favor revisar");
                    return(false);
                }

                Object objSaveAsFile = String.Concat(_RutaFinal, "Contrato_", DateTime.Now.ToShortDateString(), "_", _per.Rut, "-", _per.Dv, ".pdf");
                wordDoc.SaveAs2(objSaveAsFile, ref objFileFormat, ref oMissing, ref oMissing,
                                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                                ref oMissing, ref oMissing);

                //wordDoc.SaveAs2(String.Concat(_RutaFinal, "Contrato_", DateTime.Now.ToShortDateString(), "_", _per.Rut, "-", _per.Dv, ".doc"));
                _log.IngresaLog(_usuarioSesion, String.Concat(_usuarioSesion.Usuario_Nombre, " ha generado Contratos de ", _per.Rut, "-", _per.Dv));

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                try
                {
                    if (wordDoc != null)
                    {
                        wordDoc.Close(ref objFalse, ref oMissing, ref oMissing);
                    }
                    if (wordApp != null)
                    {
                        wordApp.Quit(ref oMissing, ref oMissing, ref oMissing);
                    }

                    Marshal.ReleaseComObject(wordDoc);
                    Marshal.ReleaseComObject(wordApp);
                    Marshal.ReleaseThreadCache();
                    wordApp = (Microsoft.Office.Interop.Word.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
                    wordApp = null;
                }
                catch (Exception)
                {
                }
            }
        }