public Int32 Inserta(InspeccionTrabajoBE pItem, List <InspeccionTrabajoDetalleBE> pListaInspeccionTrabajoDetalle)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    InspeccionTrabajoDL        InspeccionTrabajo        = new InspeccionTrabajoDL();
                    InspeccionTrabajoDetalleDL InspeccionTrabajoDetalle = new InspeccionTrabajoDetalleDL();


                    int IdInspeccionTrabajo = 0;
                    IdInspeccionTrabajo = InspeccionTrabajo.Inserta(pItem);

                    foreach (var item in pListaInspeccionTrabajoDetalle)
                    {
                        item.IdInspeccionTrabajo = IdInspeccionTrabajo;
                        InspeccionTrabajoDetalle.Inserta(item);
                    }


                    ts.Complete();

                    return(IdInspeccionTrabajo);
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
        public void Actualiza(InspeccionTrabajoBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_InspeccionTrabajo_Actualiza");

            db.AddInParameter(dbCommand, "pIdInspeccionTrabajo", DbType.Int32, pItem.IdInspeccionTrabajo);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);
            db.AddInParameter(dbCommand, "pIdEmpresaContratista", DbType.Int32, pItem.IdEmpresaContratista);
            db.AddInParameter(dbCommand, "pIdUnidadMinera", DbType.Int32, pItem.IdUnidadMinera);
            db.AddInParameter(dbCommand, "pIdArea", DbType.Int32, pItem.IdArea);
            db.AddInParameter(dbCommand, "pIdSector", DbType.Int32, pItem.IdSector);
            db.AddInParameter(dbCommand, "pIdTipoInspeccion", DbType.Int32, pItem.IdTipoInspeccion);
            db.AddInParameter(dbCommand, "pNumero", DbType.String, pItem.Numero);
            db.AddInParameter(dbCommand, "pFecha", DbType.DateTime, pItem.Fecha);
            db.AddInParameter(dbCommand, "pHora", DbType.DateTime, pItem.Hora);
            db.AddInParameter(dbCommand, "pObjetivo", DbType.String, pItem.Objetivo);
            db.AddInParameter(dbCommand, "pLugar", DbType.String, pItem.Lugar);
            db.AddInParameter(dbCommand, "pIdInspeccionadoPor", DbType.Int32, pItem.IdInspeccionadoPor);
            db.AddInParameter(dbCommand, "pIdResponsableArea", DbType.Int32, pItem.IdResponsableArea);
            db.AddInParameter(dbCommand, "pIdResponsableSector", DbType.Int32, pItem.IdResponsableSector);
            db.AddInParameter(dbCommand, "pNumeroTrabajadores", DbType.Int32, pItem.NumeroTrabajadores);
            db.AddInParameter(dbCommand, "pPersonaRegistro", DbType.String, pItem.PersonaRegistro);
            db.AddInParameter(dbCommand, "pPersonaCargo", DbType.String, pItem.PersonaCargo);
            db.AddInParameter(dbCommand, "pFlagEstado", DbType.Boolean, pItem.FlagEstado);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);

            db.ExecuteNonQuery(dbCommand);
        }
        private void tlbMenu_DeleteClick()
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                if (XtraMessageBox.Show("Esta seguro de eliminar el registro?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    if (!ValidarIngreso())
                    {
                        InspeccionTrabajoBE objE_InspeccionTrabajo = new InspeccionTrabajoBE();
                        objE_InspeccionTrabajo.IdInspeccionTrabajo = int.Parse(gvInspeccionTrabajo.GetFocusedRowCellValue("IdInspeccionTrabajo").ToString());
                        objE_InspeccionTrabajo.Usuario             = Parametros.strUsuarioLogin;
                        objE_InspeccionTrabajo.Maquina             = WindowsIdentity.GetCurrent().Name.ToString();
                        objE_InspeccionTrabajo.IdEmpresa           = Parametros.intEmpresaId;

                        InspeccionTrabajoBL objBL_InspeccionTrabajo = new InspeccionTrabajoBL();
                        objBL_InspeccionTrabajo.Elimina(objE_InspeccionTrabajo);
                        XtraMessageBox.Show("El registro se eliminó correctamente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Cargar();
                    }
                }
                Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public void Elimina(InspeccionTrabajoBE pItem)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    InspeccionTrabajoDL        InspeccionTrabajo        = new InspeccionTrabajoDL();
                    InspeccionTrabajoDetalleDL InspeccionTrabajoDetalle = new InspeccionTrabajoDetalleDL();

                    List <InspeccionTrabajoDetalleBE> lstInspeccionTrabajoDetalle = null;
                    lstInspeccionTrabajoDetalle = new InspeccionTrabajoDetalleDL().ListaTodosActivo(pItem.IdInspeccionTrabajo);

                    foreach (InspeccionTrabajoDetalleBE item in lstInspeccionTrabajoDetalle)
                    {
                        InspeccionTrabajoDetalle.Elimina(item);
                    }

                    InspeccionTrabajo.Elimina(pItem);

                    ts.Complete();
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
        public void Actualiza(InspeccionTrabajoBE pItem, List <InspeccionTrabajoDetalleBE> pListaInspeccionTrabajoDetalle)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    InspeccionTrabajoDL        InspeccionTrabajo        = new InspeccionTrabajoDL();
                    InspeccionTrabajoDetalleDL InspeccionTrabajoDetalle = new InspeccionTrabajoDetalleDL();

                    foreach (InspeccionTrabajoDetalleBE item in pListaInspeccionTrabajoDetalle)
                    {
                        if (item.TipoOper == Convert.ToInt32(Operacion.Nuevo)) //Nuevo
                        {
                            item.IdInspeccionTrabajo = pItem.IdInspeccionTrabajo;
                            InspeccionTrabajoDetalle.Inserta(item);
                        }
                        else
                        {
                            InspeccionTrabajoDetalle.Actualiza(item);
                        }
                    }

                    InspeccionTrabajo.Actualiza(pItem);

                    ts.Complete();
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
        public List <InspeccionTrabajoBE> ListaTipo(int IdEmpresa, int IdUnidadMinera, int IdArea, int IdTipoInspeccion, DateTime FechaDesde, DateTime FechaHasta)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_InspeccionTrabajo_ListaTipo");

            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, IdEmpresa);
            db.AddInParameter(dbCommand, "pIdUnidadMinera", DbType.Int32, IdUnidadMinera);
            db.AddInParameter(dbCommand, "pIdArea", DbType.Int32, IdArea);
            db.AddInParameter(dbCommand, "pIdTipoInspeccion", DbType.Int32, IdTipoInspeccion);
            db.AddInParameter(dbCommand, "pFechaDesde", DbType.DateTime, FechaDesde);
            db.AddInParameter(dbCommand, "pFechaHasta", DbType.DateTime, FechaHasta);

            IDataReader reader = db.ExecuteReader(dbCommand);
            List <InspeccionTrabajoBE> InspeccionTrabajolist = new List <InspeccionTrabajoBE>();
            InspeccionTrabajoBE        InspeccionTrabajo;

            while (reader.Read())
            {
                InspeccionTrabajo = new InspeccionTrabajoBE();
                InspeccionTrabajo.IdInspeccionTrabajo  = Int32.Parse(reader["idInspeccionTrabajo"].ToString());
                InspeccionTrabajo.IdEmpresa            = Int32.Parse(reader["IdEmpresa"].ToString());
                InspeccionTrabajo.RazonSocial          = reader["RazonSocial"].ToString();
                InspeccionTrabajo.IdEmpresaContratista = Int32.Parse(reader["IdEmpresaContratista"].ToString());
                InspeccionTrabajo.EmpresaContratista   = reader["EmpresaContratista"].ToString();
                InspeccionTrabajo.IdUnidadMinera       = Int32.Parse(reader["IdUnidadMinera"].ToString());
                InspeccionTrabajo.DescUnidadMinera     = reader["DescUnidadMinera"].ToString();
                InspeccionTrabajo.IdArea             = Int32.Parse(reader["IdArea"].ToString());
                InspeccionTrabajo.DescArea           = reader["DescArea"].ToString();
                InspeccionTrabajo.IdSector           = Int32.Parse(reader["IdSector"].ToString());
                InspeccionTrabajo.DescSector         = reader["DescSector"].ToString();
                InspeccionTrabajo.IdTipoInspeccion   = Int32.Parse(reader["IdTipoInspeccion"].ToString());
                InspeccionTrabajo.DescTipoInspeccion = reader["DescTipoInspeccion"].ToString();
                InspeccionTrabajo.Numero             = reader["Numero"].ToString();
                InspeccionTrabajo.Fecha                 = DateTime.Parse(reader["Fecha"].ToString());
                InspeccionTrabajo.Hora                  = DateTime.Parse(reader["Hora"].ToString());
                InspeccionTrabajo.Objetivo              = reader["Objetivo"].ToString();
                InspeccionTrabajo.Lugar                 = reader["Lugar"].ToString();
                InspeccionTrabajo.IdInspeccionadoPor    = Int32.Parse(reader["IdInspeccionadoPor"].ToString());
                InspeccionTrabajo.InspeccionadoPor      = reader["InspeccionadoPor"].ToString();
                InspeccionTrabajo.IdResponsableArea     = reader.IsDBNull(reader.GetOrdinal("IdResponsableArea")) ? -1 : reader.GetInt32(reader.GetOrdinal("IdResponsableArea"));
                InspeccionTrabajo.ResponsableArea       = reader["ResponsableArea"].ToString();
                InspeccionTrabajo.MailAreaResponsable   = reader["MailAreaResponsable"].ToString();
                InspeccionTrabajo.IdResponsableSector   = reader.IsDBNull(reader.GetOrdinal("IdResponsableSector")) ? -1 : reader.GetInt32(reader.GetOrdinal("IdResponsableSector"));
                InspeccionTrabajo.ResponsableSector     = reader["ResponsableSector"].ToString();
                InspeccionTrabajo.MailSectorResponsable = reader["MailSectorResponsable"].ToString();
                InspeccionTrabajo.NumeroTrabajadores    = Int32.Parse(reader["NumeroTrabajadores"].ToString());
                InspeccionTrabajo.PersonaRegistro       = reader["PersonaRegistro"].ToString();
                InspeccionTrabajo.PersonaCargo          = reader["PersonaCargo"].ToString();
                InspeccionTrabajo.FlagEstado            = Boolean.Parse(reader["flagestado"].ToString());
                InspeccionTrabajolist.Add(InspeccionTrabajo);
            }
            reader.Close();
            reader.Dispose();
            return(InspeccionTrabajolist);
        }
 public InspeccionTrabajoBE SeleccionaNumero(int Numero)
 {
     try
     {
         InspeccionTrabajoDL InspeccionTrabajo = new InspeccionTrabajoDL();
         InspeccionTrabajoBE objEmp            = InspeccionTrabajo.SeleccionaNumero(Numero);
         return(objEmp);
     }
     catch (Exception ex)
     { throw ex; }
 }
        public void Elimina(InspeccionTrabajoBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_InspeccionTrabajo_Elimina");

            db.AddInParameter(dbCommand, "pIdInspeccionTrabajo", DbType.Int32, pItem.IdInspeccionTrabajo);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);

            db.ExecuteNonQuery(dbCommand);
        }
        private void frmRegInspeccionTrabajoEdit_Load(object sender, EventArgs e)
        {
            deFecha.DateTime = DateTime.Now;
            teHora.EditValue = DateTime.Now.ToLongTimeString();
            BSUtils.LoaderLook(cboEmpresa, new EmpresaBL().ListaCombo(Parametros.intTECorporativo), "RazonSocial", "IdEmpresa", true);
            BSUtils.LoaderLook(cboEmpresaContratista, new EmpresaBL().ListaCombo(Parametros.intTEContratista), "RazonSocial", "IdEmpresa", true);
            cboEmpresaContratista.EditValue = Parametros.intEmpresaContratistaNinguno;
            BSUtils.LoaderLook(cboTipoInspeccion, new TipoInspeccionBL().ListaTodosActivo(0), "DescTipoInspeccion", "IdTipoInspeccion", true);

            intIdInspeccionadoPor    = Parametros.intPersonaId;
            txtInspeccionadoPor.Text = Parametros.strUsuarioNombres;

            if (pOperacion == Operacion.Nuevo)
            {
                this.Text = "Inspección de Trabajo - Nuevo";
            }
            else if (pOperacion == Operacion.Modificar)
            {
                this.Text = "Inspección de Trabajo - Modificar";

                InspeccionTrabajoBE objE_InspeccionTrabajo = null;
                objE_InspeccionTrabajo = new InspeccionTrabajoBL().Selecciona(IdInspeccionTrabajo);

                IdInspeccionTrabajo             = objE_InspeccionTrabajo.IdInspeccionTrabajo;
                txtNumero.Text                  = objE_InspeccionTrabajo.Numero;
                deFecha.EditValue               = objE_InspeccionTrabajo.Fecha;
                teHora.EditValue                = objE_InspeccionTrabajo.Hora;
                txtNumeroTrabajadores.EditValue = objE_InspeccionTrabajo.NumeroTrabajadores;
                cboTipoInspeccion.EditValue     = objE_InspeccionTrabajo.IdTipoInspeccion;
                txtObjetivo.Text                = objE_InspeccionTrabajo.Objetivo;
                cboEmpresa.EditValue            = objE_InspeccionTrabajo.IdEmpresa;
                cboUnidadMinera.EditValue       = objE_InspeccionTrabajo.IdUnidadMinera;
                cboAreaResponsable.EditValue    = objE_InspeccionTrabajo.IdArea;
                cboSector.EditValue             = objE_InspeccionTrabajo.IdSector;
                txtLugar.Text = objE_InspeccionTrabajo.Lugar;
                cboEmpresaContratista.EditValue = objE_InspeccionTrabajo.IdEmpresaContratista;
                intIdInspeccionadoPor           = objE_InspeccionTrabajo.IdInspeccionadoPor;
                txtInspeccionadoPor.Text        = objE_InspeccionTrabajo.InspeccionadoPor;
                strMailAreaResponsable          = objE_InspeccionTrabajo.MailAreaResponsable;
                intIdResponsableSector          = Convert.ToInt32(objE_InspeccionTrabajo.IdResponsableSector);
                txtResponsableSector.Text       = objE_InspeccionTrabajo.ResponsableSector;
                strMailSectorResponsable        = objE_InspeccionTrabajo.MailSectorResponsable;
                txtPersonaRegistro.Text         = objE_InspeccionTrabajo.PersonaRegistro;
                txtPersonaCargo.Text            = objE_InspeccionTrabajo.PersonaCargo;
            }

            CargaInspeccionTrabajoDetalle();
            deFecha.Select();
        }
        public void InicializarModificar()
        {
            if (gvInspeccionTrabajo.RowCount > 0)
            {
                InspeccionTrabajoBE objInspeccionTrabajo = new InspeccionTrabajoBE();
                objInspeccionTrabajo.IdInspeccionTrabajo = int.Parse(gvInspeccionTrabajo.GetFocusedRowCellValue("IdInspeccionTrabajo").ToString());

                frmRegInspeccionTrabajoEdit objManInspeccionTrabajoEdit = new frmRegInspeccionTrabajoEdit();
                objManInspeccionTrabajoEdit.pOperacion          = frmRegInspeccionTrabajoEdit.Operacion.Modificar;
                objManInspeccionTrabajoEdit.IdInspeccionTrabajo = objInspeccionTrabajo.IdInspeccionTrabajo;
                objManInspeccionTrabajoEdit.StartPosition       = FormStartPosition.CenterParent;
                objManInspeccionTrabajoEdit.ShowDialog();

                Cargar();
            }
            else
            {
                MessageBox.Show("No se pudo editar");
            }
        }
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                if (!ValidarIngreso())
                {
                    InspeccionTrabajoBE objInspeccionTrabajo    = new InspeccionTrabajoBE();
                    InspeccionTrabajoBL objBL_InspeccionTrabajo = new InspeccionTrabajoBL();

                    objInspeccionTrabajo.IdInspeccionTrabajo = IdInspeccionTrabajo;
                    objInspeccionTrabajo.IdUnidadMinera      = Convert.ToInt32(cboUnidadMinera.EditValue);
                    objInspeccionTrabajo.IdArea               = Convert.ToInt32(cboAreaResponsable.EditValue);
                    objInspeccionTrabajo.IdSector             = Convert.ToInt32(cboSector.EditValue);
                    objInspeccionTrabajo.IdTipoInspeccion     = Convert.ToInt32(cboTipoInspeccion.EditValue);
                    objInspeccionTrabajo.Numero               = txtNumero.Text;
                    objInspeccionTrabajo.Fecha                = Convert.ToDateTime(deFecha.DateTime.ToShortDateString());
                    objInspeccionTrabajo.Hora                 = Convert.ToDateTime(teHora.EditValue);
                    objInspeccionTrabajo.Objetivo             = txtObjetivo.Text;
                    objInspeccionTrabajo.Lugar                = txtLugar.Text;
                    objInspeccionTrabajo.IdEmpresaContratista = Convert.ToInt32(cboEmpresaContratista.EditValue);
                    objInspeccionTrabajo.IdInspeccionadoPor   = intIdInspeccionadoPor;
                    objInspeccionTrabajo.IdResponsableArea    = (int?)null;
                    objInspeccionTrabajo.IdResponsableSector  = intIdResponsableSector == 0 ? (int?)null : intIdResponsableSector;
                    objInspeccionTrabajo.NumeroTrabajadores   = Convert.ToInt32(txtNumeroTrabajadores.Text);
                    objInspeccionTrabajo.PersonaRegistro      = txtPersonaRegistro.Text;
                    objInspeccionTrabajo.PersonaCargo         = txtPersonaCargo.Text;
                    objInspeccionTrabajo.FlagEstado           = true;
                    objInspeccionTrabajo.Usuario              = Parametros.strUsuarioLogin;
                    objInspeccionTrabajo.Maquina              = WindowsIdentity.GetCurrent().Name.ToString();
                    objInspeccionTrabajo.IdEmpresa            = Convert.ToInt32(cboEmpresa.EditValue);

                    //INSPECCION TRABAJO DETALLE
                    List <InspeccionTrabajoDetalleBE> lstInspeccionTrabajoDetalle = new List <InspeccionTrabajoDetalleBE>();

                    foreach (var item in mListaInspeccionTrabajoDetalleOrigen)
                    {
                        InspeccionTrabajoDetalleBE objE_InspeccionTrabajoDetalle = new InspeccionTrabajoDetalleBE();
                        objE_InspeccionTrabajoDetalle.IdEmpresa                  = Parametros.intEmpresaId;
                        objE_InspeccionTrabajoDetalle.IdInspeccionTrabajo        = IdInspeccionTrabajo;
                        objE_InspeccionTrabajoDetalle.IdInspeccionTrabajoDetalle = item.IdInspeccionTrabajoDetalle;
                        objE_InspeccionTrabajoDetalle.Item = item.Item;
                        objE_InspeccionTrabajoDetalle.Foto = item.Foto;
                        objE_InspeccionTrabajoDetalle.CondicionSubEstandar = item.CondicionSubEstandar;
                        objE_InspeccionTrabajoDetalle.AccionCorrectiva     = item.AccionCorrectiva;
                        objE_InspeccionTrabajoDetalle.IdResponsable        = item.IdResponsable;
                        objE_InspeccionTrabajoDetalle.FechaEjecucion       = (item.FechaEjecucion.ToString().Length == 0) ? null : item.FechaEjecucion;
                        objE_InspeccionTrabajoDetalle.FotoCumplimiento     = item.FotoCumplimiento;
                        objE_InspeccionTrabajoDetalle.Observacion          = item.Observacion;
                        objE_InspeccionTrabajoDetalle.IdSituacion          = item.IdSituacion;
                        objE_InspeccionTrabajoDetalle.FlagEstado           = true;
                        objE_InspeccionTrabajoDetalle.Usuario  = Parametros.strUsuarioLogin;
                        objE_InspeccionTrabajoDetalle.Maquina  = WindowsIdentity.GetCurrent().Name.ToString();
                        objE_InspeccionTrabajoDetalle.TipoOper = item.TipoOper;
                        lstInspeccionTrabajoDetalle.Add(objE_InspeccionTrabajoDetalle);
                    }


                    if (pOperacion == Operacion.Nuevo)
                    {
                        int    intNumero = 0;
                        string strNumero = "";
                        intNumero      = objBL_InspeccionTrabajo.Inserta(objInspeccionTrabajo, lstInspeccionTrabajoDetalle);
                        strNumero      = FuncionBase.AgregarCaracter(intNumero.ToString(), "0", 7);
                        txtNumero.Text = strNumero;

                        //ACTUALIZAR NUMERO
                        InspeccionTrabajoBL objBInspeccionTrabajo = new InspeccionTrabajoBL();
                        objBInspeccionTrabajo.ActualizaNumero(intNumero, txtNumero.Text);

                        //ELIMINAMOS LOR ARCHIVOS CREADOS
                        foreach (var item in Directory.GetFiles(@"D:\", "*.pdf"))
                        {
                            File.SetAttributes(item, FileAttributes.Normal);
                            File.Delete(item);
                        }

                        //GENERAR EL REPORTE EN PDF
                        List <ReporteInspeccionTrabajoBE> lstReporteInspeccion = null;
                        lstReporteInspeccion = new ReporteInspeccionTrabajoBL().Listado(intNumero);
                        rptInspeccionTrabajo objReporte = new rptInspeccionTrabajo();
                        objReporte.SetDataSource(lstReporteInspeccion);
                        objReporte.ExportToDisk(ExportFormatType.PortableDocFormat, @"D:\" + strNumero + ".pdf");

                        StringBuilder strMensaje = new StringBuilder();
                        strMensaje.Append("*****************************************************************************\n\n");
                        strMensaje.Append("Se Generó la N° Condición Insegura : " + strNumero + "\n\n");
                        strMensaje.Append("Regularizar de acuerdo a las fechas descritas en el archivo adjunto" + "\n\n");
                        strMensaje.Append("Emitido Por el Area de Seguridad y Salud en el Trabajo" + "\n\n");
                        strMensaje.Append("*****************************************************************************\n\n");

                        string strMailTO = "";
                        strMailTO = strMailSectorResponsable;

                        if (intIdResponsableAdicional1 > 0)
                        {
                            strMailTO = strMailTO + ";" + strMailResponsableAdicional1;
                        }

                        if (intIdResponsableAdicional2 > 0)
                        {
                            strMailTO = strMailTO + ";" + strMailResponsableAdicional2;
                        }

                        foreach (var item in mListaInspeccionTrabajoDetalleOrigen)
                        {
                            PersonaBE objE_Persona = new PersonaBE();
                            objE_Persona = new PersonaBL().Selecciona(0, 0, 0, item.IdResponsable);
                            if (objE_Persona != null)
                            {
                                strMailTO = strMailTO + ";" + objE_Persona.Email;
                            }
                        }

                        if (Convert.ToInt32(cboEmpresaContratista.EditValue) != Parametros.intEmpresaContratistaNinguno)
                        {
                            ActividadContratistaBE objE_ActividadContratista = new ActividadContratistaBE();
                            objE_ActividadContratista = new ActividadContratistaBL().SeleccionaEmpresa(Convert.ToInt32(cboEmpresaContratista.EditValue));
                            if (objE_ActividadContratista != null)
                            {
                                strMailTO = strMailTO + ";" + objE_ActividadContratista.EmailContratista;
                            }
                        }

                        BSUtils.EmailSend(strMailTO, "Inspección Interna de Trabajo", strMensaje.ToString(), @"D:\" + strNumero + ".pdf", "", "", "");

                        Application.DoEvents();

                        XtraMessageBox.Show("Se creó el registro de Inspeccion N° : " + txtNumero.Text, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        objBL_InspeccionTrabajo.Actualiza(objInspeccionTrabajo, lstInspeccionTrabajoDetalle);
                    }
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void enviarFotoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;

                string strMailTO = "";
                string strNumero = "";

                int intIdInspeccionTrabajo = 0;
                intIdInspeccionTrabajo = int.Parse(gvInspeccionTrabajo.GetFocusedRowCellValue("IdInspeccionTrabajo").ToString());
                strNumero = gvInspeccionTrabajo.GetFocusedRowCellValue("Numero").ToString();

                InspeccionTrabajoBE objE_InspeccionTrabajo = null;
                objE_InspeccionTrabajo = new InspeccionTrabajoBL().Selecciona(intIdInspeccionTrabajo);
                if (objE_InspeccionTrabajo != null)
                {
                    strMailTO = objE_InspeccionTrabajo.MailSectorResponsable;
                }

                //TRAEMOS LOS CORREOS DE LOS RESONSABLES DE LAS ACCIONES CORRECTIVAS PENDIENTES
                List <InspeccionTrabajoDetalleBE> lstInspeccionTrabajoDetalle = null;
                lstInspeccionTrabajoDetalle = new InspeccionTrabajoDetalleBL().ListaSituacion(intIdInspeccionTrabajo, Parametros.intDITPendiente);
                if (lstInspeccionTrabajoDetalle.Count == 0)
                {
                    XtraMessageBox.Show("La Inspección de Trabajo no tiene acciones correctivas pendienes", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Cursor = Cursors.Default;
                    return;
                }
                else
                {
                    foreach (var item in lstInspeccionTrabajoDetalle)
                    {
                        PersonaBE objE_Persona = new PersonaBE();
                        objE_Persona = new PersonaBL().Selecciona(0, 0, 0, item.IdResponsable);
                        if (objE_Persona != null)
                        {
                            strMailTO = strMailTO + ";" + objE_Persona.Email;
                        }
                    }
                }

                StringBuilder strMensaje = new StringBuilder();
                strMensaje.Append("**************************************************************************************************************************\n\n");
                strMensaje.Append("Se adjunta las Acciones Correctivas Pendientes " + "\n\n");
                strMensaje.Append("Comunicarse con el Area de Seguridad y Salud en el Trabajo" + "\n\n");
                strMensaje.Append("**************************************************************************************************************************\n\n");

                //ELIMINAMOS LOR ARCHIVOS CREADOS
                foreach (var item in Directory.GetFiles(@"D:\", "*.pdf"))
                {
                    File.SetAttributes(item, FileAttributes.Normal);
                    File.Delete(item);
                }

                //GENERAR EL REPORTE EN PDF
                List <ReporteInspeccionTrabajoBE> lstReporteInspeccion = null;
                lstReporteInspeccion = new ReporteInspeccionTrabajoBL().ListadoPendiente(intIdInspeccionTrabajo);
                rptInspeccionTrabajo objReporte = new rptInspeccionTrabajo();
                objReporte.SetDataSource(lstReporteInspeccion);
                objReporte.ExportToDisk(ExportFormatType.PortableDocFormat, @"D:\" + strNumero + ".pdf");

                BSUtils.EmailSend(strMailTO, "Inspección Interna de Trabajo", strMensaje.ToString(), @"D:\" + strNumero + ".pdf", "", "", "");

                XtraMessageBox.Show("El Correo se envio correctamente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }