コード例 #1
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
        public List <Entidades.Permiso> LeerListaPermisosPorUsuario(Entidades.Usuario Usuario)
        {
            List <Entidades.Permiso> lista = new List <Entidades.Permiso>();

            if (Usuario.Id != null)
            {
                StringBuilder a = new StringBuilder(string.Empty);
                a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso, isnull(UN.DescrUN, '') as DescrUN ");
                a.AppendLine("from Permiso ");
                a.AppendLine("join TipoPermiso on Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso ");
                a.AppendLine("left outer join UN on Permiso.IdUN=UN.IdUN  and Permiso.Cuit=UN.Cuit ");
                a.AppendLine("where IdUsuario='" + Usuario.Id + "' ");
                DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
                if (dt.Rows.Count != 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        Entidades.Permiso permiso = new Entidades.Permiso();
                        Copiar_LeerListaPermisosPorUsuario(dt.Rows[i], permiso);
                        lista.Add(permiso);
                    }
                }
            }
            return(lista);
        }
コード例 #2
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public List<Entidades.Permiso> LeerListaPermisosPteAutoriz(Entidades.Usuario Usuario)
 {
     StringBuilder a = new StringBuilder(string.Empty);
     a.AppendLine("/* AUTORIZACIONES PARA ADMINCUITS */ ");
     a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso into #p from Permiso, TipoPermiso where Estado='PteAutoriz' and Permiso.IdTipoPermiso in ('UsoCUITxUN', 'AdminCUIT') and Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso and Cuit in ");
     a.AppendLine("(select Cuit from Permiso where IdUsuario='" + Usuario.Id + "' and Permiso.IdTipoPermiso='AdminCUIT' and Estado='Vigente') ");
     a.AppendLine("/* AUTORIZACIONES PARA ADMINUNS */ ");
     a.AppendLine("insert #p select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso from Permiso, TipoPermiso where Estado='PteAutoriz' and Permiso.IdTipoPermiso not in ('UsoCUITxUN', 'AdminCUIT', 'AdminSITE') and Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso and Cuit + '-' + convert(varchar(10), IdUN) in ");
     a.AppendLine("(select Cuit + '-' + convert(varchar(10), IdUN) from Permiso where IdUsuario='" + Usuario.Id + "' and Permiso.IdTipoPermiso='AdminUN' and Estado='Vigente') and ");
     a.AppendLine("IdUsuario <> '' ");
     a.AppendLine("/* AUTORIZACIONES PARA ADMINSITES */ ");
     a.AppendLine("insert #p select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso from Permiso, TipoPermiso where Estado='PteAutoriz' and Permiso.IdTipoPermiso in ('AdminSITE') and Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso and ");
     a.AppendLine("IdUsuario <> '' and (select count(*) from Permiso where IdUsuario='" + Usuario.Id + "' and Permiso.IdTipoPermiso='AdminSITE' and Estado='Vigente')=1 ");
     a.AppendLine("/* RESULTADOS */ ");
     a.AppendLine("select distinct #p.IdUsuario, #p.Cuit, #p.IdUN, #p.IdTipoPermiso, #p.FechaFinVigencia, #p.IdUsuarioSolicitante, #p.AccionTipo, #p.AccionNro, #p.IdWF, #p.Estado, #p.DescrTipoPermiso, isnull(u.Nombre, '') as NombreUsuario, isnull(u.Email, '') as EmailUsuario, isnull(us.Nombre, '') as NombreUsuarioSolicitante , isnull(us.Email, '') as EmailUsuarioSolicitante, isnull(UN.DescrUN, '') as DescrUN ");
     a.AppendLine("from #p ");
     a.AppendLine("left outer join Usuario u on #p.IdUsuario=u.IdUsuario ");
     a.AppendLine("left outer join Usuario us on #p.IdUsuarioSolicitante=us.IdUsuario ");
     a.AppendLine("left outer join UN on #p.IdUN=UN.IdUN and #p.Cuit=UN.Cuit ");
     a.AppendLine("order by #p.DescrTipoPermiso, #p.Cuit, #p.IdUN, NombreUsuario ");
     a.AppendLine("drop table #p ");
     DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     List<Entidades.Permiso> lista = new List<Entidades.Permiso>();
     if (dt.Rows.Count != 0)
     {
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             Entidades.Permiso permiso = new Entidades.Permiso();
             Copiar_LeerListaPermisosPteAutoriz(dt.Rows[i], permiso);
             lista.Add(permiso);
         }
     }
     return lista;
 }
コード例 #3
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static void SolicitarPermisoParaUsuario(Entidades.Cuit Cuit, Entidades.UN UN, out string ReferenciaAAprobadores, Entidades.Sesion Sesion)
 {
     List<Entidades.Permiso> esAdminUNdelaUNsolicitada = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
     {
         return p.TipoPermiso.Id == "AdminUN" && p.Cuit == Cuit.Nro && p.UN.Id == UN.Id;
     });
     if (esAdminUNdelaUNsolicitada.Count != 0)
     {
         throw new EX.Permiso.Existente(esAdminUNdelaUNsolicitada[0].WF.Estado);
     }
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario = Sesion.Usuario;
     permiso.Cuit = Cuit.Nro;
     permiso.UN = UN;
     permiso.TipoPermiso.Id = "AdminUN";
     permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.Accion.Tipo = "SolicAdminUN";
     permiso.WF.Estado = "PteAutoriz";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     db.Alta(permiso);
     List<Entidades.Usuario> usuariosAutorizadores = db.LeerListaUsuariosAutorizadores(permiso.Cuit, permiso.UN.Id);
     ReferenciaAAprobadores = String.Empty;
     for (int i = 0; i < usuariosAutorizadores.Count; i++)
     {
         ReferenciaAAprobadores += usuariosAutorizadores[i].Nombre;
         if (i + 1 < usuariosAutorizadores.Count) ReferenciaAAprobadores += " / ";
     }
     RN.EnvioCorreo.SolicitudAutorizacion(permiso, Sesion.Usuario, usuariosAutorizadores, Sesion);
 }
コード例 #4
0
ファイル: Permiso.cs プロジェクト: tcedeira/CedServicios
        public static void SolicitarPermisoParaUsuario(Entidades.Cuit Cuit, Entidades.UN UN, out string ReferenciaAAprobadores, Entidades.Sesion Sesion)
        {
            List <Entidades.Permiso> esAdminUNdelaUNsolicitada = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
            {
                return(p.TipoPermiso.Id == "AdminUN" && p.Cuit == Cuit.Nro && p.UN.Id == UN.Id);
            });

            if (esAdminUNdelaUNsolicitada.Count != 0)
            {
                throw new EX.Permiso.Existente(esAdminUNdelaUNsolicitada[0].WF.Estado);
            }
            Entidades.Permiso permiso = new Entidades.Permiso();
            permiso.Usuario            = Sesion.Usuario;
            permiso.Cuit               = Cuit.Nro;
            permiso.UN                 = UN;
            permiso.TipoPermiso.Id     = "AdminUN";
            permiso.FechaFinVigencia   = new DateTime(2062, 12, 31);
            permiso.UsuarioSolicitante = Sesion.Usuario;
            permiso.Accion.Tipo        = "SolicAdminUN";
            permiso.WF.Estado          = "PteAutoriz";
            CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
            db.Alta(permiso);
            List <Entidades.Usuario> usuariosAutorizadores = db.LeerListaUsuariosAutorizadores(permiso.Cuit, permiso.UN.Id);

            ReferenciaAAprobadores = String.Empty;
            for (int i = 0; i < usuariosAutorizadores.Count; i++)
            {
                ReferenciaAAprobadores += usuariosAutorizadores[i].Nombre;
                if (i + 1 < usuariosAutorizadores.Count)
                {
                    ReferenciaAAprobadores += " / ";
                }
            }
            RN.EnvioCorreo.SolicitudAutorizacion(permiso, Sesion.Usuario, usuariosAutorizadores, Sesion);
        }
