public ActionResult Ver()
        {
            if (SessionHandler.Logged && SessionHandler.Perfil == 5)
            {
                if (RouteData.Values["id"] != null)
                {
                    string id = RouteData.Values["id"].ToString();
                    if (StringHelper.ContarCaracteres(id, '-') == 3)
                    {
                        EtapasModel       modelEtapas       = new EtapasModel();
                        MantenedorModel   modelMantenedor   = new MantenedorModel();
                        CuentaActivaModel modelCuentaActiva = new CuentaActivaModel();

                        ViewBag.UsuarioNombre = SessionHandler.Usuario;
                        ViewBag.Menu          = MenuHelper.menuPorPerfil(SessionHandler.Perfil);

                        string[] campos   = id.Split('-');
                        string   numero   = campos[0];
                        int      cuentaId = int.Parse(campos[1]);
                        int      mes      = int.Parse(campos[2]);
                        int      año      = int.Parse(campos[3]);

                        ViewBag.PageTitle = "Analisis Cuenta: " + numero;
                        ViewBag.Numero    = numero;
                        ViewBag.Mes       = StringHelper.DosNumeros(mes);
                        ViewBag.Año       = año;

                        CuentaActiva cuenta = modelCuentaActiva.obtenerCuentaActivaPorId(cuentaId, mes, año);
                        //Usuario usuario = modelMantenedor.ObtenerUsuarioPorId(cuenta.id);

                        ViewBag.Empresa = cuenta.empresa.razonSocial;
                        ViewBag.Rubro   = cuenta.rubro.rubroNombre;
                        ViewBag.Grupo   = cuenta.grupo.grupoNombre;

                        string botones = "";
                        botones  = "<a class='btn btn-info blue'  onclick='agregarArchivo()'>Agregar Archivo</a> ";
                        botones += "<a class='btn btn-info blue' onclick='prepararEnviar()'>Finalizar Cuenta</a> ";
                        botones += "<a class='btn btn-info blue' onclick='prepararRetroceder()'> Retroceder a Validaci&oacute;n </a>";

                        if (cuenta.cuentaActivaEstado == 3)
                        {
                            ViewBag.botones = botones;
                        }
                        ViewBag.Analista     = cuenta.analista.nombre;
                        ViewBag.Validador    = cuenta.validador.nombre;
                        ViewBag.Certificador = cuenta.certificador.nombre;


                        ViewBag.Archivos    = this.ListaArchivos(cuentaId, mes, año, 3);
                        ViewBag.CuentaId    = cuentaId;
                        ViewBag.CuentaFecha = cuenta.cuentaActivaFecha;

                        ViewBag.LineaDeTiempo = this.TimeLine(cuentaId, mes, año);
                        ViewBag.Logs          = this.ListaLogs(cuentaId, mes, año);
                        ViewBag.LogStatus     = modelEtapas.ObtenerCuentaActivaEstadoLog(cuentaId, mes, año);

                        return(View());
                    }
                }


                return(Redirect("~/Certificacion/Index"));
            }
            else
            {
                return(Redirect("~/Login/Index"));
            }
        }
Example #2
0
        public ActionResult Descargar(string annos, string meses, string empresas, string rubros, string grupos, string cuentas)
        {
            var modelReporte = new ReporteModel();
            var modelEtapas  = new EtapasModel();
            var lista        = new List <List <string> >();

            var cuentasActivas = modelReporte.ObtenerCuentasActivasPorFiltro(
                validarArreglo(annos),
                validarArreglo(meses),
                validarArreglo(empresas),
                validarArreglo(rubros),
                validarArreglo(grupos),
                validarArreglo(cuentas)
                );

            foreach (var cuenta in cuentasActivas)
            {
                var fila = new List <string>();

                int    estado      = modelEtapas.ObtenerCuentaActivaEstadoLog(cuenta.cuentaActivaId, cuenta.cuentaActivaFecha.Month, cuenta.cuentaActivaFecha.Year);
                string estadoStr   = "";
                string descripcion = "";
                switch (estado)
                {
                case 0:
                    estadoStr   = "0%";
                    descripcion = "En Borrador";
                    break;

                case 1:
                    estadoStr   = "33%";
                    descripcion = "Rechazado desde Validación";
                    break;

                case 2:
                    estadoStr   = "66%";
                    descripcion = "Enviado a Validación";
                    break;

                case 3:
                    estadoStr   = "66%";
                    descripcion = "Enviado a Certificación";
                    break;

                case 4:
                    estadoStr   = "66%";
                    descripcion = "Rechazado desde Certificación";
                    break;

                case 5:
                    estadoStr   = "100%";
                    descripcion = "Certificado";
                    break;
                }
                fila.Add(cuenta.empresa.razonSocial);
                fila.Add(cuenta.numero);
                fila.Add(cuenta.rubro.rubroNombre);
                fila.Add(cuenta.grupo.grupoNombre);
                fila.Add(StringHelper.fechaDMA(cuenta.cuentaActivaFecha));
                fila.Add(cuenta.cuentaActivaDiasPlazo.ToString());
                fila.Add(descripcion);
                fila.Add(cuenta.analista.nombre);
                fila.Add(cuenta.validador.nombre);
                fila.Add(cuenta.certificador.nombre);
                fila.Add(estadoStr);

                lista.Add(fila);
            }

            //string archivo = modelReporte.GenerarExcel(lista);
            string path = HostingEnvironment.ApplicationPhysicalPath + "Archivos\\";
            string file = StringHelper.HashUnico("Excel_", ".xlsx");

            System.IO.File.Copy(path + "Plantillas\\Plantilla_Reporte1.xlsx", path + "Temporal\\" + file, true);
            modelReporte.GenerarReporte1(path + "Temporal\\" + file, lista);

            byte[] contenido = GetFile(path + "Temporal\\" + file);;

            return(File(contenido, "application/force-download", "CuentasActivas-" + DateTime.Now.ToShortDateString() + ".xlsx"));
            //}
            //else
            //{
            //    switch (usuarioId)
            //    {
            //        case -1:
            //            return Json(new { response = "error", message = "Nombre de Usuario o password Incorrecto" }, JsonRequestBehavior.AllowGet);
            //        case -2:
            //            return Json(new { response = "error", message = "No se ha podido establecer una conexion con el Servidor" }, JsonRequestBehavior.AllowGet);
            //    }
            //    return Json(new { response = "error", message = "Error Desconocido" }, JsonRequestBehavior.AllowGet);
            //}
        }
