public XElement InsertarActualizarRequisicion(string pTipoTransaccion, E_REQUISICION pRequisicion, string pClUsuario, string pNbPrograma)
        {
            using (SistemaSigeinEntities context = new SistemaSigeinEntities())
            {
                ObjectParameter pout_clave_retorno = new ObjectParameter("XML_RESULTADO", typeof(XElement));

                context.SPE_INSERTA_ACTUALIZA_K_REQUISICION(pout_clave_retorno,
                                                            pRequisicion.ID_REQUISICION, pRequisicion.NO_REQUISICION,
                                                            pRequisicion.FE_SOLICITUD, pRequisicion.FE_REQUERIMIENTO,
                                                            pRequisicion.ID_PUESTO, pRequisicion.CL_ESTATUS_REQUISICION,
                                                            pRequisicion.CL_CAUSA, pRequisicion.DS_CAUSA, pRequisicion.DS_TIEMPO_CAUSA,
                                                            pRequisicion.ID_SOLICITANTE,
                                                            pRequisicion.NB_EMPLEADO_SOLICITANTE,
                                                            pRequisicion.NB_PUESTO_SOLICITANTE,
                                                            pRequisicion.NB_CORREO_SOLICITANTE,
                                                            pRequisicion.ID_AUTORIZA,
                                                            pRequisicion.NB_EMPLEADO_AUTORIZA,
                                                            pRequisicion.NB_PUESTO_AUTORIZA,
                                                            pRequisicion.NB_CORREO_AUTORIZA,
                                                            pRequisicion.ID_EMPLEADO_AUTORIZA_PUESTO,
                                                            pRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO,
                                                            pRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO_PUESTO,
                                                            pRequisicion.NB_CORREO_AUTORIZA_PUESTO,
                                                            pRequisicion.ID_EMPRESA, pRequisicion.CL_TOKEN,
                                                            pRequisicion.FL_REQUISICION,
                                                            pRequisicion.ID_EMPLEADO_SUPLENTE, pRequisicion.NB_EMPLEADO_SUPLENTE,
                                                            pRequisicion.MN_SUELDO, pRequisicion.MN_SUELDO_TABULADOR,
                                                            pRequisicion.MN_SUELDO_SUGERIDO, pRequisicion.MAX_SUELDO_SUGERIDO,
                                                            pRequisicion.CL_TOKEN_PUESTO,
                                                            pRequisicion.FL_NOTIFICACION,
                                                            pRequisicion.DS_COMENTARIOS,
                                                            pClUsuario, pNbPrograma, pTipoTransaccion);
                return(XElement.Parse(pout_clave_retorno.Value.ToString()));
            }
        }