コード例 #5
0
        public static bool Rechazar(Entidades.Permiso Permiso, Entidades.Sesion Sesion)
        {
            DB.Permiso db        = new DB.Permiso(Sesion);
            bool       resultado = db.CambioEstado(Permiso, "Rech", "Rechazado");

            //if (resultado) RN.EnvioCorreo.RespuestaAutorizacion(Permiso, Sesion.Usuario);
            return(resultado);
        }
コード例 #6
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
        public List <Entidades.Permiso> LeerListaPermisosFiltrados(string IdUsuario, string CUIT, string IdTipoPermiso, string Estado, string VerPermisosDe)
        {
            StringBuilder a = new StringBuilder(string.Empty);

            a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, TipoPermiso.DescrTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado ");
            a.AppendLine("from Permiso ");
            a.Append("left outer join TipoPermiso on Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso ");
            a.Append("where 1=1 ");
            if (IdUsuario != String.Empty)
            {
                a.AppendLine("and IdUsuario like '%" + IdUsuario + "%' ");
            }
            if (CUIT != String.Empty)
            {
                a.AppendLine("and CUIT like '%" + CUIT + "%' ");
            }
            if (IdTipoPermiso != String.Empty)
            {
                a.AppendLine("and IdTipoPermiso='" + IdTipoPermiso + "' ");
            }
            if (Estado != String.Empty)
            {
                a.AppendLine("and Estado='" + Estado + "' ");
            }
            switch (VerPermisosDe)
            {
            case "Cuits":
                a.AppendLine("and Cuit<>'' and IdUN=0 and IdUsuario='' ");
                break;

            case "UNs":
                a.AppendLine("and Cuit<>'' and IdUN<>0 and IdUsuario='' ");
                break;

            case "Usuarios":
                a.AppendLine("and IdUsuario<>'' ");
                break;

            case "Todos":
                break;
            }
            DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
            List <Entidades.Permiso> lista = new List <Entidades.Permiso>();

            if (dt.Rows.Count != 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Entidades.Permiso permiso = new Entidades.Permiso();
                    Copiar_LeerListaPermisosFiltrados(dt.Rows[i], permiso);
                    lista.Add(permiso);
                }
            }
            return(lista);
        }
コード例 #7
0
ファイル: Permiso.cs プロジェクト: tcedeira/CedServicios
        public static bool Autorizar(Entidades.Permiso Permiso, Entidades.Sesion Sesion)
        {
            DB.Permiso db        = new DB.Permiso(Sesion);
            bool       resultado = db.CambioEstado(Permiso, "Autoriz", "Vigente");

            if (resultado)
            {
                RN.EnvioCorreo.RespuestaAutorizacion(Permiso, Sesion.Usuario);
            }
            return(resultado);
        }
コード例 #8
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
 private void Copiar_Leer(DataRow Desde, Entidades.Permiso Hasta)
 {
     Hasta.UN.Descr              = Convert.ToString(Desde["DescrUN"]);
     Hasta.TipoPermiso.Descr     = Convert.ToString(Desde["DescrTipoPermiso"]);
     Hasta.FechaFinVigencia      = Convert.ToDateTime(Desde["FechaFinVigencia"]);
     Hasta.UsuarioSolicitante.Id = Convert.ToString(Desde["IdUsuarioSolicitante"]);
     Hasta.Accion.Tipo           = Convert.ToString(Desde["AccionTipo"]);
     Hasta.Accion.Nro            = Convert.ToInt32(Desde["AccionNro"]);
     Hasta.WF.Id     = Convert.ToInt32(Desde["IdWF"]);
     Hasta.WF.Estado = Convert.ToString(Desde["Estado"]);
 }
コード例 #9
0
 public static string PermisoUsoCUITxUNAprobadoHandler(Entidades.UN UN, Entidades.Sesion Sesion)
 {
     CedServicios.DB.Permiso db      = new DB.Permiso(Sesion);
     Entidades.Permiso       permiso = new Entidades.Permiso();
     permiso.Cuit               = UN.Cuit;
     permiso.UN                 = UN;
     permiso.TipoPermiso.Id     = "UsoCUITxUN";
     permiso.FechaFinVigencia   = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado          = "Vigente";
     return(db.AltaHandler(permiso, false, false, true));
 }
コード例 #10
0
 public static string PermisoAdminCUITParaUsuarioAprobadoHandler(Entidades.Cuit Cuit, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario            = Sesion.Usuario;
     permiso.Cuit               = Cuit.Nro;
     permiso.UN.Id              = 0;
     permiso.TipoPermiso.Id     = "AdminCUIT";
     permiso.FechaFinVigencia   = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado          = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     return(db.AltaHandler(permiso, false, false, false));
 }
コード例 #11
0
 public static string ServxCUITAprobadoHandler(Entidades.Cuit Cuit, Entidades.TipoPermiso TipoPermiso, DateTime FechaFinVigencia, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario.Id         = String.Empty;
     permiso.Cuit               = Cuit.Nro;
     permiso.UN.Id              = 0;
     permiso.TipoPermiso        = TipoPermiso;
     permiso.FechaFinVigencia   = FechaFinVigencia;
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado          = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     return(db.AltaHandler(permiso, false, false, false));
 }
コード例 #12
0
 public static string PermisoOperServUNParaUsuarioAprobadoHandler(Entidades.UN UN, Entidades.TipoPermiso TipoPermiso, DateTime FechaFinVigencia, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario            = Sesion.Usuario;
     permiso.Cuit               = UN.Cuit;
     permiso.UN                 = UN;
     permiso.TipoPermiso        = TipoPermiso;
     permiso.FechaFinVigencia   = FechaFinVigencia;
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado          = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     return(db.AltaHandler(permiso, false, false, true));
 }
コード例 #13
0
 public static void PermisoAdminSITEParaUsuarioAprobado(Entidades.Usuario Usuario, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario            = Sesion.Usuario;
     permiso.Cuit               = String.Empty;
     permiso.UN.Id              = 0;
     permiso.TipoPermiso.Id     = "AdminSITE";
     permiso.FechaFinVigencia   = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Usuario;
     permiso.WF.Estado          = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     db.Alta(permiso);
 }
コード例 #14
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
        public Entidades.Permiso LeerPermisoPorCuit(string CUIT, string IdTipoPermiso)
        {
            StringBuilder a = new StringBuilder(string.Empty);

            a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado ");
            a.AppendLine("from Permiso where IdUsuario='' and IdUN='' ");
            a.AppendLine("and CUIT='" + CUIT + "' ");
            a.AppendLine("and IdTipoPermiso='" + IdTipoPermiso + "' ");
            DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);

            Entidades.Permiso permiso = new Entidades.Permiso();
            Copiar_LeerPermisoPorCuit(dt.Rows[0], permiso);
            return(permiso);
        }
コード例 #15
0
        public static List <Entidades.Permiso> LeerListaPermisosPorUsuario(Entidades.Usuario Usuario, Entidades.Sesion Sesion)
        {
            CedServicios.DB.Permiso  db    = new DB.Permiso(Sesion);
            List <Entidades.Permiso> lista = db.LeerListaPermisosPorUsuario(Usuario);

            for (int i = 0; i < lista.Count; i++)
            {
                if (lista[i].TipoPermiso.Id == "eFact")
                {
                    Entidades.Permiso permisoCuit = LeerPermisoPorCuit(lista[i].Cuit, lista[i].TipoPermiso.Id, Sesion);
                    lista[i].WF.Estado = permisoCuit.Estado;
                }
            }
            return(lista);
        }
