public IEnumerable <EventosItem> GetList(EventoFilter filter) { try { connection = new SqlServerConnection(); var parametros = new Dictionary <string, object> { { "@idTipoEvento", filter.idTipoEvento }, { "@fechaDesde", filter.fechaDesde }, { "@fechaHasta", filter.fechaHasta }, { "@idCampo", filter.codigoCampo }, { "@periodo", filter.periodo } }; if (filter.numCaravana != 0) { parametros.Add("@numCaravana", filter.numCaravana); } var lista = connection.GetArray <EventosItem>("spObtenerListaEventos", parametros, System.Data.CommandType.StoredProcedure); return(lista); } catch (Exception ex) { throw; } finally { connection.Close(); connection = null; } }
public List <Evento> GetByFilterCoord(string idUsuario, EventoFilter filter) { List <Evento> eventos = GetByFilter(filter); int idCoord = db.Funcionario.Where(x => x.IdUsuario == idUsuario && x.Permissao == EnumPermissaoUsuario.coordenador).Select(y => y.IdFuncionario).FirstOrDefault(); List <int> cursos = db.Curso.Where(x => x.IdCoordenador == idCoord).Select(y => y.IdCurso).ToList(); //experimental return(eventos.Where(x => cursos.Contains(x.Curso.FirstOrDefault().IdCurso)).ToList()); }
public List <Evento> GetByFilterAluno(string idUsuario, EventoFilter filter) { List <Evento> eventos = GetByFilter(filter); List <int> aes = db.AlunoEvento.Where(x => x.Aluno.IdUsuario == idUsuario).Select(y => y.IdEvento).ToList(); List <int> cursos = db.AlunoCurso.Where(x => x.Aluno.IdUsuario == idUsuario).Select(y => y.IdCurso).ToList(); if (filter.ApenasInscritos) { eventos = eventos.Where(x => aes.Contains(x.IdEvento)).ToList(); } //experimental return(eventos.Where(x => cursos.Contains(x.Curso.FirstOrDefault().IdCurso)).ToList()); }
public ActionResult List(EventoFilter filter) { List <Evento> eventos; Usuario user = GetSessionUser(); if (user.Permissao == EnumPermissaoUsuario.coordenador) { eventos = eventoRepository.GetByFilterCoord(user.IdUsuario, new EventoFilter()); } else { eventos = eventoRepository.GetByFilter(new EventoFilter()); } return(PartialView("_List", eventos)); }
public List <Evento> GetByFilter(EventoFilter filter) { List <Evento> eventos = db.Evento.ToList(); if (!string.IsNullOrEmpty(filter.NomeEvento)) { eventos = eventos.Where(x => x.NomeEvento.Contains(filter.NomeEvento)).ToList(); } if (filter.IdStatus != null) { eventos = eventos.Where(x => x.Status == (EnumStatusEvento)filter.IdStatus).ToList(); } return(eventos); }
public ActionResult ListAluno(EventoFilter filter) { Usuario user = GetSessionUser(); return(PartialView("_List", eventoRepository.GetByFilterAluno(user.IdUsuario, filter).Where(x => DateTime.Now < x.DataFim).ToList())); }
public Documento EventosExportarExcel(EventoFilter filter) { SLExcelData data = new SLExcelData(); try { data.HeadersFiltro = new List <string>(); data.HeadersFiltro.Add("Caravana"); data.HeadersFiltro.Add("Tipo Evento"); data.HeadersFiltro.Add("Fecha Desde"); data.HeadersFiltro.Add("Fecha hasta"); List <string> rowFiltro = new List <string>(); if (filter.numCaravana != 0) { rowFiltro.Add(filter.numCaravana.ToString()); } else { rowFiltro.Add("Sin datos"); } switch (filter.idTipoEvento) { case 1: rowFiltro.Add("Vacunación"); break; case 2: rowFiltro.Add("Antibiótico"); break; case 3: rowFiltro.Add("Manejo"); break; case 4: rowFiltro.Add("Alimenticio"); break; default: rowFiltro.Add("Sin datos"); break; } if (filter.fechaDesde != null) { rowFiltro.Add(filter.fechaDesde); } else { rowFiltro.Add("Sin datos"); } if (filter.fechaHasta != null) { rowFiltro.Add(filter.fechaHasta); } else { rowFiltro.Add("Sin datos"); } data.DataRowsFiltro = new List <List <string> >(); data.DataRowsFiltro.Add(rowFiltro); var lista = GetList(filter); data.Headers.Add("Tipo Evento"); data.Headers.Add("Fecha Evento"); data.Headers.Add("Bovinos que participaron"); foreach (var item in lista) { List <string> row = new List <string>() { item.tipoEvento.ToString(), item.fechaHora, item.cantidadBovinos.ToString() }; data.DataRows.Add(row); } var archivo = StaticFunctions.GenerateExcel(data, "Eventos", filter.campo, filter.usuario, filter.periodo); return(new Documento() { nombre = archivo }); } catch (Exception ex) { throw ex; } finally { } }
public Documento EventosExportarPDF(EventoFilter filter) { FileStream fs; Document doc = null; PdfWriter writer; try { doc = new Document(); // Verifico el directorio string filePath = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } var fecha = DateTime.Now.ToString("dd-MM-yyyyHHmm"); // Nombre del archivo string fileName = string.Format("{0}-{1}-{2}.pdf", "Eventos", filter.campo, fecha); // Generación del PDF fs = new FileStream(System.IO.Path.Combine(filePath, fileName), FileMode.Create, FileAccess.Write, FileShare.None); writer = PdfWriter.GetInstance(doc, fs); doc.Open(); string pathImg1 = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\logo_farmix.jpg"); Image image1; if (Image.GetInstance(pathImg1) != null) { image1 = Image.GetInstance(pathImg1); image1.ScalePercent(24F); image1.Alignment = Element.ALIGN_CENTER; doc.Add(image1); } //añadimos linea negra abajo de las imagenes para separar. doc.Add(new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(2.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1)))); doc.Add(new Paragraph(" ")); //Inicio datos var lista = GetList(filter); Font fuente1 = new Font(FontFamily.TIMES_ROMAN, 12.0f, Font.BOLD, BaseColor.BLACK); Font fuente2 = new Font(FontFamily.TIMES_ROMAN, 14.0f, Font.BOLD, BaseColor.BLACK); Rectangle rect = PageSize.LETTER; List <IElement> ie; float pageWidth = rect.Width; string html = ""; fecha = DateTime.Now.ToString("dd-MM-yyyy HH:mm"); html = @" <html><head></head><body> <table> <tr><td><b>Eventos</b></td></tr> <tr><td>Campo: <b>" + filter.campo + @"</b></td></tr> <tr><td>Generado por: <b>" + filter.usuario + @"</b></td></tr> <tr><td>Fecha: <b>" + fecha + @"</b></td></tr> <tr><td>Período: <b>" + filter.periodo + @"</b></td></tr> </table> </body></html>"; ie = HTMLWorker.ParseToList(new StringReader(html), null); foreach (IElement element in ie) { PdfPTable table1 = element as PdfPTable; if (table1 != null) { table1.SetWidthPercentage(new float[] { (float)1 * pageWidth }, rect); } doc.Add(element); } doc.Add(new Paragraph(" ")); if (lista.Count() > 0) { string caravana, tipoEvento = "Sin datos"; if (filter.numCaravana == 0) { caravana = "Sin datos"; } else { caravana = filter.numCaravana.ToString(); } if (filter.idTipoEvento != 0) { switch (filter.idTipoEvento) { case 1: tipoEvento = "Vacunación"; break; case 2: tipoEvento = "Antibiótico"; break; case 3: tipoEvento = "Manejo"; break; case 4: tipoEvento = "Alimenticio"; break; } } html = @" <html><head></head><body> <table> <tr><td><b>Filtro Aplicado</b></td><td></td><td></td><td></td></tr> </table> <table border='1'> <thead> <tr> <th>Caravana</th> <th>Tipo Evento</th> <th>Fecha Desde</th> <th>Fecha Hasta</th>"; html += @"</tr> </thead> <tbody> <tr><td>" + caravana + @"</td><td>" + tipoEvento + @"</td><td>" + (filter.fechaDesde == null ? "Sin datos" : filter.fechaDesde) + @"</td><td>" + (filter.fechaHasta == null ? "Sin datos" : filter.fechaHasta) + @"</td></tr> </tbody></table></body></html>"; ie = HTMLWorker.ParseToList(new StringReader(html), null); foreach (IElement element in ie) { PdfPTable table = element as PdfPTable; if (table != null) { table.SetWidthPercentage(new float[] { (float).2 * pageWidth, (float).2 * pageWidth, (float).2 * pageWidth, (float).2 * pageWidth }, rect); } doc.Add(element); } doc.Add(new Paragraph(" ")); html = @" <html><head></head><body> <table border='1'> <thead> <tr> <th>Tipo Evento</th> <th>Fecha Evento</th> <th>Bovinos que participaron</th> </tr> </thead> <tbody>"; foreach (var item in lista) { html += @"<tr><td>" + item.tipoEvento + @"</td><td>" + item.fechaHora + @"</td><td>" + item.cantidadBovinos + @"</td></tr>"; } html += @"</tbody></table> </body></html> "; ie = HTMLWorker.ParseToList(new StringReader(html), null); foreach (IElement element in ie) { PdfPTable table = element as PdfPTable; if (table != null) { table.SetWidthPercentage(new float[] { (float).3 * pageWidth, (float).3 * pageWidth, (float).3 * pageWidth }, rect); } doc.Add(element); } } doc.Close(); return(new Documento() { nombre = fileName }); } catch (Exception ex) { doc.Close(); throw ex; } finally { fs = null; doc = null; writer = null; } }