Example #2
0
        public void SolicitarAutorizacionRequisicion(E_REQUISICION vRequisicion)
        {
            //Mail mail = new Mail(ContextoApp.mailConfiguration);
            EmpleadoNegocio nEmpleado = new EmpleadoNegocio();
            string          vNbPuesto;
            string          vNbSolicitante;
            string          vNbPuestoSolicitante;

            vIdAutoriza          = vRequisicion.ID_AUTORIZA.Value;
            vNbPuesto            = vRequisicion.NB_PUESTO;
            vNbSolicitante       = vRequisicion.NB_EMPLEADO_SOLICITANTE;
            vNbPuestoSolicitante = vRequisicion.NB_PUESTO_SOLICITANTE;

            //var vUsuarioInfo = nEmpleado.Obtener_M_EMPLEADO(ID_EMPLEADO: vIdAutoriza).FirstOrDefault();
            //if (vUsuarioInfo != null)
            //{
            string Asunto = "Autorización de requisición";

            if (string.IsNullOrEmpty(txtCorreoAutorizaReq.Text))
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "El empleado que autoriza la requisición no tiene un correo electrónico. Actualiza el inventario de personal antes de envíar la solicitud de autorización", E_TIPO_RESPUESTA_DB.WARNING);
                return;
            }

            if (pClEstatusRequisicion == "AUTORIZADO")
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "La requisición ya está autorizada.", E_TIPO_RESPUESTA_DB.WARNING);
                return;
            }

            try
            {
                string myUrl          = ResolveUrl("~/Logon.aspx?FlProceso=");
                string vUrl           = ContextoUsuario.nbHost + myUrl + flRequisicion.ToString() + "&ClProceso=" + "AUTORIZAREQUISICION";
                string vMensajeCorreo = ContextoApp.IDP.NotificacionRrhh.dsAutorizadorRequisicion.dsMensaje;
                vMensajeCorreo = vMensajeCorreo.Replace("[NB_NOTIFICAR]", vRequisicion.NB_EMPLEADO_AUTORIZA);
                vMensajeCorreo = vMensajeCorreo.Replace("[NB_CREA_REQUISICION]", vNbSolicitante);
                vMensajeCorreo = vMensajeCorreo.Replace("[NB_PUESTO_CREA_REQUISICION]", vNbPuestoSolicitante);
                vMensajeCorreo = vMensajeCorreo.Replace("[NB_PUESTO]", vNbPuesto);
                vMensajeCorreo = vMensajeCorreo.Replace("[URL]", vUrl);
                vMensajeCorreo = vMensajeCorreo.Replace("[CONTRASENA]", clTokenRequisicion);
                builder.Append(txtCorreoAutorizaReq.Text + ";");
                EnvioCorreo(builder.ToString(), vMensajeCorreo, Asunto);

                pClEstatusRequisicion = "POR AUTORIZAR";
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Solicitud de autorización enviada. Guarda la requisición.", E_TIPO_RESPUESTA_DB.SUCCESSFUL, pCallBackFunction: "");
            }
            catch (Exception)
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Envío no procesado", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
            }
            //}
        }
        protected void btnSave_click(object sender, EventArgs e)
        {
            E_REQUISICION      VRequisicionAgregar = new E_REQUISICION();
            RequisicionNegocio nrequisicion        = new RequisicionNegocio();

            ptipo = E_TIPO_OPERACION_DB.I.ToString();
            VRequisicionAgregar.NO_REQUISICION   = txtNo_requisicion.Text;
            VRequisicionAgregar.FE_SOLICITUD     = Fe_solicitud.SelectedDate;
            VRequisicionAgregar.FE_REQUERIMIENTO = Fe_Requerimiento.SelectedDate;
            VRequisicionAgregar.ID_PUESTO        = int.Parse(cmbPuestos.SelectedValue);
            VRequisicionAgregar.CL_ESTADO        = "VIGENTE";
            VRequisicionAgregar.CL_CAUSA         = cmbCausas.SelectedValue;
            VRequisicionAgregar.DS_CAUSA         = txtEspecifique.Text;
            DepartamentoNegocio ndepartamento = new DepartamentoNegocio();
            var vdepartamento = ndepartamento.Obtener_M_DEPARTAMENTO(NB_DEPARTAMENTO: txtArea.Text).FirstOrDefault();

            /*Se encarga de dar el ID_AUTORIZA y el ID_SOLICITANTE*/
            EmpleadoNegocio nempleado = new EmpleadoNegocio();
            var             vEmpleado = nempleado.Obtener_M_EMPLEADO(int.Parse(cmbAutoriza.SelectedValue)).FirstOrDefault();

            VRequisicionAgregar.ID_AUTORIZA = vEmpleado.ID_EMPLEADO;
            VRequisicionAgregar.ID_EMPRESA  = vEmpleado.ID_EMPRESA;
            // VRequisicionAgregar.ID_VISTO_BUENO = vEmpleado.ID_EMPLEADO;
            UsuarioNegocio nUsuario         = new UsuarioNegocio();
            var            vusuarioSolicita = nUsuario.Obtener_C_USUARIO(CL_USUARIO: vClUsuario.ToString()).FirstOrDefault();

            if (vusuarioSolicita != null)
            {
                VRequisicionAgregar.ID_SOLICITANTE = vusuarioSolicita.ID_EMPLEADO;
            }

            if (Request.Params["ID"] != null)
            {
                pID_REQUISICION = int.Parse(Request.Params["ID"]);
                ptipo           = E_TIPO_OPERACION_DB.A.ToString();
                VRequisicionAgregar.ID_REQUISICION = pID_REQUISICION;
            }
            else
            {
                VRequisicionAgregar.ID_REQUISICION = 0;
                VRequisicionAgregar.CL_ESTADO      = "VIGENTE";
            }

            if (VRequisicionAgregar != null)
            {
                E_RESULTADO vResultado = nrequisicion.InsertaActualiza_K_REQUISICION(tipo_transaccion: ptipo, programa: vNbPrograma, usuario: vClUsuario, V_K_REQUISICION: VRequisicionAgregar);
                string      vMensaje   = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;
                UtilMensajes.MensajeResultadoDB(rnMensaje, vMensaje, vResultado.CL_TIPO_ERROR);
            }
        }