コード例 #16
0
        public static void SolicitarPermisoParaUsuario(Entidades.Cuit Cuit, Entidades.UN UN, Entidades.TipoPermiso TipoPermiso, DateTime FechaFinVigencia, out string ReferenciaAAprobadores, Entidades.Sesion Sesion)
        {
            List <Entidades.Permiso> yaTieneHabilitadoElServicioParaLaUN = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
            {
                return(p.Cuit == Cuit.Nro && p.UN.Id == UN.Id && p.TipoPermiso.Id == TipoPermiso.Id);
            });

            if (yaTieneHabilitadoElServicioParaLaUN.Count != 0)
            {
                throw new EX.Permiso.Existente(yaTieneHabilitadoElServicioParaLaUN[0].WF.Estado);
            }
            Entidades.Permiso permiso = new Entidades.Permiso();
            permiso.Usuario            = Sesion.Usuario;
            permiso.Cuit               = Cuit.Nro;
            permiso.UN                 = UN;
            permiso.TipoPermiso        = TipoPermiso;
            permiso.FechaFinVigencia   = FechaFinVigencia;
            permiso.UsuarioSolicitante = Sesion.Usuario;
            permiso.Accion.Tipo        = "SolicOperServUN";
            List <Entidades.Permiso> esAdminUNdelaUN = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
            {
                return(p.TipoPermiso.Id == "AdminUN" && p.Cuit == Cuit.Nro && p.UN.Id == UN.Id && p.WF.Estado == "Vigente");
            });

            ReferenciaAAprobadores = String.Empty;
            if (esAdminUNdelaUN.Count != 0)
            {
                permiso.WF.Estado = "Vigente";
                CedFCIC.DB.Permiso db = new DB.Permiso(Sesion);
                db.Alta(permiso);
            }
            else
            {
                permiso.WF.Estado = "PteAutoriz";
                CedFCIC.DB.Permiso db = new DB.Permiso(Sesion);
                db.Alta(permiso);
                List <Entidades.Usuario> usuariosAutorizadores = db.LeerListaUsuariosAutorizadores(permiso.Cuit);
                for (int i = 0; i < usuariosAutorizadores.Count; i++)
                {
                    ReferenciaAAprobadores += usuariosAutorizadores[i].Nombre;
                    if (i + 1 < usuariosAutorizadores.Count)
                    {
                        ReferenciaAAprobadores += " / ";
                    }
                }
                //RN.EnvioCorreo.SolicitudAutorizacion(permiso, Sesion.Usuario, usuariosAutorizadores, Sesion);
            }
        }
コード例 #17
0
ファイル: UN.cs プロジェクト: pjeconde/CedServicios
 public static void Crear(Entidades.UN UN, out string ReferenciaAAprobadores, out string EstadoPermisoUsoCUITxUN, Entidades.Sesion Sesion)
 {
     List<Entidades.Usuario> usuariosAutorizadores = new List<Entidades.Usuario>();
     string permisoUsoCUITxUNHandler = RN.Permiso.PermisoUsoCUITxUNHandler(UN, out usuariosAutorizadores, out ReferenciaAAprobadores, out EstadoPermisoUsoCUITxUN, Sesion);
     string permisoAdminUNParaUsuarioHandler = RN.Permiso.PermisoAdminUNParaUsuarioAprobadoHandler(UN, Sesion);
     DB.UN dbUN = new DB.UN(Sesion);
     UN.WF.Estado = "Vigente";   //la UN siempre queda vigente, lo que, en todo caso, puede quedar PteAutoriz
                                 //es su relación con el Cuit, que se explicita a través del Permiso UsoCuitXUN
     dbUN.Crear(UN, permisoUsoCUITxUNHandler, permisoAdminUNParaUsuarioHandler);
     if (EstadoPermisoUsoCUITxUN == "PteAutoriz")
     {
         Entidades.Permiso permiso = new Entidades.Permiso();
         permiso.TipoPermiso.Id = "UsoCUITXUN";
         permiso.UN = UN;
         RN.EnvioCorreo.SolicitudAutorizacion(permiso, Sesion.Usuario, usuariosAutorizadores, Sesion);
     }
 }
コード例 #18
0
ファイル: UN.cs プロジェクト: tcedeira/CedServicios
        public static void Crear(Entidades.UN UN, out string ReferenciaAAprobadores, out string EstadoPermisoUsoCUITxUN, Entidades.Sesion Sesion)
        {
            List <Entidades.Usuario> usuariosAutorizadores = new List <Entidades.Usuario>();
            string permisoUsoCUITxUNHandler         = RN.Permiso.PermisoUsoCUITxUNHandler(UN, out usuariosAutorizadores, out ReferenciaAAprobadores, out EstadoPermisoUsoCUITxUN, Sesion);
            string permisoAdminUNParaUsuarioHandler = RN.Permiso.PermisoAdminUNParaUsuarioAprobadoHandler(UN, Sesion);

            DB.UN dbUN = new DB.UN(Sesion);
            UN.WF.Estado = "Vigente";   //la UN siempre queda vigente, lo que, en todo caso, puede quedar PteAutoriz
                                        //es su relación con el Cuit, que se explicita a través del Permiso UsoCuitXUN
            dbUN.Crear(UN, permisoUsoCUITxUNHandler, permisoAdminUNParaUsuarioHandler);
            if (EstadoPermisoUsoCUITxUN == "PteAutoriz")
            {
                Entidades.Permiso permiso = new Entidades.Permiso();
                permiso.TipoPermiso.Id = "UsoCUITXUN";
                permiso.UN             = UN;
                RN.EnvioCorreo.SolicitudAutorizacion(permiso, Sesion.Usuario, usuariosAutorizadores, Sesion);
            }
        }
コード例 #19
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
 private void Copiar_LeerListaPermisosPteAutoriz(DataRow Desde, Entidades.Permiso Hasta)
 {
     Hasta.Usuario.Id                = Convert.ToString(Desde["IdUsuario"]);
     Hasta.Usuario.Nombre            = Convert.ToString(Desde["NombreUsuario"]);
     Hasta.Usuario.Email             = Convert.ToString(Desde["EmailUsuario"]);
     Hasta.UsuarioSolicitante.Nombre = Convert.ToString(Desde["NombreUsuarioSolicitante"]);
     Hasta.UsuarioSolicitante.Email  = Convert.ToString(Desde["EmailUsuarioSolicitante"]);
     Hasta.Cuit                  = Convert.ToString(Desde["Cuit"]);
     Hasta.UN.Id                 = Convert.ToInt32(Desde["IdUN"]);
     Hasta.UN.Descr              = Convert.ToString(Desde["DescrUN"]);
     Hasta.TipoPermiso.Id        = Convert.ToString(Desde["IdTipoPermiso"]);
     Hasta.TipoPermiso.Descr     = Convert.ToString(Desde["DescrTipoPermiso"]);
     Hasta.FechaFinVigencia      = Convert.ToDateTime(Desde["FechaFinVigencia"]);
     Hasta.UsuarioSolicitante.Id = Convert.ToString(Desde["IdUsuarioSolicitante"]);
     Hasta.Accion.Tipo           = Convert.ToString(Desde["AccionTipo"]);
     Hasta.Accion.Nro            = Convert.ToInt32(Desde["AccionNro"]);
     Hasta.WF.Id                 = Convert.ToInt32(Desde["IdWF"]);
     Hasta.WF.Estado             = Convert.ToString(Desde["Estado"]);
 }
