public static eAjax fnCompraPlan(int iIdPlan, int sMarca, decimal dTotal, int iCantidadFirmas)
        {
            eAjax oeAjax = new eAjax();

            System.Web.HttpContext context = System.Web.HttpContext.Current;
            context.Response.ContentType = "application/json";
            if (HttpContext.Current.Session["leSeguridad"] == null)
            {
                oeAjax.iTipoResultado = 99;
                oeAjax.sMensajeError  = "Fin Session";
                return(oeAjax);
            }
            try
            {
                List <eSeguridad> lstSeguridad = new List <eSeguridad>();
                lstSeguridad = (List <eSeguridad>)HttpContext.Current.Session["leSeguridad"];
                string sUsuarioAuditoria = lstSeguridad[0].strUsuario;
                int    iIdEmpresa        = Convert.ToInt32(lstSeguridad[0].iIdEmpresa);

                PlanesDAO dao     = new PlanesDAO();
                int       iresult = dao.fnCompraPlan(iIdEmpresa, iIdPlan, sMarca, dTotal, iCantidadFirmas);
                oeAjax.iTipoResultado = 1;
                oeAjax.sValor1        = Convert.ToString(iresult);
            }
            catch (Exception e)
            {
                oeAjax.iTipoResultado = 2;
                oeAjax.sMensajeError  = "Ocurrió un error al momento de cargar la información por favor comuníquese con el administrador del sistema. </br>" + e.ToString();
            }



            return(oeAjax);
        }
        public static eAjax fnListaPlanes()
        {
            eAjax     oAjax   = new eAjax();
            PlanesDAO dao     = new PlanesDAO();
            string    iresult = dao.fnListaPlanes();

            oAjax.iTipoResultado = 1;
            oAjax.sValor1        = iresult;
            return(oAjax);
        }
        public static eAjax fnEliminaPlan(int iIdPlan)
        {
            eAjax     oAjax   = new eAjax();
            PlanesDAO dao     = new PlanesDAO();
            int       iresult = dao.fnEliminaPlan(iIdPlan);

            if (iresult > 0)
            {
                oAjax.iTipoResultado = 1;
            }
            else
            {
                oAjax.iTipoResultado = -1;
                oAjax.sMensajeError  = "Ocurrio Un Error Al Eliminar Plan";
            }

            return(oAjax);
        }
        public static eAjax fnActualizaPlan(int iIdPlan, string sDescripcion, int iCantidad, decimal dPrecio)
        {
            eAjax     oAjax   = new eAjax();
            PlanesDAO dao     = new PlanesDAO();
            int       iresult = dao.fnActualizaPlan(iIdPlan, sDescripcion, iCantidad, dPrecio);

            if (iresult > 0)
            {
                oAjax.iTipoResultado = 1;
            }
            else
            {
                oAjax.iTipoResultado = -1;
                oAjax.sMensajeError  = "Ocurrio Un Error Al Actualizar Plan";
            }

            return(oAjax);
        }
        public static eAjax fnFirmaDocumento(string sCodigo, string sRuta, string sNombre, string sFormato)
        {
            eAjax oeAjax = new eAjax();

            System.Web.HttpContext context = System.Web.HttpContext.Current;
            context.Response.ContentType = "application/json";
            if (HttpContext.Current.Session["leSeguridad"] == null)
            {
                oeAjax.iTipoResultado = 99;
                oeAjax.sMensajeError  = "Fin Session";
                return(oeAjax);
            }

            try
            {
                List <eSeguridad> lstSeguridad = new List <eSeguridad>();
                lstSeguridad = (List <eSeguridad>)HttpContext.Current.Session["leSeguridad"];
                string    sUsuarioAuditoria = lstSeguridad[0].strUsuario;
                int       iIdEmpres         = Convert.ToInt32(lstSeguridad[0].iIdEmpresa);
                int       iIdTrabajador     = Convert.ToInt32(lstSeguridad[0].iIdTrabajador);
                string    sCertificado      = Convert.ToString(lstSeguridad[0].sRutaCertificado);
                PlanesDAO daoplan           = new PlanesDAO();
                int       iresult           = daoplan.fnListafirmaDisponibles(iIdEmpres);
                if (iresult == 0)
                {
                    oeAjax.iTipoResultado = -1;
                    oeAjax.sMensajeError  = "No Cuenta Con Firmas Disponibles";
                }
                else
                {
                    if (sCertificado != "")
                    {
                        DocumentosDAO dao     = new DocumentosDAO();
                        var           vresult = DownloadFileNODELETE("ftp://ftp.site4now.net//documentos//cargados//", sNombre, "xxeguxx-001", "tornadesco.1", @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\");
                        //Si Descargo El Documento
                        if (vresult != "")
                        {
                            var certificado      = new Certificado(sCertificado);
                            var firmante         = new Firmante(certificado);
                            var vrutaDocOriginal = @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\" + sNombre;
                            var vrutaDocFirma    = @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\Firmados\\" + sNombre;
                            //firmante.Firmar(@"c:\demos\documento.pdf", @"c:\demos\documento-firmado.pdf");
                            firmante.Firmar(vrutaDocOriginal, vrutaDocFirma);
                            var notario         = new Notario(certificado);
                            var documentoValido = notario.CertificarDocumento(vrutaDocFirma);
                            if (documentoValido == true)
                            {
                                //transfiere el documento firmado
                                UploadFTP(vrutaDocFirma, "ftp://ftp.site4now.net/", "firmante", "tornadesco.1");
                                var i = dao.fnFirmaDocumento(Convert.ToInt32(sCodigo), @"\\documentos\\firmados\\" + sNombre);
                                File.Delete(vrutaDocOriginal);
                                File.Delete(vrutaDocFirma);
                                oeAjax.iTipoResultado = 1;
                            }
                        }
                    }
                    else
                    {
                        oeAjax.iTipoResultado = -1;
                        oeAjax.sMensajeError  = "No Cuenta Con Un Certificado Asignado";
                    }
                }



                //string sresult = dao.fnListaDocumentoPendientes(iIdEmpres, iIdTrabajador);
                //oeAjax.iTipoResultado = 1;
                //oeAjax.sValor1 = sresult;
            }
            catch (Exception ex)
            {
                oeAjax.sMensajeError = ex.Message;
            }
            return(oeAjax);
        }