Example #4
0
        public void SolicitarAutorizacionRequisicionPuesto(E_REQUISICION vRequisicion)
        {
            //MailAddress lstCorreosRequisiciones = ContextoApp.IDP.NotificacionRrhh.lstCorreosRequisiciones;

            if (!string.IsNullOrEmpty(vRequisicion.NB_CORREO_AUTORIZA_PUESTO))
            {
                //foreach (var item in lstCorreosRequisiciones)
                // {
                var correo   = "";
                var autoriza = "";
                correo   = vRequisicion.NB_CORREO_AUTORIZA_PUESTO;
                autoriza = vRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO;
                string Asunto = "Autorización de puesto nuevo y requisicion";

                try
                {
                    string vMensajeCorreo = "";
                    string myUrl          = ResolveUrl("~/Logon.aspx?FlProceso=");
                    string vUrl           = ContextoUsuario.nbHost + myUrl + flRequisicion + "&ClProceso=AUTORIZAREQPUESTO";

                    if (vIdRequisicion == null)
                    {
                        vMensajeCorreo = ContextoApp.IDP.NotificacionRrhh.dsNotificarReqPuesto.dsMensaje;
                    }
                    else
                    {
                        vMensajeCorreo = ContextoApp.IDP.NotificacionRrhh.dsReenvioReqPuesto.dsMensaje;
                    }

                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_NOTIFICAR]", autoriza);
                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_CREA_REQUISICION]", vRequisicion.NB_EMPLEADO_SOLICITANTE);
                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_PUESTO_CREA_REQUISICION]", vRequisicion.NB_PUESTO_SOLICITANTE);
                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_PUESTO]", vRequisicion.NB_PUESTO);
                    vMensajeCorreo = vMensajeCorreo.Replace("[URL]", vUrl);
                    vMensajeCorreo = vMensajeCorreo.Replace("[CONTRASENA]", vRequisicion.CL_TOKEN);
                    EnvioCorreo(correo, vMensajeCorreo, Asunto);
                    pClEstatusRequisicion = "POR AUTORIZAR";
                    UtilMensajes.MensajeResultadoDB(rnMensaje, "Solicitud de autorización enviada. Guarda la requisición.", E_TIPO_RESPUESTA_DB.SUCCESSFUL, pCallBackFunction: "");
                }
                catch (Exception)
                {
                    UtilMensajes.MensajeResultadoDB(rnMensaje, "Envío no procesado", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "onCloseWindow");
                }
            }
            else
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "No hay correo asignado para enviar la notificación", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
            }
        }