コード例 #20
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
        public bool CambioEstado(Entidades.Permiso Permiso, string Evento, string EstadoHst)
        {
            StringBuilder a = new StringBuilder(string.Empty);

            a.AppendLine("declare @IdWF int ");
            a.AppendLine("select @IdWF=IdWF from Permiso where Estado='" + Permiso.WF.Estado + "' and IdUsuario='" + Permiso.Usuario.Id + "' and Cuit='" + Permiso.Cuit + "' and IdUN='" + Permiso.UN.Id + "' and IdTipoPermiso='" + Permiso.TipoPermiso.Id + "' and Estado='" + Permiso.WF.Estado + "' ");
            a.AppendLine("if not @IdWF is null ");
            a.AppendLine("   begin ");
            a.AppendLine("      update Permiso set Estado='" + EstadoHst + "' where IdWF=@IdWF ");
            a.AppendLine("      insert Log values (@IdWF, getdate(), '" + sesion.Usuario.Id + "', 'Permiso', '" + Evento + "', '" + EstadoHst + "', '') ");
            a.AppendLine("      select @@rowcount as CantidadFilas");
            a.AppendLine("   end ");
            a.AppendLine("else ");
            a.AppendLine("   select convert(int, 0) as CantidadFilas ");
            DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.Usa, sesion.CnnStr);

            Permiso.WF.Estado = EstadoHst;
            return(Convert.ToInt32(dt.Rows[0]["CantidadFilas"]) == 1);
        }
コード例 #21
0
 public static void SolicitudAutorizacion(Entidades.Permiso Permiso, Entidades.Usuario UsuarioSolicitante, List <Entidades.Usuario> Autorizadores, Entidades.Sesion Sesion)
 {
     for (int i = 0; i < Autorizadores.Count; i++)
     {
         SmtpClient  smtpClient = new SmtpClient("mail.cedeira.com.ar");
         MailMessage mail       = new MailMessage();
         mail.From = new MailAddress("*****@*****.**");
         mail.To.Add(new MailAddress(Autorizadores[i].Email));
         mail.CC.Add(new MailAddress(UsuarioSolicitante.Email));
         mail.Subject    = "Solicitud de autorización";
         mail.IsBodyHtml = true;
         StringBuilder a = new StringBuilder();
         a.Append("Estimado/a " + Autorizadores[i].Nombre + ":<br />");
         a.Append("<br />");
         a.Append("Se le está solicitando la siguiente autorización:<br />");
         a.Append("<br />");
         a.Append("<hr>");
         a.Append("Permiso: <b>" + RN.Permiso.DescrPermiso(Permiso) + "</b><br />");
         a.Append("Usuario solicitante: <b>" + UsuarioSolicitante.Nombre + "</b><br />");
         a.Append("<hr>");
         a.Append("<br />");
         a.Append("Para responder a esta solicitud, haga clic en el enlace que aparece a continuación:<br />");
         a.Append("<br />");
         string delim      = "<<<>>>";
         string parametros = UsuarioSolicitante.Id + delim + Permiso.Cuit + delim + Permiso.IdUN + delim + Permiso.TipoPermiso.Id + delim + Autorizadores[i].Id;
         string link       = Sesion.URLsite + "Autorizacion.aspx?" + RN.Funciones.Encriptar(parametros);
         char   c          = (char)34;
         a.Append("<a class=" + c + "link" + c + " href=" + c + link + c + ">" + link + "</a><br />");
         a.Append("<br />");
         a.Append("<br />");
         a.Append("Saludos.<br />");
         a.Append("<br />");
         a.Append("<b>Cedeira Software Factory</b><br />");
         a.Append("<br />");
         a.Append("<br />");
         a.Append("Este es sólo un servicio de envío de mensajes. Las respuestas no se supervisan ni se responden.<br />");
         a.Append("<br />");
         mail.Body = a.ToString();
         smtpClient.Credentials = new NetworkCredential("*****@*****.**", "cedeira123");
         smtpClient.Send(mail);
     }
 }
コード例 #22
0
        protected void ConfirmarButton_Click(object sender, EventArgs e)
        {
            if (Funciones.SessionTimeOut(Session))
            {
                Response.Redirect("~/SessionTimeout.aspx");
            }
            else
            {
                Entidades.Sesion  sesion  = (Entidades.Sesion)Session["Sesion"];
                Entidades.Permiso permiso = (Entidades.Permiso)ViewState["Permiso"];
                string            evento  = ViewState["PermisoAccion"].ToString();
                switch (evento)
                {
                case "Autorización":
                    if (RN.Permiso.Autorizar(permiso, sesion))
                    {
                        MensajeLabel.Text = "La autorización fué registrada satisfactoriamente.";
                    }
                    else
                    {
                        MensajeLabel.Text = "Esta solicitud ya no está 'pendiente de autorización'";
                    }
                    break;

                case "Rechazo":
                    if (RN.Permiso.Rechazar(permiso, sesion))
                    {
                        MensajeLabel.Text = "El rechazo fué registrado satisfactoriamente.";
                    }
                    else
                    {
                        MensajeLabel.Text = "Esta solicitud ya no está 'pendiente de autorización'";
                    }
                    break;
                }
                ActualizarGrilla();
                Funciones.PersonalizarControlesMaster(Master, true, sesion);
            }
        }
コード例 #23
0
        public static void RespuestaAutorizacion(Entidades.Permiso Permiso, Entidades.Usuario UsuarioAutorizador)
        {
            SmtpClient  smtpClient = new SmtpClient("mail.cedeira.com.ar");
            MailMessage mail       = new MailMessage();

            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add(new MailAddress(Permiso.UsuarioSolicitante.Email));
            mail.CC.Add(new MailAddress(UsuarioAutorizador.Email));
            mail.Subject    = "Respuesta a la Solicitud de autorización";
            mail.IsBodyHtml = true;
            StringBuilder a = new StringBuilder();

            a.Append("Estimado/a <b>" + Permiso.UsuarioSolicitante.Nombre + "</b>:<br />");
            a.Append("<br />");
            a.Append("El siguiente permiso solicitado ");
            if (Permiso.WF.Estado == "Vigente")
            {
                a.Append("ha sido autorizado.<br />");
            }
            else
            {
                a.Append("ha sido rechazado.<br />");
            }
            a.Append("<br />");
            a.Append("<hr>");
            a.Append("<b>" + RN.Permiso.DescrPermiso(Permiso) + "</b><br />");
            a.Append("<hr>");
            a.Append("<br />");
            a.Append("Saludos.<br />");
            a.Append("<br />");
            a.Append("<b>Cedeira Software Factory</b><br />");
            a.Append("<br />");
            a.Append("<br />");
            a.Append("Este es sólo un servicio de envío de mensajes. Las respuestas no se supervisan ni se responden.<br />");
            a.Append("<br />");
            mail.Body = a.ToString();
            smtpClient.Credentials = new NetworkCredential("*****@*****.**", "cedeira123");
            smtpClient.Send(mail);
        }
