Example #1
0
 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;
     }
 }
Example #2
0
        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());
        }
Example #3
0
        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());
        }
Example #4
0
        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));
        }
Example #5
0
        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);
        }
Example #6
0
        public ActionResult ListAluno(EventoFilter filter)
        {
            Usuario user = GetSessionUser();

            return(PartialView("_List", eventoRepository.GetByFilterAluno(user.IdUsuario, filter).Where(x => DateTime.Now < x.DataFim).ToList()));
        }
Example #7
0
        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
            {
            }
        }
Example #8
0
        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;
            }
        }