Example #5
0
        public void SolicitaAutorizacionPuesto(E_REQUISICION vRequisicion)
        {
            // MailAddress lstCorreosRequisiciones = ContextoApp.IDP.NotificacionRrhh.lstCorreosRequisiciones;

            if (!string.IsNullOrEmpty(vRequisicion.NB_CORREO_AUTORIZA_PUESTO))
            {
                //foreach (var item in lstCorreosRequisiciones)
                // {
                var correo   = "";
                var autoriza = "";
                correo   = vRequisicion.NB_CORREO_AUTORIZA_PUESTO;
                autoriza = vRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO;
                string Asunto = "Autorización para puesto de requisición";

                try
                {
                    string vMensajeCorreo = "";
                    string myUrl          = ResolveUrl("~/Logon.aspx?FlProceso=");
                    string vUrl           = ContextoUsuario.nbHost + myUrl + flNotificacion.ToString() + "&ClProceso=" + "NOTIFICACIONRRHH";
                    if (pFechaPuesto == null)
                    {
                        vMensajeCorreo = ContextoApp.IDP.NotificacionRrhh.dsCreadorPuesto.dsMensaje;
                    }
                    else
                    {
                        vMensajeCorreo = ContextoApp.IDP.NotificacionRrhh.dsReenvioPuesto.dsMensaje;
                    }
                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_NOTIFICAR]", autoriza);
                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_CREA_REQUISICION]", vRequisicion.NB_EMPLEADO_SOLICITANTE);
                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_PUESTO_CREA_REQUISICION]", vRequisicion.NB_PUESTO_SOLICITANTE);
                    vMensajeCorreo = vMensajeCorreo.Replace("[NB_PUESTO]", vRequisicion.NB_PUESTO);
                    vMensajeCorreo = vMensajeCorreo.Replace("[URL]", vUrl);
                    vMensajeCorreo = vMensajeCorreo.Replace("[CONTRASENA]", clTokenPuesto);
                    EnvioCorreo(correo, vMensajeCorreo, Asunto);

                    //UtilMensajes.MensajeResultadoDB(rnMensaje, "Solicitud de autorización enviada", E_TIPO_RESPUESTA_DB.SUCCESSFUL);
                }
                catch (Exception)
                {
                    UtilMensajes.MensajeResultadoDB(rnMensaje, "Envío no procesado", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "onCloseWindow");
                }

                // }
            }
            else
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "No hay correo asignado para enviar la notificación", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
            }
        }
Example #6
0
        public void ValidarEnvioCorreos(E_REQUISICION vRequisicion)
        {
            PuestoNegocio nPuesto = new PuestoNegocio();
            var           vPuesto = nPuesto.ObtienePuestosRequisicion(pIdPuesto: vRequisicion.ID_PUESTO).FirstOrDefault();

            bool vFgRequireAutorizacionRequisicion = false;
            bool vFgRequiereAutorizacionPuesto     = false;
            bool vFgAutorizaReqPuesto = false;

            if (vPuesto != null)
            {
                vFgRequiereAutorizacionPuesto = (vPuesto.CL_ESTATUS != "AUTORIZADO" & vRequisicion.CL_CAUSA == "NUEVO PUESTO");
            }
            vFgRequireAutorizacionRequisicion = (vRequisicion.ID_AUTORIZA != null);

            if (!string.IsNullOrEmpty(vRequisicion.NB_CORREO_AUTORIZA) & !string.IsNullOrEmpty(vRequisicion.NB_CORREO_AUTORIZA_PUESTO))
            {
                vFgAutorizaReqPuesto = ((vRequisicion.NB_CORREO_AUTORIZA.Equals(vRequisicion.NB_CORREO_AUTORIZA_PUESTO)) & vFgRequiereAutorizacionPuesto & vFgRequireAutorizacionRequisicion);
            }
            else
            {
                vFgAutorizaReqPuesto = false;
            }

            if (vFgAutorizaReqPuesto)
            {
                SolicitarAutorizacionRequisicionPuesto(vRequisicion);
            }
            else
            {
                if (vFgRequiereAutorizacionPuesto)
                {
                    SolicitaAutorizacionPuesto(vRequisicion);
                }

                if (vFgRequireAutorizacionRequisicion)
                {
                    SolicitarAutorizacionRequisicion(vRequisicion);
                }
            }
        }
 public E_RESULTADO InsertaActualizaRequisicion(string pTipoTransaccion, E_REQUISICION pRequisicion, string pClUsuario, string pNbPrograma)
 {
     return(UtilRespuesta.EnvioRespuesta(new RequisicionOperaciones().InsertarActualizarRequisicion(pTipoTransaccion, pRequisicion, pClUsuario, pNbPrograma)));
 }