コード例 #24
0
        private void Confirmar(string Evento, GridViewCommandEventArgs e)
        {
            int item = Convert.ToInt32(e.CommandArgument);

            Entidades.Permiso permiso = ((List <Entidades.Permiso>)((System.Web.UI.WebControls.GridView)e.CommandSource).DataSource)[item];
            TituloConfirmacionLabel.Text = "Confirmar " + Evento.ToLower();
            AccionLabel.Text             = permiso.Accion.Tipo + " nº " + permiso.Accion.Nro;
            if (!permiso.Cuit.Equals(String.Empty))
            {
                CuitLabel.Text = permiso.Cuit;
            }
            else
            {
                CuitLabel.Text = "(no aplica)";
            }
            DescrTipoPermisoLabel.Text = permiso.TipoPermiso.Descr;
            EstadoLabel.Text           = permiso.WF.Estado;
            FechaFinVigenciaLabel.Text = permiso.FechaFinVigencia.ToString("dd/MM/yyyy");
            if (permiso.UN.Id != 0)
            {
                UNLabel.Text = permiso.UN.Descr;
            }
            else
            {
                UNLabel.Text = "(no aplica)";
            }
            if (permiso.Usuario.Id != String.Empty)
            {
                UsuarioLabel.Text = permiso.Usuario.Nombre + " (" + permiso.Usuario.Email + ")";
            }
            else
            {
                UsuarioLabel.Text = "(no aplica)";
            }
            UsuarioSolicitanteLabel.Text = permiso.UsuarioSolicitante.Nombre + " (" + permiso.UsuarioSolicitante.Email + ")";
            ViewState["Permiso"]         = permiso;
            ViewState["PermisoAccion"]   = Evento;
            ModalPopupExtender1.Show();
        }
コード例 #25
0
ファイル: Permiso.cs プロジェクト: tcedeira/CedServicios
        public static string PermisoAdminUNParaUsuarioAprobadoHandler(Entidades.UN UN, Entidades.Sesion Sesion)
        {
            List <Entidades.Permiso> esAdminUNdelaUNsolicitada = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
            {
                return(p.TipoPermiso.Id == "AdminUN" && p.Cuit == UN.Cuit && p.UN.Id == UN.Id);
            });

            if (esAdminUNdelaUNsolicitada.Count != 0)
            {
                throw new EX.Permiso.Existente(esAdminUNdelaUNsolicitada[0].WF.Estado);
            }
            Entidades.Permiso permiso = new Entidades.Permiso();
            permiso.Usuario            = Sesion.Usuario;
            permiso.Cuit               = UN.Cuit;
            permiso.UN                 = UN;
            permiso.TipoPermiso.Id     = "AdminUN";
            permiso.FechaFinVigencia   = new DateTime(2062, 12, 31);
            permiso.UsuarioSolicitante = Sesion.Usuario;
            permiso.WF.Estado          = "Vigente";
            CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
            return(db.AltaHandler(permiso, false, false, true));
        }
コード例 #26
0
 protected void PermisoPagingGridView_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     try
     {
         int item = Convert.ToInt32(e.CommandArgument);
         List <Entidades.Permiso> lista = (List <Entidades.Permiso>)ViewState["lista"];
         permiso = lista[item];
     }
     catch
     {
         //Selecciono algo del Header. No hago nada con el CommandArgument.
     }
     switch (e.CommandName)
     {
     case "CambiarEstado":
         if (permiso.WF.Estado == "Vigente" || permiso.WF.Estado == "DeBaja")
         {
             TituloConfirmacionLabel.Text = "Confirmar " + (permiso.WF.Estado == "Vigente" ? "Baja" : "Anulación Baja");
             AccionLabel.Text             = permiso.Accion.Tipo + " nº " + permiso.Accion.Nro;
             CuitLabel.Text             = permiso.Cuit;
             IdTipoPermisoLabel.Text    = permiso.TipoPermiso.Id;
             EstadoLabel.Text           = permiso.WF.Estado;
             FechaFinVigenciaLabel.Text = permiso.FechaFinVigencia.ToString("dd/MM/yyyy");
             UNLabel.Text                 = permiso.IdUN.ToString();
             UsuarioLabel.Text            = permiso.Usuario.Id;
             UsuarioSolicitanteLabel.Text = permiso.UsuarioSolicitante.Id;
             ViewState["Permiso"]         = permiso;
             ModalPopupExtender1.Show();
         }
         else
         {
             MensajeLabel.Text = "El cambio de estado sólo puede usarse para Bajas o Anulaciones de bajas.";
         }
         break;
     }
     bindGrillaPermiso();
 }
コード例 #27
0
ファイル: Permiso.cs プロジェクト: tcedeira/CedServicios
        public static string PermisoUsoCUITxUNHandler(Entidades.UN UN, out List <Entidades.Usuario> UsuariosAutorizadores, out string ReferenciaAAprobadores, out string EstadoPermisoUsoCUITxUN, Entidades.Sesion Sesion)
        {
            CedServicios.DB.Permiso db      = new DB.Permiso(Sesion);
            Entidades.Permiso       permiso = new Entidades.Permiso();
            permiso.Cuit               = UN.Cuit;
            permiso.UN                 = UN;
            permiso.TipoPermiso.Id     = "UsoCUITxUN";
            permiso.FechaFinVigencia   = new DateTime(2062, 12, 31);
            permiso.UsuarioSolicitante = Sesion.Usuario;
            List <Entidades.Permiso> usuarioEsAdminCUIT = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
            {
                return(p.TipoPermiso.Id == "AdminCUIT" && p.Cuit == UN.Cuit && p.WF.Estado == "Vigente");
            });

            if (usuarioEsAdminCUIT.Count != 0)
            {
                permiso.WF.Estado      = "Vigente";
                UsuariosAutorizadores  = new List <Entidades.Usuario>();
                ReferenciaAAprobadores = String.Empty;
            }
            else
            {
                permiso.WF.Estado      = "PteAutoriz";
                UsuariosAutorizadores  = db.LeerListaUsuariosAutorizadores(permiso.Cuit);
                ReferenciaAAprobadores = String.Empty;
                for (int i = 0; i < UsuariosAutorizadores.Count; i++)
                {
                    ReferenciaAAprobadores += UsuariosAutorizadores[i].Nombre;
                    if (i + 1 < UsuariosAutorizadores.Count)
                    {
                        ReferenciaAAprobadores += " / ";
                    }
                }
            }
            EstadoPermisoUsoCUITxUN = permiso.WF.Estado;
            return(db.AltaHandler(permiso, false, false, true));
        }
コード例 #28
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
        public string AltaHandler(Entidades.Permiso Permiso, bool GeneroAccion, bool DeclaroIdWF, bool EnAltaDeUN)
        {
            StringBuilder a = new StringBuilder(string.Empty);

            if (DeclaroIdWF)
            {
                a.AppendLine("declare @idWF varchar(256) ");
            }
            a.AppendLine("update Configuracion set @idWF=Valor=convert(varchar(256), convert(int, Valor)+1) where IdItemConfig='UltimoIdWF' ");
            if (GeneroAccion)
            {
                a.AppendLine("declare @accionTipo varchar(15) ");
                a.AppendLine("set @accionTipo='" + Permiso.Accion.Tipo + "' ");
                a.AppendLine("declare @accionNro varchar(256) ");
                a.AppendLine("update Configuracion set @accionNro=Valor=convert(varchar(256), convert(int, Valor)+1) where IdItemConfig='UltimoAccionNro' ");
            }
            string idUN = String.Empty;

            if (EnAltaDeUN)
            {
                idUN = "@IdUN";
            }
            else
            {
                idUN = "'" + Permiso.UN.Id + "'";
            }
            if (Permiso.Usuario.Id != null)
            {
                a.AppendLine("insert Permiso values ('" + Permiso.Usuario.Id + "', '" + Permiso.Cuit + "', " + idUN + ", '" + Permiso.TipoPermiso.Id + "', '" + Permiso.FechaFinVigencia.ToString("yyyyMMdd") + "', '" + Permiso.UsuarioSolicitante.Id + "', @accionTipo, @accionNro, @idWF, '" + Permiso.WF.Estado + "') ");
            }
            else
            {
                a.AppendLine("insert Permiso values ('', '" + Permiso.Cuit + "', " + idUN + ", '" + Permiso.TipoPermiso.Id + "', '" + Permiso.FechaFinVigencia.ToString("yyyyMMdd") + "', '" + Permiso.UsuarioSolicitante.Id + "', @accionTipo, @accionNro, @idWF, '" + Permiso.WF.Estado + "') ");
            }
            a.AppendLine("insert Log values (@IdWF, getdate(), '" + Permiso.UsuarioSolicitante.Id + "', 'Permiso', 'Alta', '" + Permiso.WF.Estado + "', '') ");
            return(a.ToString());
        }
