示例#1
0
        private void EliminarEmpleados(RadGrid pGrid)
        {
            XElement             vXmlEmpleado   = new XElement("EMPLEADOS");
            ConfiguracionNegocio nConfiguracion = new ConfiguracionNegocio();
            int vIdConfiguracionNotificado;

            foreach (GridDataItem item in pGrid.SelectedItems)
            {
                vIdConfiguracionNotificado = int.Parse(item.GetDataKeyValue("ID_CONFIGURACION_NOTIFICADO").ToString());
                vXmlEmpleado.Add(new XElement("EMPLEADO", new XAttribute("ID_CONFIGURACION_NOTIFICADO", vIdConfiguracionNotificado)));
            }

            E_RESULTADO vResultado = nConfiguracion.EliminaConfiguracionNotificado(vXmlEmpleado.ToString());
            string      vMensaje   = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;

            UtilMensajes.MensajeResultadoDB(rwmMensaje, vMensaje, vResultado.CL_TIPO_ERROR, pCallBackFunction: "");
            pGrid.Rebind();
            if (vResultado.CL_TIPO_ERROR.ToString() == "SUCCESSFUL")
            {
                List <E_BAJA_IMPORTANTE_EO> LstEmpleadoBajaImportante = new List <E_BAJA_IMPORTANTE_EO>();
                RotacionPersonalNegocio     nBaja           = new RotacionPersonalNegocio();
                E_BAJA_IMPORTANTE_EO        bBajaNotificado = new E_BAJA_IMPORTANTE_EO();
                LstEmpleadoBajaImportante = nBaja.ObtieneEmpleadoImportante().ToList();
                bBajaNotificado           = LstEmpleadoBajaImportante.Where(w => w.CL_TIPO_NOTIFICACION == "BAJANOTIFICADO").FirstOrDefault();
                if (bBajaNotificado != null)
                {
                    EnviarCorreoImportate(bBajaNotificado.CL_CORREO_ELECTRONICO, bBajaNotificado.NB_EMPLEADO_COMPLETO);
                }
            }
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            E_BAJA_EMPLEADO vBaja = new E_BAJA_EMPLEADO();

            vBaja.CL_EMPLEADO      = txtClEmpleado.InnerText;
            vBaja.NB_EMPLEADO      = txtNombre.InnerText;
            vBaja.FE_BAJA_EFECTIVA = rdpFechaBaja.SelectedDate;
            vBaja.ID_EMPLEADO      = vIdEmpleado;
            XElement nodoPrincipal = new XElement("XML_COMENTARIOS", EditorContentToXml("COMENTARIOS", reComentarios.Content.Replace("&lt;", ""), vNbFirstRadEditorTagName));

            vBaja.DS_COMENTARIOS = nodoPrincipal.ToString();

            foreach (RadListBoxItem item in lstCausaBaja.Items)
            {
                vIdCausaBaja            = int.Parse(item.Value);
                vBaja.ID_CAUSA_ROTACION = (int)vIdCausaBaja;
            }
            //if (vIdCausaBaja != null)
            //{
            if (vFgProgramarFecha)
            {
                if (rdpFechaBaja.SelectedDate != null)
                {
                    RotacionPersonalNegocio nBaja      = new RotacionPersonalNegocio();
                    E_RESULTADO             vResultado = nBaja.InsertaBajaEmpleado(pBaja: vBaja, pCL_USUARIO: vClUsuario, pNB_PROGRAMA: vNbPrograma, pTIPO_TRANSACCION: E_TIPO_OPERACION_DB.I.ToString());
                    string vMensaje = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;
                    UtilMensajes.MensajeResultadoDB(rwmMensaje, vMensaje, vResultado.CL_TIPO_ERROR);
                }
            }
            else
            {
                RotacionPersonalNegocio     nBaja = new RotacionPersonalNegocio();
                List <E_BAJA_IMPORTANTE_EO> LstEmpleadoBajaImportante = new List <E_BAJA_IMPORTANTE_EO>();
                LstEmpleadoBajaImportante = nBaja.ObtieneEmpleadoImportante().ToList();

                string NotificacionBajas             = "";
                E_BAJA_IMPORTANTE_EO bImportante     = new E_BAJA_IMPORTANTE_EO();
                E_BAJA_IMPORTANTE_EO bBajaNotificado = new E_BAJA_IMPORTANTE_EO();

                if (LstEmpleadoBajaImportante.Count() > 0)
                {
                    bImportante     = LstEmpleadoBajaImportante.Where(w => w.ID_EMPLEADO == vBaja.ID_EMPLEADO).FirstOrDefault();
                    bBajaNotificado = LstEmpleadoBajaImportante.Where(w => w.CL_TIPO_NOTIFICACION == "BAJANOTIFICADO").FirstOrDefault();

                    if (bImportante != null)
                    {
                        NotificacionBajas = "IMPORTANTE";
                    }
                }


                E_RESULTADO vResultado = nBaja.InsertaBajaManualEmpleado(pBaja: vBaja, pCL_USUARIO: vClUsuario, pNB_PROGRAMA: vNbPrograma, pTIPO_TRANSACCION: E_TIPO_OPERACION_DB.I.ToString());
                string      vMensaje   = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;
                UtilMensajes.MensajeResultadoDB(rwmMensaje, vMensaje, vResultado.CL_TIPO_ERROR);
                if (vResultado.CL_TIPO_ERROR.ToString() == "SUCCESSFUL")
                {
                    PeriodoDesempenoNegocio    nPeriodo          = new PeriodoDesempenoNegocio();
                    List <E_BAJAS_PERIODO_EDD> lstBajasEmpleados = new List <E_BAJAS_PERIODO_EDD>();
                    lstBajasEmpleados = nPeriodo.ObtieneBajasEDD(vBaja.ID_EMPLEADO).ToList();
                    if (lstBajasEmpleados.Count() > 0)
                    {
                        foreach (E_BAJAS_PERIODO_EDD PeridoEDD in lstBajasEmpleados)
                        {
                            var validarProceso = nPeriodo.ValidaPeriodoDesempeno(PeridoEDD.ID_PERIODO).FirstOrDefault();
                            EnviarCorreos(validarProceso.VALIDACION, validarProceso.CL_CORREO_ELECTRONICO, validarProceso.NB_EMPLEADO_COMPLETO, PeridoEDD.ID_PERIODO);
                        }
                    }

                    if (NotificacionBajas == "IMPORTANTE")
                    {
                        if (bBajaNotificado != null)
                        {
                            EnviarCorreoImportate(bBajaNotificado.CL_CORREO_ELECTRONICO, bBajaNotificado.NB_EMPLEADO_COMPLETO);
                        }
                    }
                }
            }

            //}
            //else
            //{
            //    UtilMensajes.MensajeResultadoDB(rwmMensaje,"Seleccione la causa de la baja.",E_TIPO_RESPUESTA_DB.WARNING,pCallBackFunction:"");
            //}
        }