Example #8
0
        protected void btnReenviarAutorizaciones_Click(object sender, EventArgs e)
        {
            E_REQUISICION vRequisicion = new E_REQUISICION();

            vRequisicion.ID_EMPRESA             = ((vIdEmpresa != null) ? (vIdEmpresa) : null);
            vRequisicion.NO_REQUISICION         = txtNo_requisicion.Text;
            vRequisicion.FE_SOLICITUD           = Fe_solicitud.SelectedDate;
            vRequisicion.FE_REQUERIMIENTO       = Fe_Requerimiento.SelectedDate;
            vRequisicion.CL_CAUSA               = cmbCausas.SelectedValue;
            vRequisicion.DS_CAUSA               = txtDescripcionCausa.Text;
            vRequisicion.DS_TIEMPO_CAUSA        = txtTiempoCausa.Text;
            vRequisicion.MN_SUELDO              = ((txtSueldo.Text != "") ? (Convert.ToDecimal(txtSueldo.Text)) : 0);
            vRequisicion.MN_SUELDO_TABULADOR    = ((txtSueldoSugerido.Text != "") ? (Convert.ToDecimal(txtSueldoSugerido.Text)) : 0);
            vRequisicion.MN_SUELDO_SUGERIDO     = ((txtSueldoMin.Text != "") ? (Convert.ToDecimal(txtSueldoMin.Text)) : 0);
            vRequisicion.MAX_SUELDO_SUGERIDO    = ((txtSueldoMax.Text != "") ? (Convert.ToDecimal(txtSueldoMax.Text)) : 0);
            vRequisicion.DS_COMENTARIOS         = txtObservaciones.Content;
            vRequisicion.CL_ESTATUS_REQUISICION = pClEstatusRequisicion;

            /*Se encarga de dar el ID_AUTORIZA y el ID_SOLICITANTE*/
            if (lstAutoriza.Items[0].Text != "No Seleccionado")
            {
                vRequisicion.ID_AUTORIZA          = Convert.ToInt32(lstAutoriza.Items[0].Value);
                vRequisicion.NB_EMPLEADO_AUTORIZA = lstAutoriza.Items[0].Text;
                vRequisicion.NB_PUESTO_AUTORIZA   = txtPuestoAutoriza.Text;
                vRequisicion.NB_CORREO_AUTORIZA   = txtCorreoAutorizaReq.Text;
                vRequisicion.FL_REQUISICION       = flRequisicion;
                vRequisicion.CL_TOKEN             = clTokenRequisicion;
            }

            if (!string.IsNullOrEmpty(txtCorreoSolicitante.Text))
            {
                vRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO        = txtPuestoReq.Text;
                vRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO_PUESTO = txtPuestoAutorizaPuesto.Text;
                vRequisicion.NB_CORREO_AUTORIZA_PUESTO          = txtPuestoAutorizaCorreo.Text;
            }


            if (rlbSuplente.Items[0].Text != "No Seleccionado")
            {
                vRequisicion.ID_EMPLEADO_SUPLENTE = Convert.ToInt32(rlbSuplente.Items[0].Value);
                vRequisicion.NB_EMPLEADO_SUPLENTE = rlbSuplente.Items[0].Text;
            }

            if (rlbPuesto.Items[0].Text != "No Seleccionado")
            {
                vRequisicion.ID_PUESTO = Convert.ToInt32(rlbPuesto.Items[0].Value);
                vRequisicion.NB_PUESTO = rlbPuesto.Items[0].Text;
            }

            if (rlbSolicitante.Items[0].Value != "")
            {
                vRequisicion.ID_SOLICITANTE          = int.Parse(rlbSolicitante.Items[0].Value);
                vRequisicion.NB_EMPLEADO_SOLICITANTE = rlbSolicitante.Items[0].Text;
                vRequisicion.NB_PUESTO_SOLICITANTE   = txtPuestoSolicitante.Text;
            }

            if (vIdRequisicion != null)
            {
                vRequisicion.ID_REQUISICION = (int)vIdRequisicion;

                if (vRequisicion.CL_CAUSA == "NUEVO PUESTO")
                {
                    vRequisicion.FL_NOTIFICACION = flNotificacion;
                    vRequisicion.CL_TOKEN_PUESTO = clTokenPuesto;
                }
            }

            if (vRequisicion != null)
            {
                ValidarEnvioCorreos(vRequisicion);
            }
        }