コード例 #29
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
        public void Leer(Entidades.Permiso Permiso)
        {
            StringBuilder a = new StringBuilder(string.Empty);

            a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso, isnull(UN.DescrUN, '') as DescrUN ");
            a.AppendLine("from Permiso ");
            a.AppendLine("join TipoPermiso on Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso ");
            a.AppendLine("left outer join UN on Permiso.IdUN=UN.IdUN  and Permiso.Cuit=UN.Cuit ");
            a.AppendLine("where Permiso.IdUsuario='" + Permiso.Usuario.Id + "' ");
            a.AppendLine("and Permiso.Cuit='" + Permiso.Cuit + "' ");
            a.AppendLine("and Permiso.IdUN=" + Permiso.UN.Id.ToString() + " ");
            a.AppendLine("and Permiso.IdTipoPermiso='" + Permiso.TipoPermiso.Id + "' ");
            a.AppendLine("and Permiso.Estado='PteAutoriz' ");
            DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);

            if (dt.Rows.Count != 0)
            {
                Copiar_Leer(dt.Rows[0], Permiso);
            }
            else
            {
                throw new EX.Validaciones.ElementoInexistente("Permiso");
            }
        }
コード例 #30
0
        public static string DescrPermiso(Entidades.Permiso Permiso)
        {
            string descripcion = String.Empty;

            switch (Permiso.TipoPermiso.Id)
            {
            case "AdminCUIT":
                descripcion = "Administrador del CUIT " + Permiso.Cuit;
                break;

            case "AdminUN":
                descripcion = "Administrador de la Unidad de Negocio '" + Permiso.UN.Descr + "' del CUIT " + Permiso.Cuit;
                break;

            case "UsoCUITXUN":
                descripcion = "Relación entre la nueva Unidad de Negocio '" + Permiso.UN.Descr + "' y el CUIT " + Permiso.Cuit;
                break;

            default:
                descripcion = "Operador del servicio '" + Permiso.TipoPermiso.Descr.Replace("Operador servicio ", String.Empty) + "' de la Unidad de Negocio '" + Permiso.UN.Descr + "' del CUIT " + Permiso.Cuit;
                break;
            }
            return(descripcion);
        }
コード例 #31
0
 protected void CambiarEstadoButton_Click(object sender, EventArgs e)
 {
     if (Funciones.SessionTimeOut(Session))
     {
         Response.Redirect("~/SessionTimeout.aspx");
     }
     else
     {
         Entidades.Sesion  sesion      = (Entidades.Sesion)Session["Sesion"];
         Entidades.Permiso permiso     = (Entidades.Permiso)ViewState["Permiso"];
         string            idEstadoHst = (permiso.WF.Estado == "Vigente" ? "DeBaja" : "Vigente");
         string            idEvento    = (idEstadoHst == "Vigente" ? "AnulBaja" : "Baja");
         if (RN.Permiso.CambiarEstado(permiso, idEvento, idEstadoHst, sesion))
         {
             MensajeLabel.Text = "El cambio de estado se registró satisfactoriamente.";
         }
         else
         {
             MensajeLabel.Text = "Esta acción no es posible porque la solicitud ya ha cambiado de estado.";
         }
         BuscarButton_Click(BuscarButton, new EventArgs());
         Funciones.PersonalizarControlesMaster(Master, true, sesion);
     }
 }
コード例 #32
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServiciosApi
        public List <Entidades.Permiso> LeerListaPermisosPteAutoriz(Entidades.Usuario Usuario)
        {
            StringBuilder a = new StringBuilder(string.Empty);

            a.AppendLine("/* AUTORIZACIONES PARA ADMINCUITS */ ");
            a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso into #p from Permiso, TipoPermiso where Estado='PteAutoriz' and Permiso.IdTipoPermiso in ('UsoCUITxUN', 'AdminCUIT') and Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso and Cuit in ");
            a.AppendLine("(select Cuit from Permiso where IdUsuario='" + Usuario.Id + "' and Permiso.IdTipoPermiso='AdminCUIT' and Estado='Vigente') ");
            a.AppendLine("/* AUTORIZACIONES PARA ADMINUNS */ ");
            a.AppendLine("insert #p select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso from Permiso, TipoPermiso where Estado='PteAutoriz' and Permiso.IdTipoPermiso not in ('UsoCUITxUN', 'AdminCUIT', 'AdminSITE') and Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso and Cuit + '-' + convert(varchar(10), IdUN) in ");
            a.AppendLine("(select Cuit + '-' + convert(varchar(10), IdUN) from Permiso where IdUsuario='" + Usuario.Id + "' and Permiso.IdTipoPermiso='AdminUN' and Estado='Vigente') and ");
            a.AppendLine("IdUsuario <> '' ");
            a.AppendLine("/* AUTORIZACIONES PARA ADMINSITES */ ");
            a.AppendLine("insert #p select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso from Permiso, TipoPermiso where Estado='PteAutoriz' and Permiso.IdTipoPermiso in ('AdminSITE') and Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso and ");
            a.AppendLine("IdUsuario <> '' and (select count(*) from Permiso where IdUsuario='" + Usuario.Id + "' and Permiso.IdTipoPermiso='AdminSITE' and Estado='Vigente')=1 ");
            a.AppendLine("/* RESULTADOS */ ");
            a.AppendLine("select distinct #p.IdUsuario, #p.Cuit, #p.IdUN, #p.IdTipoPermiso, #p.FechaFinVigencia, #p.IdUsuarioSolicitante, #p.AccionTipo, #p.AccionNro, #p.IdWF, #p.Estado, #p.DescrTipoPermiso, isnull(u.Nombre, '') as NombreUsuario, isnull(u.Email, '') as EmailUsuario, isnull(us.Nombre, '') as NombreUsuarioSolicitante , isnull(us.Email, '') as EmailUsuarioSolicitante, isnull(UN.DescrUN, '') as DescrUN ");
            a.AppendLine("from #p ");
            a.AppendLine("left outer join Usuario u on #p.IdUsuario=u.IdUsuario ");
            a.AppendLine("left outer join Usuario us on #p.IdUsuarioSolicitante=us.IdUsuario ");
            a.AppendLine("left outer join UN on #p.IdUN=UN.IdUN and #p.Cuit=UN.Cuit ");
            a.AppendLine("order by #p.DescrTipoPermiso, #p.Cuit, #p.IdUN, NombreUsuario ");
            a.AppendLine("drop table #p ");
            DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
            List <Entidades.Permiso> lista = new List <Entidades.Permiso>();

            if (dt.Rows.Count != 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Entidades.Permiso permiso = new Entidades.Permiso();
                    Copiar_LeerListaPermisosPteAutoriz(dt.Rows[i], permiso);
                    lista.Add(permiso);
                }
            }
            return(lista);
        }
