コード例 #1
0
        public ActionResult reprocesarExcel(string[][] data)
        {
            var modelExcel      = new Models.ExcelModel();
            var modelMantenedor = new Models.MantenedorModel();
            var modelCuentas    = new Models.CuentaActivaModel();

            List <FilaJson> lista = new List <FilaJson>();

            foreach (string[] fila in data)
            {
                string   empresa      = fila[0];
                string   nroCuenta    = fila[1];
                string   total        = fila[2];
                string   analista     = fila[3];
                string   validador    = fila[4];
                string   certificador = fila[5];
                var      dias         = fila[6];
                string[] fecha        = fila[7].Split('/');
                int      mm           = int.Parse(fecha[0]);
                int      yyyy         = int.Parse(fecha[1]);
                string   id           = fila[8];

                CuentaActiva ca = new CuentaActiva();
                ca.numero                = nroCuenta;
                ca.cuentaActivaTotal     = int.Parse(total);
                ca.cuentaActivaDiasPlazo = int.Parse(dias);
                ca.cuentaActivaFecha     = new DateTime(yyyy, mm, 1);

                ca.empresa             = new Empresa();
                ca.empresa.razonSocial = empresa;

                ca.analista        = new Usuario();
                ca.analista.nombre = analista;

                ca.validador        = new Usuario();
                ca.validador.nombre = validador;

                ca.certificador        = new Usuario();
                ca.certificador.nombre = certificador;

                var r = modelCuentas.IngresarActualizarAsignacionCuenta(ca, SessionHandler.UsuarioId);
                lista.Add(new FilaJson {
                    fila = id, resultado = r.insertUpdate.ToString()
                });
            }


            return(Json(new { response = "success", resultados = Json(lista) }, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        private string generarListaLogItem(Log log, CuentaActiva cuenta)
        {
            string html = "";

            string tipo       = "";
            string usuario    = "";
            string titulo     = "";
            string fecha      = StringHelper.fechaDMA(log.Fecha);
            string comentario = log.Descripcion;

            switch (log.EstadoId)
            {
            case 1:
                titulo  = "Cuenta Rechazada desde Validaci&oacute;n";
                tipo    = "Validador";
                usuario = cuenta.validador.nombre;
                break;

            case 2:
                titulo  = "Cuenta Enviada a Validaci&oacute;n";
                tipo    = "Analista";
                usuario = cuenta.analista.nombre;
                break;

            case 3:
                titulo  = "Cuenta Enviada a Certificaci&oacute;n";
                tipo    = "Validador";
                usuario = cuenta.validador.nombre;
                break;

            case 4:
                titulo  = "Cuenta Rechazada desde Certificaci&oacute;n";
                tipo    = "Certificador";
                usuario = cuenta.certificador.nombre;
                break;

            case 5:
                titulo  = "Cuenta Certificada";
                tipo    = "Certificador";
                usuario = cuenta.certificador.nombre;
                break;
            }

            html = string.Format("<span class='title'>{4}</span><br>{0}: {1} ({2})<br>{3}", tipo, usuario, fecha, comentario, titulo);

            return(html);
        }
コード例 #3
0
        protected string ListaLogs(int cuentaActivaId, int mes, int año)
        {
            EtapasModel       modelEtapas       = new EtapasModel();
            CuentaActivaModel modelCuentaActiva = new CuentaActivaModel();
            MantenedorModel   modelMantenedor   = new MantenedorModel();

            List <Log> logs = modelEtapas.obtenerLogsPorCuentaActiva(cuentaActivaId, mes, año);

            CuentaActiva cuenta = modelCuentaActiva.obtenerCuentaActivaPorId(cuentaActivaId, mes, año);

            string html = "";

            if (logs.Count == 0)
            {
                html = "<div class='row'><div class='col-sm-12'><div class='sac_borderdiv' style='text-align: center;'><span class='title'>Cuenta en Borrador</span></div></div></div>";
            }
            else
            {
                html = "<div class='row'><div class='col-sm-1 loglistexpandholder' style='height: 100%;'>";
                if (logs.Count > 1)
                {
                    html += "<i class='fa fa-plus fa-3x loglistexpand' onclick='ExpandirLogs()'></i>";
                }
                html += "</div>";
                html += "<div class='col-sm-11'><div class='sac_borderdiv'>";

                html += generarListaLogItem(logs[logs.Count - 1], cuenta);

                html += "</div></div></div><div id='loglist'>";

                for (int i = logs.Count - 2; i >= 0; i--)
                {
                    html += "<div class='row'><div class='col-sm-1'></div><div class='col-sm-11'><div class='sac_borderdiv'>";
                    html += generarListaLogItem(logs[i], cuenta) + "</div></div></div>";
                }

                html += "</div>";
            }
            return(html);
        }
コード例 #4
0
        protected string ListaArchivos(int cuentaActivaId, int mes, int año, int etapa, int etapa2 = -1)
        {
            EtapasModel       modelEtapas       = new EtapasModel();
            CuentaActivaModel modelCuentaActiva = new CuentaActivaModel();
            MantenedorModel   modelMantenedor   = new MantenedorModel();

            List <Archivo> archivos = modelEtapas.obtenerArchivosPorCuentaActiva(cuentaActivaId, mes, año);
            CuentaActiva   cuenta   = modelCuentaActiva.obtenerCuentaActivaPorId(cuentaActivaId, mes, año);

            string html = "";

            foreach (var archivo in archivos)
            {
                if (archivo.Estado != 1)
                {
                    Usuario usuarioArchivo = modelMantenedor.ObtenerUsuarioPorId(archivo.UsuarioCreacion);
                    string  img            = string.Format("<img src='/Content/Free-file-icons/512px/{0}.png' onclick='descargar({1}, {2})'>", archivo.Extension, archivo.Id, archivo.Version);
                    var     btnEditar      = "";
                    //var botones = "";
                    //botones = ' <a class="btn btn-info blue " onclick="agregarArchivo()">Agregar Archivo</a>< a class="btn btn-info blue " onclick="prepararEnviar()">Enviar a Validaci&oacute;n</a>';

                    if (cuenta.cuentaActivaEstado == etapa || cuenta.cuentaActivaEstado == etapa2)
                    {
                        btnEditar += "<span class='fa fa-edit spanSize'  onclick='obtenerArchivo({3}, {5});'></span> ";
                        btnEditar += "<span class='fa fa-remove spanSizeR'  onclick='eliminarArchivo({3}, {5},  \"{4}\");'></span> ";
                        btnEditar += "<span class='fa fa-files-o spanSizeC' onclick='copiarArchivo({3}, {5})'></span>";
                    }
                    string file = string.Format("{0} " + btnEditar + " <br>{1} <span class='archivoThumbSm'>(v{2})</span>", img, archivo.Nombre, archivo.Version, archivo.Id, archivo.Nombre, archivo.Version);
                    string data = string.Format("{0}<br><span class='archivoThumbSm'>Subido por {2} el {1}</span>", archivo.Comentario, StringHelper.fechaDMA(archivo.Fecha), usuarioArchivo.nombre);
                    html += "<div class='col-sm-4 archivoThumb'><div class='archivoThumbBorder'>";
                    html += "     <div class='archivoThumbFile'>" + file + "</div>";
                    html += "     <div class='archivoThumbData'>" + data + "</div>";
                    html += "</div></div>";
                }
            }


            return(html);
        }
コード例 #5
0
        public ActionResult procesarExcel(string archivo)
        {
            var modelExcel      = new Models.ExcelModel();
            var modelMantenedor = new Models.MantenedorModel();
            var modelCuenta     = new Models.CuentaActivaModel();
            var selectEmpresas  = "";
            var empresas        = modelMantenedor.obtenerEmpresas();
            var selectUsuarios  = "";
            var usuarios        = modelMantenedor.obtenerUsuarios();

            var cuentas       = modelMantenedor.obtenerCuentas();
            var selectCuentas = "";

            foreach (Cuenta fila in cuentas)
            {
                selectCuentas += "<option value='" + fila.id + "'>" + fila.numero + "</option>";
            }
            foreach (Empresa fila in empresas)
            {
                selectEmpresas += "<option value='" + fila.empresaId + "'>" + fila.razonSocial + "</option>";
            }
            foreach (Usuario fila in usuarios)
            {
                selectUsuarios += "<option value='" + fila.usuarioId + "'>" + fila.nombre + "</option>";
            }
            List <CuentaActiva> cuentasActivas;

            cuentasActivas = modelExcel.ObtenerCuentasActivasDesdeArchivo(HostingEnvironment.ApplicationPhysicalPath + "Archivos\\Temporal\\" + archivo);
            string html     = "";
            int    contador = 0;
            bool   errores  = false;

            foreach (CuentaActiva cuenta in cuentasActivas)
            {
                contador++;
                CuentaActiva c = modelCuenta.IngresarActualizarAsignacionCuenta(cuenta, SessionHandler.UsuarioId);

                if (c.cuentaActivaId == -1)
                {
                    html   += "<tr class='danger' id='" + contador + "'>";
                    errores = true;
                }
                else
                {
                    html += "<tr>";
                }
                //html += "<td>" + contador + "</td>";
                html += "<td>";
                var htmlcuenta = "";
                if (c.empresa.empresaId == -1)
                {
                    html       += "<select id='ReprocesarEmpresa' name='empresas' class='form-control' onchange='CargarCuentasPorEmpresa()'>";
                    html       += "<option value=''>" + c.empresa.razonSocial + " (Valor Erroneo) </option>" + selectEmpresas;
                    html       += "</select>";
                    htmlcuenta += "<select id='ReprocesarCuenta' name='cuentas' class='form-control' >";
                    htmlcuenta += "<option value=''> Seleccione... </option>";
                    htmlcuenta += "</select>";
                }
                else
                {
                    html += c.empresa.razonSocial;
                    if (c.id != -1)
                    {
                        htmlcuenta = c.numero;
                    }
                    else
                    {
                        var cuentasEmpresa = modelMantenedor.ObtenerCuentasPorEmpresa(c.empresa.empresaId);
                        htmlcuenta += "<select name='cuentas' class='form-control' >";
                        htmlcuenta += "<option value=''>" + c.numero + " (Valor Erroneo) </option>";
                        foreach (Cuenta fila in cuentasEmpresa)
                        {
                            htmlcuenta += "<option value='" + fila.id + "'>" + fila.numero + "</option>";
                        }
                        htmlcuenta += "</select>";
                    }
                }
                html += "</td>";
                html += "<td>" + htmlcuenta + "</td>";
                html += "<td>" + c.cuentaActivaTotal + "</td>";
                html += "<td>";
                if (c.analista.usuarioId == -1)
                {
                    html += "<select name='analista' class='form-control' >";
                    html += "<option value=''>" + c.analista.nombre + " (Valor Erroneo) </option>" + selectUsuarios;
                    html += "</select>";
                }
                else
                {
                    html += c.analista.nombre;
                }
                html += "</td>";
                html += "<td>";
                if (c.validador.usuarioId == -1)
                {
                    html += "<select name='validador' class='form-control' >";
                    html += "<option value=''>" + c.validador.nombre + " (Valor Erroneo) </option>" + selectUsuarios;
                    html += "</select>";
                }
                else
                {
                    html += c.validador.nombre;
                }
                html += "</td>";
                html += "<td>";
                if (c.certificador.usuarioId == -1)
                {
                    html += "<select name='certificador' class='form-control' >";
                    html += "<option value=''>" + c.certificador.nombre + " (Valor Erroneo) </option>" + selectUsuarios;
                    html += "</select>";
                }
                else
                {
                    html += c.certificador.nombre;
                }
                html += "</td>";
                html += "<td>" + c.cuentaActivaDiasPlazo + "</td>";

                html += "<td>" + StringHelper.DosNumeros(c.cuentaActivaFecha.Month) + "/" + c.cuentaActivaFecha.Year + "</td>";

                html += "<td>";
                if (c.id == -1)
                {
                    html += "FALLIDO <i class='fa fa-times-circle danger'></i>";
                }
                else
                {
                    if (c.insertUpdate)
                    {
                        html += "INSERTADA  <i class='fa fa-plus-circle' style='color:#4f4' ></i>";
                    }
                    else
                    {
                        html += "ACTUALIZADA <i class='fa fa-check-circle' style='color:#4f4' ></i>";
                    }
                }
                html += "</td>";

                html += "</tr>";
            }



            return(Json(new { response = "success", tabla = html, errores = errores }, JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
        protected string TimeLine(int cuentaActivaId, int mes, int año)
        {
            EtapasModel       modelEtapas       = new EtapasModel();
            CuentaActivaModel modelCuentaActiva = new CuentaActivaModel();
            MantenedorModel   modelMantenedor   = new MantenedorModel();

            ListaOrdenablePorFecha listaOrden = new ListaOrdenablePorFecha();

            CuentaActiva   cuenta   = modelCuentaActiva.obtenerCuentaActivaPorId(cuentaActivaId, mes, año);
            List <Log>     Logs     = modelEtapas.obtenerLogsPorCuentaActiva(cuenta.cuentaActivaId, mes, año);
            List <Archivo> archivos = modelEtapas.obtenerArchivosVersionPorCuentaActiva(cuenta.cuentaActivaId, mes, año);

            foreach (var archivo in archivos)
            {
                listaOrden.Add(archivo.Fecha, archivo);
            }
            foreach (var log in Logs)
            {
                listaOrden.Add(log.Fecha, log);
            }
            string html   = "";
            string patron = "<li class='timeline-{3}'>";

            patron += "<div class='timeline-icon'><i class='fa {4}'></i></div>";
            patron += "<div class='timeline-body'><div class='timeline-text'>";
            patron += "<div> {0} ({1}) </div>";
            patron += "<div> {2} </div>";
            patron += "</div></div></li>";

            foreach (var objeto in listaOrden.Descendente())
            {
                if (objeto is Archivo)
                {
                    Archivo a = (Archivo)objeto;
                    Usuario u = modelMantenedor.ObtenerUsuarioPorId(a.UsuarioCreacion);
                    if (a.Version == 1)
                    {
                        html += string.Format(patron,
                                              a.Nombre + " (ver." + a.Version + ")",
                                              StringHelper.fechaDMA(a.Fecha),
                                              "Archivo Agregado por " + u.nombre,
                                              "yellow",
                                              "fa-plus"
                                              );
                    }
                    else
                    {
                        html += string.Format(patron,
                                              a.Nombre + " (ver." + a.Version + ")",
                                              StringHelper.fechaDMA(a.Fecha),
                                              "Archivo Actualizado por " + u.nombre,
                                              "purple",
                                              "fa-files-o"
                                              );
                    }
                }
                if (objeto is Log)
                {
                    Log l = (Log)objeto;
                    //Usuario u = modelMantenedor.ObtenerUsuarioPorId();
                    string titulo      = "";
                    string color       = "";
                    string icono       = "";
                    string texto       = "";
                    string descripcion = StringHelper.StripTags(l.Descripcion.Replace("<br>", " "));
                    if (descripcion.Length > 100)
                    {
                        descripcion = descripcion.Substring(0, 97) + "...";
                    }
                    switch (l.EstadoId)
                    {
                    case 1:
                        titulo = "Cuenta Rechazada desde Validaci&oacute;n";
                        color  = "red";
                        icono  = "fa-close";
                        texto  = "Validador: " + cuenta.validador.nombre;
                        break;

                    case 2:
                        titulo = "Cuenta Enviada a Validaci&oacute;n";
                        color  = "green";
                        icono  = "fa-send";
                        texto  = "Analista: " + cuenta.analista.nombre;
                        break;

                    case 4:
                        titulo = "Cuenta Enviada a Validaci&oacute;n";
                        color  = "green";
                        icono  = "fa-send";
                        texto  = "Certificador: " + cuenta.certificador.nombre;
                        break;

                    case 3:
                        titulo = "Cuenta Enviada a Certificación";
                        color  = "green";
                        icono  = "fa-send";
                        texto  = "Validador: " + cuenta.validador.nombre;
                        break;

                    case 5:
                        titulo = "Cuenta Finalizada";
                        color  = "green";
                        icono  = "fa-send";
                        texto  = "Certificador: " + cuenta.certificador.nombre;
                        break;
                    }
                    html += string.Format(patron,
                                          titulo,
                                          StringHelper.fechaDMA(l.Fecha),
                                          texto + "<br>Comentario: " + descripcion,
                                          color,
                                          icono
                                          );
                }
            }

            html += string.Format(patron,
                                  cuenta.nombre + " - " + cuenta.numero,
                                  StringHelper.fechaDMA(cuenta.cuentaActivaFecha),
                                  "Cuenta Asignada a " + cuenta.analista.nombre,
                                  "blue timeline-noline",
                                  "fa-check-square-o"
                                  );

            return(html);
        }
コード例 #7
0
        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"));
            }
        }