Example #9
0
        protected void btnSave_click(object sender, EventArgs e)
        {
            RequisicionNegocio nRequisicion = new RequisicionNegocio();
            E_REQUISICION      vRequisicion = new E_REQUISICION();

            vRequisicion.ID_EMPRESA       = ((vIdEmpresa != null) ? (vIdEmpresa) : null);
            vRequisicion.NO_REQUISICION   = txtNo_requisicion.Text;
            vRequisicion.FE_SOLICITUD     = Fe_solicitud.SelectedDate;
            vRequisicion.FE_REQUERIMIENTO = Fe_Requerimiento.SelectedDate;

            vRequisicion.CL_CAUSA               = cmbCausas.SelectedValue;
            vRequisicion.DS_CAUSA               = txtDescripcionCausa.Text;
            vRequisicion.DS_TIEMPO_CAUSA        = txtTiempoCausa.Text;
            vRequisicion.MN_SUELDO              = ((txtSueldo.Text != "") ? (Convert.ToDecimal(txtSueldo.Text)) : 0);
            vRequisicion.MN_SUELDO_TABULADOR    = ((txtSueldoSugerido.Text != "") ? (Convert.ToDecimal(txtSueldoSugerido.Text)) : 0);
            vRequisicion.MN_SUELDO_SUGERIDO     = ((txtSueldoMin.Text != "") ? (Convert.ToDecimal(txtSueldoMin.Text)) : 0);
            vRequisicion.MAX_SUELDO_SUGERIDO    = ((txtSueldoMax.Text != "") ? (Convert.ToDecimal(txtSueldoMax.Text)) : 0);
            vRequisicion.DS_COMENTARIOS         = txtObservaciones.Content;
            vRequisicion.CL_ESTATUS_REQUISICION = pClEstatusRequisicion;

            /*Se encarga de dar el ID_AUTORIZA y el ID_SOLICITANTE*/
            if (lstAutoriza.Items[0].Text != "No Seleccionado")
            {
                vRequisicion.ID_AUTORIZA            = Convert.ToInt32(lstAutoriza.Items[0].Value);
                vRequisicion.NB_EMPLEADO_AUTORIZA   = lstAutoriza.Items[0].Text;
                vRequisicion.NB_PUESTO_AUTORIZA     = txtPuestoAutoriza.Text;
                vRequisicion.NB_CORREO_AUTORIZA     = txtCorreoAutorizaReq.Text;
                vRequisicion.CL_ESTATUS_REQUISICION = "POR AUTORIZAR";

                if (flRequisicion == Guid.Empty)
                {
                    flRequisicion      = Guid.NewGuid();
                    clTokenRequisicion = Membership.GeneratePassword(12, 1).Replace("@", Membership.GeneratePassword(1, 1));
                }

                vRequisicion.FL_REQUISICION = flRequisicion;
                vRequisicion.CL_TOKEN       = clTokenRequisicion;
            }

            if (rlbSuplente.Items[0].Text != "No Seleccionado")
            {
                vRequisicion.ID_EMPLEADO_SUPLENTE = Convert.ToInt32(rlbSuplente.Items[0].Value);
                vRequisicion.NB_EMPLEADO_SUPLENTE = rlbSuplente.Items[0].Text;
            }

            if (rlbPuesto.Items[0].Text != "No Seleccionado")
            {
                vRequisicion.ID_PUESTO = Convert.ToInt32(rlbPuesto.Items[0].Value);
                vRequisicion.NB_PUESTO = rlbPuesto.Items[0].Text;
            }

            //if (rlbPuestoReq.Items[0].Text != "No Seleccionado")
            if (!string.IsNullOrEmpty(txtPuestoReq.Text))
            {
                // vRequisicion.ID_EMPLEADO_AUTORIZA_PUESTO = Convert.ToInt32(.Items[0].Value);
                vRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO        = txtPuestoReq.Text;
                vRequisicion.NB_EMPLEADO_AUTORIZA_PUESTO_PUESTO = txtPuestoAutorizaPuesto.Text;
                vRequisicion.NB_CORREO_AUTORIZA_PUESTO          = txtPuestoAutorizaCorreo.Text;
            }

            if (rlbSolicitante.Items[0].Value != "")
            {
                vRequisicion.ID_SOLICITANTE          = int.Parse(rlbSolicitante.Items[0].Value);
                vRequisicion.NB_EMPLEADO_SOLICITANTE = rlbSolicitante.Items[0].Text;
                vRequisicion.NB_PUESTO_SOLICITANTE   = txtPuestoSolicitante.Text;
                vRequisicion.NB_CORREO_SOLICITANTE   = txtCorreoSolicitante.Text;
            }

            if (vIdRequisicion != null)
            {
                //vIdRequisicion = int.Parse(Request.Params["RequisicionId"]);
                pTipoTransaccion            = E_TIPO_OPERACION_DB.A.ToString();
                vRequisicion.ID_REQUISICION = (int)vIdRequisicion;

                if (vRequisicion.CL_CAUSA == "NUEVO PUESTO")
                {
                    vRequisicion.FL_NOTIFICACION = flNotificacion;
                    vRequisicion.CL_TOKEN_PUESTO = clTokenPuesto;
                }
            }
            else
            {
                vRequisicion.ID_REQUISICION = 0;
                pTipoTransaccion            = E_TIPO_OPERACION_DB.I.ToString();

                if (vRequisicion.CL_CAUSA == "NUEVO PUESTO")
                {
                    vRequisicion.FL_NOTIFICACION = Guid.NewGuid();
                    flNotificacion = (Guid)vRequisicion.FL_NOTIFICACION;
                    vRequisicion.CL_TOKEN_PUESTO = Membership.GeneratePassword(12, 1).Replace("@", Membership.GeneratePassword(1, 1));
                    clTokenPuesto = vRequisicion.CL_TOKEN_PUESTO;
                }
            }

            if (vRequisicion != null)
            {
                if (ValidarDatosFormulario(vRequisicion))
                {
                    E_RESULTADO vResultado         = nRequisicion.InsertaActualizaRequisicion(pTipoTransaccion: pTipoTransaccion, pNbPrograma: vNbPrograma, pClUsuario: vClUsuario, pRequisicion: vRequisicion);
                    string      vMensaje           = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;
                    string      vNumeroRequisicion = "";

                    if (vResultado.CL_TIPO_ERROR == E_TIPO_RESPUESTA_DB.SUCCESSFUL)
                    {
                        if (pTipoTransaccion == "I")
                        {
                            XElement vDatosRespuesta = vResultado.ObtieneDatosRespuesta();
                            if (vDatosRespuesta != null)
                            {
                                XElement vPuestoInsertado = vDatosRespuesta.Element("REQUISICION");
                                vNumeroRequisicion = UtilXML.ValorAtributo <string>(vPuestoInsertado.Attribute("NO_REQUISICION"));
                            }
                        }

                        if (pTipoTransaccion == "I" || pClEstatusRequisicion == "ABIERTA" && vRequisicion.CL_ESTATUS_REQUISICION == "POR AUTORIZAR")
                        {
                            ValidarEnvioCorreos(vRequisicion);
                        }

                        if (vNumeroRequisicion != "")
                        {
                            UtilMensajes.MensajeResultadoDB(rnMensaje, "El folio " + txtNo_requisicion.Text + " ya ha sido asignado a otra requisición el nuevo folio asignado es: " + vNumeroRequisicion, vResultado.CL_TIPO_ERROR, 400, 160);
                        }
                        else
                        {
                            UtilMensajes.MensajeResultadoDB(rnMensaje, vMensaje, vResultado.CL_TIPO_ERROR);
                        }
                    }
                    else
                    {
                        UtilMensajes.MensajeResultadoDB(rnMensaje, vMensaje, vResultado.CL_TIPO_ERROR, pCallBackFunction: "");
                    }
                }
            }
        }
