private void CargaEppDetalle()
        {
            mListaSolicitudEppDetalleOrigen = new List <CSolicitudEppDetalle>();
            List <SolicitudEppDetalleBE> lstTmpSolicitudEppDetalle = null;

            lstTmpSolicitudEppDetalle = new SolicitudEppDetalleBL().ListaTodosActivo(IdSolicitudEpp);

            foreach (SolicitudEppDetalleBE item in lstTmpSolicitudEppDetalle)
            {
                CSolicitudEppDetalle objE_SolicitudEppDetalle = new CSolicitudEppDetalle();
                objE_SolicitudEppDetalle.IdEmpresa             = item.IdEmpresa;
                objE_SolicitudEppDetalle.IdSolicitudEpp        = item.IdSolicitudEpp;
                objE_SolicitudEppDetalle.IdSolicitudEppDetalle = item.IdSolicitudEppDetalle;
                objE_SolicitudEppDetalle.Item       = item.Item;
                objE_SolicitudEppDetalle.IdEquipo   = item.IdEquipo;
                objE_SolicitudEppDetalle.Codigo     = item.Codigo;
                objE_SolicitudEppDetalle.DescEquipo = item.DescEquipo;
                objE_SolicitudEppDetalle.Cantidad   = item.Cantidad;
                objE_SolicitudEppDetalle.TipoOper   = item.TipoOper;
                mListaSolicitudEppDetalleOrigen.Add(objE_SolicitudEppDetalle);
            }

            bsListado.DataSource             = mListaSolicitudEppDetalleOrigen;
            gcSolicitudEppDetalle.DataSource = bsListado;
            gcSolicitudEppDetalle.RefreshDataSource();
        }
        private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (mListaSolicitudEppDetalleOrigen.Count > 0)
                {
                    if (int.Parse(gvSolicitudEppDetalle.GetFocusedRowCellValue("IdEquipo").ToString()) != 0)
                    {
                        int IdSolicitudEppDetalle = 0;
                        if (gvSolicitudEppDetalle.GetFocusedRowCellValue("IdSolicitudEppDetalle") != null)
                        {
                            IdSolicitudEppDetalle = int.Parse(gvSolicitudEppDetalle.GetFocusedRowCellValue("IdSolicitudEppDetalle").ToString());
                        }
                        int Item = 0;
                        if (gvSolicitudEppDetalle.GetFocusedRowCellValue("Item") != null)
                        {
                            Item = int.Parse(gvSolicitudEppDetalle.GetFocusedRowCellValue("Item").ToString());
                        }
                        SolicitudEppDetalleBE objBE_EppDetalle = new SolicitudEppDetalleBE();
                        objBE_EppDetalle.IdSolicitudEppDetalle = IdSolicitudEppDetalle;
                        objBE_EppDetalle.IdEmpresa             = Parametros.intEmpresaId;
                        objBE_EppDetalle.Usuario = Parametros.strUsuarioLogin;
                        objBE_EppDetalle.Maquina = WindowsIdentity.GetCurrent().Name.ToString();

                        SolicitudEppDetalleBL objBL_EppDetalle = new SolicitudEppDetalleBL();
                        objBL_EppDetalle.Elimina(objBE_EppDetalle);
                        gvSolicitudEppDetalle.DeleteRow(gvSolicitudEppDetalle.FocusedRowHandle);
                        gvSolicitudEppDetalle.RefreshData();

                        //RegeneraItem
                        int i      = 0;
                        int cuenta = 0;
                        foreach (var item in mListaSolicitudEppDetalleOrigen)
                        {
                            item.Item = Convert.ToInt32(cuenta + 1);
                            cuenta++;
                            i++;
                        }
                    }
                    else
                    {
                        gvSolicitudEppDetalle.DeleteRow(gvSolicitudEppDetalle.FocusedRowHandle);
                        gvSolicitudEppDetalle.RefreshData();
                    }
                }

                AttachSummaryEPP();
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void txtNumeroSolicitud_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode == Keys.Enter)
                {
                    SolicitudEppBE objE_SolicitudEpp = null;
                    objE_SolicitudEpp = new SolicitudEppBL().SeleccionaNumero(Convert.ToInt32(txtNumeroSolicitud.EditValue));
                    if (objE_SolicitudEpp != null)
                    {
                        if (objE_SolicitudEpp.IdSituacion == Parametros.intSLCPendiente)
                        {
                            intIdSolicitudEpp               = objE_SolicitudEpp.IdSolicitudEpp;
                            txtNumeroSolicitud.Text         = objE_SolicitudEpp.Numero;
                            intIdPersona                    = objE_SolicitudEpp.IdPersona;
                            txtResponsable.Text             = objE_SolicitudEpp.Responsable;
                            intIdEmpresaResponsable         = objE_SolicitudEpp.IdEmpresaResponsable;
                            txtEmpresaResponsable.Text      = objE_SolicitudEpp.EmpresaResponsable;
                            intIdUnidadMineraResponsable    = objE_SolicitudEpp.IdUnidadMineraResponsable;
                            txtUnidadMineraResponsable.Text = objE_SolicitudEpp.UnidadMineraResponsable;
                            intIdAreaResponsable            = objE_SolicitudEpp.IdAreaResponsable;
                            txtAreaResponsable.Text         = objE_SolicitudEpp.AreaResponsable;
                            intIdSectorResponsable          = objE_SolicitudEpp.IdSectorResponsable;
                            txtSectorResponsable.Text       = objE_SolicitudEpp.SectorResponsable;
                            txtCargo.Text                   = objE_SolicitudEpp.Cargo;
                            txtDescNegocio.Text             = objE_SolicitudEpp.DescNegocio;

                            PersonaBE objE_Persona = null;
                            objE_Persona = new PersonaBL().Selecciona(0, 0, 0, objE_SolicitudEpp.IdJefe);

                            if (objE_Persona != null)
                            {
                                strEmail = objE_Persona.Email;
                            }

                            //LLENAMOS EL DETALLE

                            List <SolicitudEppDetalleBE> lstSolicitudDetalle = null;
                            lstSolicitudDetalle = new SolicitudEppDetalleBL().ListaTodosActivo(intIdSolicitudEpp);

                            mListaEppDetalleOrigen = new List <CEppDetalle>();


                            foreach (SolicitudEppDetalleBE item in lstSolicitudDetalle)
                            {
                                CEppDetalle objE_EppDetalle = new CEppDetalle();
                                objE_EppDetalle.IdEmpresa    = intIdEmpresa;
                                objE_EppDetalle.IdEpp        = 0;
                                objE_EppDetalle.IdEppDetalle = 0;
                                objE_EppDetalle.Item         = item.Item;
                                objE_EppDetalle.IdEquipo     = item.IdEquipo;
                                objE_EppDetalle.Codigo       = item.Codigo;
                                objE_EppDetalle.DescEquipo   = item.DescEquipo;

                                //Obtenemos la fecha de vencimiento
                                AreaEquipoBE objE_AreaEquipo = null;
                                objE_AreaEquipo = new AreaEquipoBL().SeleccionaEquipo(intIdEmpresaResponsable, intIdUnidadMineraResponsable, intIdAreaResponsable, 0);
                                if (objE_AreaEquipo == null)
                                {
                                    string strMensaje = "El Equipo de Protecciòn Personal, no esta asigando:\n";
                                    strMensaje = strMensaje + "Empresa : " + objE_SolicitudEpp.EmpresaResponsable + "\n";
                                    strMensaje = strMensaje + "Sede : " + objE_SolicitudEpp.UnidadMineraResponsable + "\n";
                                    strMensaje = strMensaje + "Area : " + objE_SolicitudEpp.AreaResponsable + "\n";
                                    strMensaje = strMensaje + "EPP : " + item.DescEquipo + "\n";

                                    XtraMessageBox.Show(strMensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return;
                                }
                                else
                                {
                                    objE_EppDetalle.FechaVencimiento = deFecha.DateTime.AddDays(objE_AreaEquipo.Dias);
                                }


                                objE_EppDetalle.Cantidad = item.Cantidad;

                                EquipoBE objE_Equipo = null;
                                objE_Equipo = new EquipoBL().Selecciona(Parametros.intEmpresaId, item.IdEquipo);
                                if (objE_Equipo != null)
                                {
                                    objE_EppDetalle.Precio = objE_Equipo.Precio;
                                    objE_EppDetalle.Total  = item.Cantidad * objE_Equipo.Precio;
                                }


                                objE_EppDetalle.IdTipoEntrega   = Parametros.intTENuevo;
                                objE_EppDetalle.DescTipoEntrega = "NUEVO";
                                objE_EppDetalle.IdKardex        = 0;
                                objE_EppDetalle.TipoOper        = 4;
                                mListaEppDetalleOrigen.Add(objE_EppDetalle);
                            }

                            bsListado.DataSource    = mListaEppDetalleOrigen;
                            gcEppDetalle.DataSource = bsListado;
                            gcEppDetalle.RefreshDataSource();
                        }
                        else
                        {
                            XtraMessageBox.Show("La Solicitud ya fue atendida o anulada. \nPor Favor Verifique", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }