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); }
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ó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); }
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ón"; color = "red"; icono = "fa-close"; texto = "Validador: " + cuenta.validador.nombre; break; case 2: titulo = "Cuenta Enviada a Validación"; color = "green"; icono = "fa-send"; texto = "Analista: " + cuenta.analista.nombre; break; case 4: titulo = "Cuenta Enviada a Validació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); }
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ó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")); } }