Example #10
0
        private bool ValidarDatosFormulario(E_REQUISICION vRequisicion)
        {
            if (vRequisicion.FE_SOLICITUD == null)
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Ingresa la fecha de la requisición", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if (vRequisicion.FE_REQUERIMIENTO == null)
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Ingresa la fecha en el que se requiere", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if ((vRequisicion.CL_CAUSA == "SUPLENCIA" || vRequisicion.CL_CAUSA == "VACANTE") && (rlbSuplente.Items[0].Value == "" || rlbSuplente.Items[0].Value == null || rlbSuplente.Items[0].Value == "0"))
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Selecciona el empleado a suplir", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if (vRequisicion.CL_CAUSA != "NUEVO PUESTO" && (rlbPuesto.Items[0].Value == "" || rlbPuesto.Items[0].Value == null || rlbPuesto.Items[0].Value == "0"))
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Selecciona el puesto a cubrir", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if (cmbCausas.SelectedValue == "")
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Seleccione una causa", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if (vRequisicion.CL_CAUSA == "OTRA" && txtDescripcionCausa.Text == "")
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Especifique la causa de otra", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if (vRequisicion.ID_SOLICITANTE == null)
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Especifique la persona que solicita la requisición.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if (vRequisicion.ID_SOLICITANTE != null & string.IsNullOrEmpty(vRequisicion.NB_CORREO_SOLICITANTE))
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Especifique el correo de la persona que solicita la requisición.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            if (vRequisicion.ID_AUTORIZA != null & string.IsNullOrEmpty(vRequisicion.NB_CORREO_AUTORIZA))
            {
                UtilMensajes.MensajeResultadoDB(rnMensaje, "Especifique el correo de la persona que autoriza la requisición.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return(false);
            }

            DescriptivoNegocio nDescriptivo = new DescriptivoNegocio();

            E_DESCRIPTIVO vDescriptivo = nDescriptivo.ObtieneDescriptivoRequisicion(vRequisicion.ID_PUESTO);

            if (vDescriptivo != null)
            {
                if (vDescriptivo.ESTATUS.ToUpper().Equals("EN REVISION") & string.IsNullOrEmpty(txtPuestoReq.Text) & string.IsNullOrEmpty(txtPuestoAutorizaPuesto.Text) & string.IsNullOrEmpty(txtPuestoAutorizaCorreo.Text))
                {
                    UtilMensajes.MensajeResultadoDB(rnMensaje, "Seleccione o escriba los datos de la persona que autoriza el puesto creado desde la requisición.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                    return(false);
                }

                if (vDescriptivo.ESTATUS.ToUpper().Equals("EN REVISION") & string.IsNullOrEmpty(txtPuestoAutorizaCorreo.Text))
                {
                    UtilMensajes.MensajeResultadoDB(rnMensaje, "Especifique el correo de la persona que autoriza el puesto creado desde la requisición.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                    return(false);
                }
            }

            return(true);
        }