Example #3
0
        public ActionResult Filtrar(string annos, string meses, string empresas, string rubros, string grupos, string cuentas)
        {
            var modelReporte = new ReporteModel();
            var modelEtapas  = new EtapasModel();
            var lista        = new List <List <string> >();

            var cuentasActivas = modelReporte.ObtenerCuentasActivasPorFiltro(
                validarArreglo(annos),
                validarArreglo(meses),
                validarArreglo(empresas),
                validarArreglo(rubros),
                validarArreglo(grupos),
                validarArreglo(cuentas)
                );

            foreach (var cuenta in cuentasActivas)
            {
                var    fila        = new List <string>();
                int    estado      = modelEtapas.ObtenerCuentaActivaEstadoLog(cuenta.cuentaActivaId, cuenta.cuentaActivaFecha.Month, cuenta.cuentaActivaFecha.Year);
                string estadoStr   = "";
                string descripcion = "";
                switch (estado)
                {
                case 0:
                    estadoStr   = "<b>0%</b>";
                    descripcion = "En Borrador";
                    break;

                case 1:
                    estadoStr   = "<b style='color: #ff0000'>33%</b>";
                    descripcion = "Rechazado desde Validaci&oacute;n";
                    break;

                case 2:
                    estadoStr   = "<b style='color: #ff6600;'>66%</b>";
                    descripcion = "Enviado a Validaci&oacute;n";
                    break;

                case 3:
                    estadoStr   = "<b style='color: #ff6600;'>66%</b>";
                    descripcion = "Enviado a Certificaci&oacute;n";
                    break;

                case 4:
                    estadoStr   = "<b style='color: #ff6600;'>66%</b>";
                    descripcion = "Rechazado desde Certificaci&oacute;n";
                    break;

                case 5:
                    estadoStr   = "<b style='color: #66ff33;'>100%</b>";
                    descripcion = "Certificado";
                    break;
                }
                fila.Add(cuenta.empresa.razonSocial);
                fila.Add(cuenta.numero);
                fila.Add(cuenta.rubro.rubroNombre);
                fila.Add(cuenta.grupo.grupoNombre);
                fila.Add(StringHelper.fechaDMA(cuenta.cuentaActivaFecha));
                fila.Add(cuenta.cuentaActivaDiasPlazo.ToString());
                fila.Add(descripcion);
                fila.Add(cuenta.analista.nombre);
                fila.Add(cuenta.validador.nombre);
                fila.Add(cuenta.certificador.nombre);
                fila.Add(estadoStr);

                lista.Add(fila);
            }

            return(Json(new { data = lista }, JsonRequestBehavior.AllowGet));

            //return Json(new { response = "success" }, JsonRequestBehavior.AllowGet);
            //}
            //else
            //{
            //    switch (usuarioId)
            //    {
            //        case -1:
            //            return Json(new { response = "error", message = "Nombre de Usuario o password Incorrecto" }, JsonRequestBehavior.AllowGet);
            //        case -2:
            //            return Json(new { response = "error", message = "No se ha podido establecer una conexion con el Servidor" }, JsonRequestBehavior.AllowGet);
            //    }
            //    return Json(new { response = "error", message = "Error Desconocido" }, JsonRequestBehavior.AllowGet);
            //}
        }
        // GET: Dashboard
        public ActionResult Index()
        {
            if (SessionHandler.Logged)
            {
                if (SessionHandler.pwdEstado)
                {
                    ViewBag.PageTitle     = "Dashboard";
                    ViewBag.UsuarioNombre = SessionHandler.Usuario;
                    ViewBag.Menu          = MenuHelper.menuPorPerfil(SessionHandler.Perfil);

                    EtapasModel modelEtapas = new EtapasModel();

                    List <CuentaActiva> cuentas = new List <CuentaActiva>();

                    if (SessionHandler.Perfil >= 3)
                    {
                        switch (SessionHandler.Perfil)
                        {
                        case 3:
                            cuentas = modelEtapas.obtenerCuentasActivas(DateTime.Today.Month, DateTime.Today.Year, SessionHandler.UsuarioId);
                            break;

                        case 4:
                            cuentas = modelEtapas.obtenerCuentasActivas(DateTime.Today.Month, DateTime.Today.Year, -1, SessionHandler.UsuarioId);
                            break;

                        case 5:
                            cuentas = modelEtapas.obtenerCuentasActivas(DateTime.Today.Month, DateTime.Today.Year, -1, -1, SessionHandler.UsuarioId);
                            break;
                        }
                    }
                    else
                    {
                        cuentas = modelEtapas.obtenerCuentasActivas(DateTime.Today.Month, DateTime.Today.Year);
                    }

                    string html = "";

                    foreach (CuentaActiva cuenta in cuentas)
                    {
                        string tr          = "<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td><td>{6}</td><td>{7}</td><td>{8}</td></tr>";
                        int    estado      = modelEtapas.ObtenerCuentaActivaEstadoLog(cuenta.cuentaActivaId, cuenta.cuentaActivaFecha.Month, cuenta.cuentaActivaFecha.Year);
                        string estadoStr   = "";
                        string descripcion = "";
                        if (estado == 0)
                        {
                            estado = modelEtapas.ObtenerCuentaActivaEstadoParaEstado0(cuenta.cuentaActivaId, cuenta.cuentaActivaFecha.Month, cuenta.cuentaActivaFecha.Year);
                        }
                        switch (estado)
                        {
                        case -1:
                            estadoStr   = "<b>0%</b>";
                            descripcion = "Asignado (Sin Movimientos)";
                            break;

                        case 0:
                            estadoStr   = "<b style='color: #993333'>25%</b>";
                            descripcion = "En Borrador";
                            break;

                        case 1:
                            estadoStr   = "<b style='color: #993333'>25%</b>";
                            descripcion = "Rechazado desde Validaci&oacute;n";
                            break;

                        case 2:
                            estadoStr   = "<b style='color: #ff0000;'>50%</b>";
                            descripcion = "Enviado a Validaci&oacute;n";
                            break;

                        case 3:
                            estadoStr   = "<b style='color: #ff9933;'>75%</b>";
                            descripcion = "Enviado a Certificaci&oacute;n";
                            break;

                        case 4:
                            estadoStr   = "<b style='color: #ff0000;'>50%</b>";
                            descripcion = "Rechazado desde Certificaci&oacute;n";
                            break;

                        case 5:
                            estadoStr   = "<b style='color: #66ff33;'>100%</b>";
                            descripcion = "Certificado";
                            break;
                        }
                        html += string.Format(tr,
                                              cuenta.empresa.razonSocial,
                                              cuenta.numero,
                                              StringHelper.fechaDMA(cuenta.cuentaActivaFecha),
                                              cuenta.cuentaActivaDiasPlazo,
                                              descripcion,
                                              cuenta.analista.nombre,
                                              cuenta.validador.nombre,
                                              cuenta.certificador.nombre,
                                              estadoStr
                                              );
                    }


                    ViewBag.Table = html;

                    return(View());
                }
                else
                {
                    return(Redirect("~/Perfil/Index"));
                }
            }
            else
            {
                return(Redirect("~/Login/Index"));
            }
        }