コード例 #33
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static string PermisoAdminUNParaUsuarioAprobadoHandler(Entidades.UN UN, Entidades.Sesion Sesion)
 {
     List<Entidades.Permiso> esAdminUNdelaUNsolicitada = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
     {
         return p.TipoPermiso.Id == "AdminUN" && p.Cuit == UN.Cuit && p.UN.Id == UN.Id;
     });
     if (esAdminUNdelaUNsolicitada.Count != 0)
     {
         throw new EX.Permiso.Existente(esAdminUNdelaUNsolicitada[0].WF.Estado);
     }
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario = Sesion.Usuario;
     permiso.Cuit = UN.Cuit;
     permiso.UN = UN;
     permiso.TipoPermiso.Id = "AdminUN";
     permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     return db.AltaHandler(permiso, false, false, true);
 }
コード例 #34
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static string PermisoUsoCUITxUNHandler(Entidades.UN UN, out List<Entidades.Usuario> UsuariosAutorizadores, out string ReferenciaAAprobadores, out string EstadoPermisoUsoCUITxUN, Entidades.Sesion Sesion)
 {
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Cuit = UN.Cuit;
     permiso.UN = UN;
     permiso.TipoPermiso.Id = "UsoCUITxUN";
     permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Sesion.Usuario;
     List<Entidades.Permiso> usuarioEsAdminCUIT = Sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
     {
         return p.TipoPermiso.Id == "AdminCUIT" && p.Cuit == UN.Cuit && p.WF.Estado == "Vigente";
     });
     if (usuarioEsAdminCUIT.Count != 0)
     {
         permiso.WF.Estado = "Vigente";
         UsuariosAutorizadores = new List<Entidades.Usuario>();
         ReferenciaAAprobadores = String.Empty;
     }
     else
     {
         permiso.WF.Estado = "PteAutoriz";
         UsuariosAutorizadores = db.LeerListaUsuariosAutorizadores(permiso.Cuit);
         ReferenciaAAprobadores = String.Empty;
         for (int i = 0; i < UsuariosAutorizadores.Count; i++)
         {
             ReferenciaAAprobadores += UsuariosAutorizadores[i].Nombre;
             if (i + 1 < UsuariosAutorizadores.Count) ReferenciaAAprobadores += " / ";
         }
     }
     EstadoPermisoUsoCUITxUN = permiso.WF.Estado;
     return db.AltaHandler(permiso, false, false, true);
 }
コード例 #35
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public Entidades.Permiso LeerPermisoPorCuit(string CUIT, string IdTipoPermiso)
 {
     StringBuilder a = new StringBuilder(string.Empty);
     a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado ");
     a.AppendLine("from Permiso where IdUsuario='' and IdUN='' ");
     a.AppendLine("and CUIT='" + CUIT + "' ");
     a.AppendLine("and IdTipoPermiso='" + IdTipoPermiso + "' ");
     DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     Entidades.Permiso permiso = new Entidades.Permiso();
     Copiar_LeerPermisoPorCuit(dt.Rows[0], permiso);
     return permiso;
 }
コード例 #36
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static void PermisoAdminSITEParaUsuarioAprobado(Entidades.Usuario Usuario, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario = Sesion.Usuario;
     permiso.Cuit = String.Empty;
     permiso.UN.Id = 0;
     permiso.TipoPermiso.Id = "AdminSITE";
     permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Usuario;
     permiso.WF.Estado = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     db.Alta(permiso);
 }
コード例 #37
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static string PermisoAdminCUITParaUsuarioAprobadoHandler(Entidades.Cuit Cuit, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario = Sesion.Usuario;
     permiso.Cuit = Cuit.Nro;
     permiso.UN.Id = 0;
     permiso.TipoPermiso.Id = "AdminCUIT";
     permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     return db.AltaHandler(permiso, false, false, false);
 }
コード例 #38
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static string PermisoUsoCUITxUNAprobadoHandler(Entidades.UN UN, Entidades.Sesion Sesion)
 {
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Cuit = UN.Cuit;
     permiso.UN = UN;
     permiso.TipoPermiso.Id = "UsoCUITxUN";
     permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado = "Vigente";
     return db.AltaHandler(permiso, false, false, true);
 }
コード例 #39
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static string PermisoOperServUNParaUsuarioAprobadoHandler(Entidades.UN UN, Entidades.TipoPermiso TipoPermiso, DateTime FechaFinVigencia, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario = Sesion.Usuario;
     permiso.Cuit = UN.Cuit;
     permiso.UN = UN;
     permiso.TipoPermiso = TipoPermiso;
     permiso.FechaFinVigencia = FechaFinVigencia;
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     return db.AltaHandler(permiso, false, false, true);
 }
コード例 #40
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public static string ServxCUITAprobadoHandler(Entidades.Cuit Cuit, Entidades.TipoPermiso TipoPermiso, DateTime FechaFinVigencia, Entidades.Sesion Sesion)
 {
     Entidades.Permiso permiso = new Entidades.Permiso();
     permiso.Usuario.Id = String.Empty;
     permiso.Cuit = Cuit.Nro;
     permiso.UN.Id = 0;
     permiso.TipoPermiso = TipoPermiso;
     permiso.FechaFinVigencia = FechaFinVigencia;
     permiso.UsuarioSolicitante = Sesion.Usuario;
     permiso.WF.Estado = "Vigente";
     CedServicios.DB.Permiso db = new DB.Permiso(Sesion);
     return db.AltaHandler(permiso, false, false, false);
 }
コード例 #41
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public List<Entidades.Permiso> LeerListaPermisosFiltrados(string IdUsuario, string CUIT, string IdTipoPermiso, string Estado, string VerPermisosDe)
 {
     StringBuilder a = new StringBuilder(string.Empty);
     a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado ");
     a.AppendLine("from Permiso where 1=1 ");
     if (IdUsuario != String.Empty) a.AppendLine("and IdUsuario='" + IdUsuario + "' ");
     if (CUIT != String.Empty) a.AppendLine("and CUIT='" + CUIT + "' ");
     if (IdTipoPermiso != String.Empty) a.AppendLine("and IdTipoPermiso='" + IdTipoPermiso + "' ");
     if (Estado != String.Empty) a.AppendLine("and Estado='" + Estado + "' ");
     switch (VerPermisosDe)
     {
         case "Cuits":
             a.AppendLine("and Cuit<>'' and IdUN=0 and IdUsuario='' ");
             break;
         case "UNs":
             a.AppendLine("and Cuit<>'' and IdUN<>0 and IdUsuario='' ");
             break;
         case "Usuarios":
             a.AppendLine("and IdUsuario<>'' ");
             break;
         case "Todos":
             break;
     }
     DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     List<Entidades.Permiso> lista = new List<Entidades.Permiso>();
     if (dt.Rows.Count != 0)
     {
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             Entidades.Permiso permiso = new Entidades.Permiso();
             Copiar_LeerListaPermisosFiltrados(dt.Rows[i], permiso);
             lista.Add(permiso);
         }
     }
     return lista;
 }
