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 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); }