Esempio n. 1
0
        public IHttpActionResult ReporteGastos(int gastoId)
        {
            try
            {
                var gastosDb = db.Gasto.Where(a => a.GastoId == gastoId).ToList();
                var gastos   = gastosDb.Select(a => new Models.DTO.Gasto
                {
                    centroCostos     = a.CentroCosto.Descripcion,
                    usuario          = a.Usuario1.Nombre + " " + a.Usuario1.Paterno + " " + a.Usuario1.Materno,
                    fechaInicio      = a.FechaFin.ToString("dd/MM/yyyy", Cultura),
                    fechaFin         = a.FechaFin.ToString("dd/MM/yyyy", Cultura),
                    efectivo         = a.Efectivo,
                    chequeTransNuevo = a.ChequeTans,
                    fechaNuevo       = a.FechasChequeTans != null ? a.FechasChequeTans?.ToString("dd/MM/yyyy", Cultura) : "SF",
                    numeroNuevo      = a.NumeroChequeTans != "" ? a.NumeroChequeTans : "SN",
                    usuarioGenero    = a.Usuario.Nombre + " " + a.Usuario.Paterno + " " + a.Usuario.Materno
                }).ToList();

                var gastoDetalle = gastosDb.FirstOrDefault().GastoDetalle.Select(b => new Models.DTO.GastoDetalle
                {
                    comprobanteTipo = b.ComprobanteTipo.Descripcion,
                    fecha           = b.Fecha.ToString("dd/MM/yyyy", Cultura),
                    concepto        = b.SubConcepto.Concepto.Descripcion,
                    subConcepto     = b.SubConcepto.Descripcion,
                    descripcion     = b.Descripcion,
                    proveedor       = b.Proveedor,
                    subTotal        = b.SubTotal,
                    iva             = b.Iva,
                    total           = b.Total,
                }).ToList();

                reports.Gastos rptGastos = new reports.Gastos();

                rptGastos.Database.Tables["Gasto"].SetDataSource(gastos);
                rptGastos.Database.Tables["GastoDetalle"].SetDataSource(gastoDetalle);

                Stream PDFContrato;
                PDFContrato = rptGastos.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);

                var MemoryStream = new MemoryStream();
                PDFContrato.CopyTo(MemoryStream);

                byte[] result = MemoryStream.ToArray();

                var res = Convert.ToBase64String(result);

                return(Ok(res));
            }
            catch (Exception Ex)
            {
                return(BadRequest("Error"));
            }
        }
Esempio n. 2
0
        public IHttpActionResult ReporteEvento(int eventoId)
        {
            try
            {
                var eventoDb = db.Evento.Where(a => a.EventoId == eventoId).ToList();
                var evento   = eventoDb.Select(a => new Models.DTO.Evento
                {
                    folio            = a.CentroCosto.Nomenglatura + a.EventoId,
                    centroCostos     = a.CentroCosto.Descripcion,
                    lugarEvento      = a.LugarEvento,
                    nombreEvento     = a.NombreEvento,
                    eventoTipo       = a.EventoTipo.Descripcion,
                    instructor       = a.Usuario.Nombre + " " + a.Usuario.Paterno + " " + a.Usuario.Materno,
                    fechaEvento      = a.FechaEvento.ToString("dd/MM/yyyy", Cultura),
                    efectivo         = a.Efectivo,
                    chequeTans       = a.ChequeTans,
                    fechachequeTans  = a.FechasChequeTans != null ? a.FechasChequeTans?.ToString("dd/MM/yyyy", Cultura) : "SF",
                    numeroChequeTans = a.NumeroChequeTans != "" ? a.NumeroChequeTans : "SN",
                    usuarioGenero    = a.Usuario1.Nombre + " " + a.Usuario1.Paterno + " " + a.Usuario1.Materno,
                    totalGastosD     = a.EventoGastoDetalle.Sum(s => s.Total)
                }).ToList();


                var donantes = eventoDb.FirstOrDefault().EventoDonante.Select(b => new Donantes
                {
                    donanteId = b.DonanteId,
                    nombre    = b.Nombre + " " + b.Apellido,
                    efectivo  = b.Efectivo,
                    deposito  = b.DepositooTransferencia,
                    cheque    = b.Cheque,
                    tarjeta   = b.TarjetaCredito,
                    email     = b.Email,
                    celular   = b.Celular
                }).ToList();

                var gastos = eventoDb.FirstOrDefault().EventoGastoDetalle.Select(b => new Models.DTO.EventoGastoDetalle
                {
                    comprobanteTipo = b.ComprobanteTipo.Descripcion,
                    fecha           = b.Fecha.ToString("dd/MM/yyyy", Cultura),
                    concepto        = b.SubConcepto.Concepto.Descripcion,
                    subConcepto     = b.SubConcepto.Descripcion,
                    descripcion     = b.Descripcion,
                    proveedor       = b.Proveedor,
                    subTotal        = b.SubTotal,
                    iva             = b.Iva,
                    total           = b.Total
                }).ToList();

                reports.Eventos rptEvento = new reports.Eventos();

                rptEvento.Database.Tables["Evento"].SetDataSource(evento);
                rptEvento.Database.Tables["EventoDonante"].SetDataSource(donantes);
                rptEvento.Database.Tables["EventoGastoDetalle"].SetDataSource(gastos);

                Stream PDFContrato;
                PDFContrato = rptEvento.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);

                var MemoryStream = new MemoryStream();
                PDFContrato.CopyTo(MemoryStream);

                byte[] result = MemoryStream.ToArray();

                var res = Convert.ToBase64String(result);

                return(Ok(res));
            }
            catch (Exception Ex)
            {
                return(BadRequest("Error"));
            }
        }