コード例 #42
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string a = RN.Funciones.Desencriptar(HttpContext.Current.Request.Url.Query.ToString().Substring(1));
                string[] delim=new string[]{"<<<>>>"};
                string[] b = a.Split(delim, StringSplitOptions.None);

                Entidades.Permiso permiso = new Entidades.Permiso();
                permiso.Usuario.Id = b[0];
                permiso.Cuit = b[1];
                permiso.UN.Id = Convert.ToInt32(b[2]);
                permiso.TipoPermiso.Id = b[3];
                string idUsuarioAutorizador = b[4];
                
                Entidades.Usuario usuarioAutorizador = new Entidades.Usuario();
                usuarioAutorizador.Id = idUsuarioAutorizador;
                RN.Usuario.Leer(usuarioAutorizador, (Entidades.Sesion)Session["Sesion"]);
                List<Entidades.Usuario> usuarioAutorizadorLista = new List<Entidades.Usuario>();
                usuarioAutorizadorLista.Add(usuarioAutorizador);
                IdUsuarioAutorizadorDropDownList.DataSource = usuarioAutorizadorLista;
                IdUsuarioAutorizadorDropDownList.SelectedValue = idUsuarioAutorizador;

                RN.TipoPermiso.Leer(permiso.TipoPermiso, (Entidades.Sesion)Session["Sesion"]);
                List<Entidades.TipoPermiso> tipoPermisoLista = new List<Entidades.TipoPermiso>();
                tipoPermisoLista.Add(permiso.TipoPermiso);
                IdTipoPermisoDropDownList.DataSource = tipoPermisoLista;
                IdTipoPermisoDropDownList.SelectedValue = permiso.TipoPermiso.Id;

                CUITTextBox.Text = permiso.Cuit;

                if (permiso.UN.Id != 0)
                {
                    Entidades.Cuit cuit = new Entidades.Cuit();
                    cuit.Nro = permiso.Cuit;
                    RN.Cuit.Leer(cuit, (Entidades.Sesion)Session["Sesion"]);
                    RN.Cuit.CompletarUNsYPuntosVta(new List<Entidades.Cuit> { cuit }, (Entidades.Sesion)Session["Sesion"]);
                    IdUNDropDownList.DataSource = cuit.UNs;
                    IdUNDropDownList.SelectedValue = permiso.UN.Id.ToString();
                }
                else
                {
                    IdUNLabel.Visible = false;
                    IdUNDropDownList.Visible = false;
                }

                RN.Usuario.Leer(permiso.Usuario, (Entidades.Sesion)Session["Sesion"]);
                List<Entidades.Usuario> usuarioLista = new List<Entidades.Usuario>();
                usuarioLista.Add(permiso.Usuario);
                IdUsuarioDropDownList.DataSource = usuarioLista;
                IdUsuarioDropDownList.SelectedValue = permiso.Usuario.Id;

                try
                {
                    Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                    RN.Permiso.Leer(permiso, sesion);
                    RN.Usuario.Leer(permiso.UsuarioSolicitante, sesion);
                }
                catch (EX.Validaciones.ElementoInexistente)
                {
                    MensajeLabel.Text = "Esta intervensión ya no resulta necesaria, porque la solicitud ha cambiado de estado" + TextoIniciarSesion();
                    DeshabilitarBotones();
                }
                ViewState["Permiso"] = permiso;

                DataBind();
            }
        }
コード例 #43
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string   a     = RN.Funciones.Desencriptar(HttpContext.Current.Request.Url.Query.ToString().Substring(1));
                string[] delim = new string[] { "<<<>>>" };
                string[] b     = a.Split(delim, StringSplitOptions.None);

                Entidades.Permiso permiso = new Entidades.Permiso();
                permiso.Usuario.Id     = b[0];
                permiso.Cuit           = b[1];
                permiso.UN.Id          = Convert.ToInt32(b[2]);
                permiso.TipoPermiso.Id = b[3];
                string idUsuarioAutorizador = b[4];

                Entidades.Usuario usuarioAutorizador = new Entidades.Usuario();
                usuarioAutorizador.Id = idUsuarioAutorizador;
                RN.Usuario.Leer(usuarioAutorizador, (Entidades.Sesion)Session["Sesion"]);
                List <Entidades.Usuario> usuarioAutorizadorLista = new List <Entidades.Usuario>();
                usuarioAutorizadorLista.Add(usuarioAutorizador);
                IdUsuarioAutorizadorDropDownList.DataSource    = usuarioAutorizadorLista;
                IdUsuarioAutorizadorDropDownList.SelectedValue = idUsuarioAutorizador;

                RN.TipoPermiso.Leer(permiso.TipoPermiso, (Entidades.Sesion)Session["Sesion"]);
                List <Entidades.TipoPermiso> tipoPermisoLista = new List <Entidades.TipoPermiso>();
                tipoPermisoLista.Add(permiso.TipoPermiso);
                IdTipoPermisoDropDownList.DataSource    = tipoPermisoLista;
                IdTipoPermisoDropDownList.SelectedValue = permiso.TipoPermiso.Id;

                CUITTextBox.Text = permiso.Cuit;

                if (permiso.UN.Id != 0)
                {
                    Entidades.Cuit cuit = new Entidades.Cuit();
                    cuit.Nro = permiso.Cuit;
                    RN.Cuit.Leer(cuit, (Entidades.Sesion)Session["Sesion"]);
                    RN.Cuit.CompletarUNsYPuntosVta(new List <Entidades.Cuit> {
                        cuit
                    }, (Entidades.Sesion)Session["Sesion"]);
                    IdUNDropDownList.DataSource    = cuit.UNs;
                    IdUNDropDownList.SelectedValue = permiso.UN.Id.ToString();
                }
                else
                {
                    IdUNLabel.Visible        = false;
                    IdUNDropDownList.Visible = false;
                }

                RN.Usuario.Leer(permiso.Usuario, (Entidades.Sesion)Session["Sesion"]);
                List <Entidades.Usuario> usuarioLista = new List <Entidades.Usuario>();
                usuarioLista.Add(permiso.Usuario);
                IdUsuarioDropDownList.DataSource    = usuarioLista;
                IdUsuarioDropDownList.SelectedValue = permiso.Usuario.Id;

                try
                {
                    Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                    RN.Permiso.Leer(permiso, sesion);
                    RN.Usuario.Leer(permiso.UsuarioSolicitante, sesion);
                }
                catch (EX.Validaciones.ElementoInexistente)
                {
                    MensajeLabel.Text = "Esta intervensión ya no resulta necesaria, porque la solicitud ha cambiado de estado" + TextoIniciarSesion();
                    DeshabilitarBotones();
                }
                ViewState["Permiso"] = permiso;

                DataBind();
            }
        }
コード例 #44
0
ファイル: Permiso.cs プロジェクト: pjeconde/CedServicios
 public List<Entidades.Permiso> LeerListaPermisosPorUsuario(Entidades.Usuario Usuario)
 {
     List<Entidades.Permiso> lista = new List<Entidades.Permiso>();
     if (Usuario.Id != null)
     {
         StringBuilder a = new StringBuilder(string.Empty);
         a.AppendLine("select Permiso.IdUsuario, Permiso.Cuit, Permiso.IdUN, Permiso.IdTipoPermiso, Permiso.FechaFinVigencia, Permiso.IdUsuarioSolicitante, Permiso.AccionTipo, Permiso.AccionNro, Permiso.IdWF, Permiso.Estado, TipoPermiso.DescrTipoPermiso, isnull(UN.DescrUN, '') as DescrUN ");
         a.AppendLine("from Permiso ");
         a.AppendLine("join TipoPermiso on Permiso.IdTipoPermiso=TipoPermiso.IdTipoPermiso ");
         a.AppendLine("left outer join UN on Permiso.IdUN=UN.IdUN  and Permiso.Cuit=UN.Cuit ");
         a.AppendLine("where IdUsuario='" + Usuario.Id + "' ");
         DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
         if (dt.Rows.Count != 0)
         {
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 Entidades.Permiso permiso = new Entidades.Permiso();
                 Copiar_LeerListaPermisosPorUsuario(dt.Rows[i], permiso);
                 lista.Add(permiso);
             }
         }
     }
     return lista;
 }