public DatosTraspasoAF verSolicitudTraspaso(int idSolicitud) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { DatosTraspasoAF odatos = new DatosTraspasoAF(); SolicitudTraspaso oSolicitud = bd.SolicitudTraspaso.Where(p => p.IdSolicitud == idSolicitud).First(); ActivoFijo oActivo = bd.ActivoFijo.Where(p => p.IdBien == oSolicitud.IdBien).First(); Empleado oEmpleado = bd.Empleado.Where(p => p.IdEmpleado == oActivo.IdResponsable).First(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oEmpleado.IdAreaDeNegocio).First(); Sucursal oSucursal = bd.Sucursal.Where(p => p.IdSucursal == oArea.IdSucursal).First(); odatos.NoSolicitud = oSolicitud.IdSolicitud; odatos.fechacadena = oSolicitud.Fecha == null ? " " : ((DateTime)oSolicitud.Fecha).ToString("dd-MM-yyyy"); odatos.folio = oSolicitud.Folio; odatos.idbien = (int)oSolicitud.IdBien; odatos.areanegocioactual = oSolicitud.NuevaAreadenegocio; odatos.areanegocioanterior = oSolicitud.AreadenegocioAnterior; odatos.responsableactual = oSolicitud.NuevoResponsable; odatos.responsableanterior = oSolicitud.ResponsableAnterior; odatos.Codigo = oActivo.CorrelativoBien; odatos.Descripcion = oActivo.Desripcion; odatos.idresponsable = (int)oSolicitud.IdResponsable; odatos.acuerdo = oSolicitud.Acuerdo; return(odatos); } }
public AreasDeNegocioAF RecuperarAreaNegocio(int id) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { AreasDeNegocioAF oAreaAF = new AreasDeNegocioAF(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == id).First(); oAreaAF.IdAreaNegocio = oArea.IdAreaNegocio; oAreaAF.Nombre = oArea.Nombre; oAreaAF.IdSucursal = (int)oArea.IdSucursal; oAreaAF.Correlativo = oArea.Correlativo; return(oAreaAF); } }
public int cambiarEstadoAceptoTraspaso([FromBody] TraspasoAF oTraspasoAF) { int respuesta = 0; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { SolicitudTraspaso oSolicitudT = bd.SolicitudTraspaso.Where(p => p.IdSolicitud == oTraspasoAF.idsolicitud).First(); ActivoFijo oActivo = bd.ActivoFijo.Where(p => p.IdBien == oSolicitudT.IdBien).First(); CodigoAF oCodigo = new CodigoAF(); Empleado oEmpleadoNuevo = bd.Empleado.Where(p => p.IdEmpleado == oTraspasoAF.idEmpleado).First(); Empleado oEmpleadoAnterior = bd.Empleado.Where(p => p.IdEmpleado == oActivo.IdResponsable).First(); AreaDeNegocio oarea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oEmpleadoNuevo.IdAreaDeNegocio).First(); Sucursal osucursal = bd.Sucursal.Where(p => p.IdSucursal == oarea.IdSucursal).First(); Clasificacion oclasificacion = bd.Clasificacion.Where(p => p.IdClasificacion == oActivo.IdClasificacion).First(); if (oEmpleadoNuevo.IdAreaDeNegocio == oEmpleadoAnterior.IdAreaDeNegocio) { oActivo.EstadoActual = 1; oSolicitudT.Acuerdo = oTraspasoAF.acuerdo; oSolicitudT.Fechatraspaso = Convert.ToDateTime(oTraspasoAF.fechasolicitud); oActivo.IdResponsable = (int)oSolicitudT.IdResponsable; bd.SaveChanges(); respuesta = 1; } else { string corre = oActivo.CorrelativoBien; string[] slices = corre.Split("-"); oCodigo.CorrelativoSucursal = osucursal.Correlativo; oCodigo.CorrelativoArea = oarea.Correlativo; oCodigo.CorrelativoClasificacion = oclasificacion.Correlativo; oActivo.CorrelativoBien = oCodigo.CorrelativoSucursal + "-" + oCodigo.CorrelativoArea + "-" + oCodigo.CorrelativoClasificacion + "-" + slices[3]; oActivo.EstadoActual = 1; oSolicitudT.Acuerdo = oTraspasoAF.acuerdo; oSolicitudT.Fechatraspaso = Convert.ToDateTime(oTraspasoAF.fechasolicitud); oActivo.IdResponsable = (int)oSolicitudT.IdResponsable; //para hacer el cambio de ids bd.SaveChanges(); respuesta = 1; } } } catch (Exception ex) { respuesta = 0; } return(respuesta); }
public InformeMatenimientoAF datosHistorial(int idbien) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { InformeMatenimientoAF odatos = new InformeMatenimientoAF(); ActivoFijo oActivo = bd.ActivoFijo.Where(p => p.IdBien == idbien).First(); odatos.descripcion = oActivo.Desripcion; odatos.codigo = oActivo.CorrelativoBien; odatos.idBien = oActivo.IdBien; Empleado oempleado = bd.Empleado.Where(p => p.IdEmpleado == oActivo.IdResponsable).First(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).First(); odatos.encargado = oempleado.Nombres + " " + oempleado.Apellidos; odatos.areadenegocio = oArea.Nombre; return(odatos); } }
public DatosGenerlesAF DatosGenerales(int id) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { DatosGenerlesAF oDatosF = new DatosGenerlesAF(); ActivoFijo oActivo = bd.ActivoFijo.Where(p => p.IdBien == id).First(); FormularioIngreso oFOrmulario = bd.FormularioIngreso.Where(p => p.NoFormulario == oActivo.NoFormulario).First(); Empleado oEmpleado = bd.Empleado.Where(p => p.IdEmpleado == oActivo.IdResponsable).First(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oEmpleado.IdAreaDeNegocio).First(); Sucursal oSucursal = bd.Sucursal.Where(p => p.IdSucursal == oArea.IdSucursal).First(); if (oActivo.IdProveedor != null) { Proveedor oProveedor = bd.Proveedor.Where(p => p.IdProveedor == oActivo.IdProveedor).First(); oDatosF.ProvDon = oProveedor.Nombre; oDatosF.IsProvDon = 1; } else { Donantes oDonante = bd.Donantes.Where(p => p.IdDonante == oActivo.IdDonante).First(); oDatosF.ProvDon = oDonante.Nombre; oDatosF.IsProvDon = 2; } if (oActivo.IdProveedor == null && oActivo.IdDonante == null) { oDatosF.ProvDon = ""; } TarjetaDepreciacion oTarjeta = bd.TarjetaDepreciacion.Where(p => p.IdBien == oActivo.IdBien).Last(); oDatosF.idBien = (int)oActivo.IdBien; oDatosF.descripcion = oActivo.Desripcion; oDatosF.fecha = oFOrmulario.FechaIngreso == null ? " " : ((DateTime)oFOrmulario.FechaIngreso).ToString("dd-MM-yyyy"); oDatosF.codigo = oActivo.CorrelativoBien; oDatosF.valorAquisicion = oActivo.ValorAdquicicion.ToString(); oDatosF.Respondable = oEmpleado.Nombres + " " + oEmpleado.Apellidos; oDatosF.Ubicacion = oArea.Nombre + " - " + oSucursal.Nombre; oDatosF.valorActual = oTarjeta.ValorActual.ToString(); oDatosF.NoSerie = oActivo.NoSerie; oDatosF.VidaUtil = oActivo.VidaUtil.ToString(); oDatosF.Observaciones = oFOrmulario.Observaciones; oDatosF.foto = oActivo.Foto; return(oDatosF); } }
public int validarArea(int idSucursal) { int res = 0; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdSucursal == idSucursal && p.Dhabilitado == 1).First(); res = 1; } } catch (Exception ex) { res = 0; } return(res); }
public BienesSolicitadosMttoAF DatosSolicitud(int idSolicitud) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { BienesSolicitadosMttoAF odatos = new BienesSolicitadosMttoAF(); SolicitudMantenimiento osolicitud = bd.SolicitudMantenimiento.Where(p => p.IdSolicitud == idSolicitud).First(); odatos.NoSolicitud = "00" + osolicitud.IdSolicitud.ToString(); odatos.fechacadena = osolicitud.Fecha == null ? " " : ((DateTime)osolicitud.Fecha).ToString("dd-MM-yyyy"); BienMantenimiento obienMtto = bd.BienMantenimiento.Where(p => p.IdSolicitud == osolicitud.IdSolicitud).First(); ActivoFijo obien = bd.ActivoFijo.Where(p => p.IdBien == obienMtto.IdBien).First(); Empleado oempleado = bd.Empleado.Where(p => p.IdEmpleado == obien.IdResponsable).First(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).First(); odatos.jefe = oempleado.Nombres + " " + oempleado.Apellidos; odatos.areanegocio = oArea.Nombre; return(odatos); } }
public DatosGeneralesEmpleadoAF DatosGeneralesEmpleado(int idempleado) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { DatosGeneralesEmpleadoAF oDatosAF = new DatosGeneralesEmpleadoAF(); Empleado oEmpleado = bd.Empleado.Where(p => p.IdEmpleado == idempleado).First(); Cargos oCargo = bd.Cargos.Where(p => p.IdCargo == oEmpleado.IdCargo).First(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oEmpleado.IdAreaDeNegocio).First(); Sucursal oSucursal = bd.Sucursal.Where(p => p.IdSucursal == oArea.IdSucursal).First(); oDatosAF.dui = oEmpleado.Dui; oDatosAF.nombres = oEmpleado.Nombres; oDatosAF.apellidos = oEmpleado.Apellidos; oDatosAF.direccion = oEmpleado.Direccion; oDatosAF.telefono = oEmpleado.Telefono; oDatosAF.telefonopersonal = oEmpleado.TelefonoPersonal; oDatosAF.email = oEmpleado.Email; if (oCargo == null) { oDatosAF.cargo = ""; } else { oDatosAF.cargo = oCargo.Cargo; } if (oArea == null) { oDatosAF.nombrearea = ""; oDatosAF.nombresucursal = ""; } else { oDatosAF.nombrearea = oArea.Nombre; oDatosAF.nombresucursal = oSucursal.Nombre; } oDatosAF.ubicacion = oSucursal.Ubicacion; return(oDatosAF); } }
public int eliminarArea(int idArea) { int res; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == idArea).First(); oArea.Dhabilitado = 0; bd.SaveChanges(); res = 1; } } catch (Exception ex) { res = 0; } return(res); }
public int validarRefereciaActivo(int idSucursal) { int res = 0; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdSucursal == idSucursal && p.Dhabilitado == 1).First(); Empleado Oempleado = bd.Empleado.Where(p => p.IdAreaDeNegocio == oArea.IdAreaNegocio && p.Dhabilitado == 1).First(); ActivoFijo oActivo = bd.ActivoFijo.Where(p => p.IdResponsable == Oempleado.IdEmpleado && p.EstadoActual != 0).First(); res = 1; } } catch (Exception ex) { res = 0; } return(res); }
public DetallesUsuariosAF RecuperarDetallesusuarios(int id) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { DetallesUsuariosAF oUsuarioAF = new DetallesUsuariosAF(); Usuario oUsuario = bd.Usuario.Where(p => p.IdUsuario == id).First(); Empleado oEmpleado = bd.Empleado.Where(p => p.IdEmpleado == oUsuario.IdEmpleado).FirstOrDefault(); TipoUsuario oTipo = bd.TipoUsuario.Where(p => p.IdTipoUsuario == oUsuario.IdTipoUsuario).FirstOrDefault(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oEmpleado.IdAreaDeNegocio).FirstOrDefault(); Sucursal oSucursal = bd.Sucursal.Where(p => p.IdSucursal == oArea.IdSucursal).FirstOrDefault(); oUsuarioAF.nombre = oEmpleado.Nombres + " " + oEmpleado.Apellidos; oUsuarioAF.nombreusuario = oUsuario.NombreUsuario; oUsuarioAF.tipousuario = oTipo.TipoUsuario1; oUsuarioAF.sucursal = oSucursal.Nombre; oUsuarioAF.area = oArea.Nombre; return(oUsuarioAF); } }
public int modificarArea([FromBody] AreasDeNegocioAF oAreaAF) { int rpta = 0; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oAreaAF.IdAreaNegocio).First(); oArea.IdAreaNegocio = oAreaAF.IdAreaNegocio; oArea.Nombre = oAreaAF.Nombre; oArea.IdSucursal = oAreaAF.IdSucursal; oArea.Correlativo = oAreaAF.Correlativo; bd.SaveChanges(); rpta = 1; } } catch (Exception ex) { rpta = 0; } return(rpta); }
public int guardarSolicitudTraspaso([FromBody] SolicitudTraspasoAF oSolicitudAF) { int respuesta = 0; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { SolicitudTraspaso oSolicitud = new SolicitudTraspaso(); oSolicitud.IdSolicitud = oSolicitudAF.idsolicitud; oSolicitud.IdBien = oSolicitudAF.idbien; oSolicitud.Fecha = oSolicitudAF.fechasolicitud; oSolicitud.Folio = oSolicitudAF.folio; oSolicitud.Descripcion = oSolicitudAF.descripcion; //en la bd se llaman responsableanterior y area anterior pero se guardarán los nuevos porque los anteriores serian los actuales. //oSolicitud.NuevaAreadenegocio = oSolicitudAF.nuevaarea; oSolicitud.NuevoResponsable = oSolicitudAF.nuevoresponsable; oSolicitud.AreadenegocioAnterior = oSolicitudAF.areaanterior; oSolicitud.ResponsableAnterior = oSolicitudAF.responsableanterior; oSolicitud.IdResponsable = oSolicitudAF.idresponsable; Empleado oEmpleado = bd.Empleado.Where(p => p.IdEmpleado == oSolicitud.IdResponsable).First(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oEmpleado.IdAreaDeNegocio).First(); Sucursal oSucursal = bd.Sucursal.Where(p => p.IdSucursal == oArea.IdSucursal).First(); oSolicitud.NuevoResponsable = oEmpleado.Nombres + " " + oEmpleado.Apellidos; oSolicitud.NuevaAreadenegocio = oArea.Nombre + " - " + oSucursal.Nombre + " - " + oSucursal.Ubicacion; oSolicitud.Estado = 1; bd.SolicitudTraspaso.Add(oSolicitud); bd.SaveChanges(); respuesta = 1; } } catch (Exception ex) { respuesta = 0; } return(respuesta); }
public int aregarMarca([FromBody] AreasDeNegocioAF oAreaAF) { int res = 0; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { AreaDeNegocio oArea = new AreaDeNegocio(); oArea.IdAreaNegocio = oAreaAF.IdAreaNegocio; oArea.Nombre = oAreaAF.Nombre; oArea.IdSucursal = oAreaAF.IdSucursal; oArea.Correlativo = oAreaAF.Correlativo; oArea.Dhabilitado = 1; bd.AreaDeNegocio.Add(oArea); bd.SaveChanges(); res = 1; } } catch (Exception) { res = 0; } return(res); }
public IEnumerable <CuadroControlExcelAF> listarCuadroControlJefeExcel(int idJefe) { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { Empleado oempleado = bd.Empleado.Where(p => p.IdEmpleado == idJefe).FirstOrDefault(); AreaDeNegocio oarea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).FirstOrDefault(); IEnumerable <CuadroControlExcelAF> listacuadro = ( from tarjeta in bd.TarjetaDepreciacion group tarjeta by tarjeta.IdBien into bar join cuadro in bd.ActivoFijo on bar.FirstOrDefault().IdBien equals cuadro.IdBien join noFormulario in bd.FormularioIngreso on cuadro.NoFormulario equals noFormulario.NoFormulario join clasif in bd.Clasificacion on cuadro.IdClasificacion equals clasif.IdClasificacion join resposable in bd.Empleado on cuadro.IdResponsable equals resposable.IdEmpleado join area in bd.AreaDeNegocio on resposable.IdAreaDeNegocio equals area.IdAreaNegocio where area.IdAreaNegocio == oarea.IdAreaNegocio //where cuadro.EstadoActual == 1 && cuadro.EstaAsignado == 1 select new CuadroControlExcelAF() { codigo = cuadro.CorrelativoBien, descripcion = cuadro.Desripcion, valorAdquisicion = (double)cuadro.ValorAdquicicion, fechaAdquisicion = noFormulario.FechaIngreso == null ? " " : ((DateTime)noFormulario.FechaIngreso).ToString("dd-MM-yyyy"), valoractual = Math.Round(((double)bar.OrderByDescending(x => x.IdTarjeta).First().ValorActual), 2), depreciacion = Math.Round(((double)bar.OrderByDescending(x => x.IdTarjeta).First().DepreciacionAnual), 2), depreciacionAcumulada = Math.Round(((double)bar.Sum(x => x.DepreciacionAnual)), 2), ubicacion = area.Nombre, responsable = resposable.Nombres + " " + resposable.Apellidos }).ToList(); return(listacuadro); } }
public async Task <IActionResult> activosEnManteJefePdf(int idJefe) { Document doc = new Document(PageSize.Letter); doc.SetMargins(40f, 40f, 40f, 40f); MemoryStream ms = new MemoryStream(); PdfWriter writer = PdfWriter.GetInstance(doc, ms); //Instanciamos la clase para el paginado y la fecha de impresión var pe = new PageEventHelper(); writer.PageEvent = pe; doc.AddAuthor("Asgard"); doc.AddTitle("Reporte activos en mantenimiento"); doc.Open(); //Inicia cuerpo del reporte //Estilo y fuente personalizada BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true); iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true); iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente3 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true); iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente4 = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true); iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); //Para las celdas BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true); iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); //Encabezado using (BDAcaassAFContext bd = new BDAcaassAFContext()) { CooperativaAF oCooperativaAF = new CooperativaAF(); Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First(); oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa; oCooperativaAF.nombre = oCooperativa.Nombre; oCooperativaAF.descripcion = oCooperativa.Descripcion; //Se agrega el encabezado var tbl1 = new PdfPTable(new float[] { 11f, 89f }) { WidthPercentage = 100f }; tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2)) { Border = 0, Rowspan = 2 }); tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2)) { Border = 0, HorizontalAlignment = 1 }); tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3)) { Border = 0, HorizontalAlignment = 1 }); doc.Add(tbl1); doc.Add(new Phrase("\n")); } doc.Add(new Phrase("\n")); //Línea separadora Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f)); doc.Add(linea); doc.Add(new Paragraph("REPORTE DE ACTIVOS EN MANTENIMIENTO", parrafo) { Alignment = Element.ALIGN_CENTER }); //Espacio en blanco doc.Add(Chunk.Newline); //Agregamos una tabla var tbl = new PdfPTable(new float[] { 25f, 40f, 40f, 40f }) { WidthPercentage = 100f }; var c1 = new PdfPCell(new Phrase("CÓDIGO", parrafo2)); var c2 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2)); var c3 = new PdfPCell(new Phrase("RAZONES DE MANTENIMIENTO", parrafo2)); var c4 = new PdfPCell(new Phrase("PERÍODO DE MANTENIMIENTO", parrafo2)); //Agregamos a la tabla las celdas tbl.AddCell(c1); tbl.AddCell(c2); tbl.AddCell(c3); tbl.AddCell(c4); //Extraemos de la base y llenamos las celdas using (BDAcaassAFContext bd = new BDAcaassAFContext()) { Empleado oempleado = bd.Empleado.Where(p => p.IdEmpleado == idJefe).FirstOrDefault(); AreaDeNegocio oarea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).FirstOrDefault(); IEnumerable <BienesSolicitadosMttoAF> lista = (from bienMtto in bd.BienMantenimiento join activo in bd.ActivoFijo on bienMtto.IdBien equals activo.IdBien join solicitud in bd.SolicitudMantenimiento on bienMtto.IdSolicitud equals solicitud.IdSolicitud join resposable in bd.Empleado on activo.IdResponsable equals resposable.IdEmpleado join area in bd.AreaDeNegocio on resposable.IdAreaDeNegocio equals area.IdAreaNegocio // join informe in bd.InformeMantenimiento // on bienMtto.IdMantenimiento equals informe.IdMantenimiento where activo.EstadoActual == 3 && bienMtto.Estado == 1 && area.IdAreaNegocio == oarea.IdAreaNegocio //ELEMENTO 2 LISTA select new BienesSolicitadosMttoAF { idBien = activo.IdBien, idmantenimiento = bienMtto.IdMantenimiento, estadoActual = (int)activo.EstadoActual, Codigo = activo.CorrelativoBien, Descripcion = activo.Desripcion, Periodo = bienMtto.PeriodoMantenimiento, Razon = bienMtto.RazonMantenimiento, fechacadena = solicitud.Fecha == null ? " " : ((DateTime)solicitud.Fecha).ToString("dd-MM-yyyy"), }).ToList(); foreach (var activosmante in lista) { c1.Phrase = new Phrase(activosmante.Codigo, parrafo5); c2.Phrase = new Phrase(activosmante.Descripcion, parrafo5); c3.Phrase = new Phrase(activosmante.Razon, parrafo5); c4.Phrase = new Phrase(activosmante.Periodo, parrafo5); //Agregamos a la tabla tbl.AddCell(c1); tbl.AddCell(c2); tbl.AddCell(c3); tbl.AddCell(c4); } //INICIO DE ADICIÓN DE LOGO CooperativaAF oCooperativaAF = new CooperativaAF(); Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First(); oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa; try { iTextSharp.text.Image logo = null; logo = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString()); logo.Alignment = iTextSharp.text.Image.ALIGN_LEFT; logo.Border = iTextSharp.text.Rectangle.NO_BORDER; logo.BorderColor = iTextSharp.text.BaseColor.White; logo.ScaleToFit(170f, 100f); float ancho = logo.Width; float alto = logo.Height; float proporcion = alto / ancho; logo.ScaleAbsoluteWidth(80); logo.ScaleAbsoluteHeight(80 * proporcion); logo.SetAbsolutePosition(40f, 695f); doc.Add(logo); } catch (DocumentException dex) { //log exception here } //FIN DE ADICIÓN DE LOGO } doc.Add(tbl); writer.Close(); doc.Close(); ms.Seek(0, SeekOrigin.Begin); return(File(ms, "application/pdf")); }
public async Task <IActionResult> historialmantenimientopdf(int idbien) { Document doc = new Document(PageSize.Letter); doc.SetMargins(40f, 40f, 40f, 40f); MemoryStream ms = new MemoryStream(); PdfWriter writer = PdfWriter.GetInstance(doc, ms); //Instanciamos la clase para el paginado y la fecha de impresión var pe = new PageEventHelper(); writer.PageEvent = pe; doc.AddAuthor("Asgard"); doc.AddTitle("Reporte historial mantenimiento"); doc.Open(); //Inicia cuerpo del reporte //Estilo y fuente personalizada BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true); iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true); iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente3 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true); iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente4 = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true); iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); //Para las celdas BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true); iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); //Fuente para tarjeta BaseFont fuente6 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, true); iTextSharp.text.Font parrafo6 = new iTextSharp.text.Font(fuente2, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente7 = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true); iTextSharp.text.Font parrafo7 = new iTextSharp.text.Font(fuente, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente8 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true); iTextSharp.text.Font parrafo8 = new iTextSharp.text.Font(fuente2, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); //Encabezado using (BDAcaassAFContext bd = new BDAcaassAFContext()) { CooperativaAF oCooperativaAF = new CooperativaAF(); Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First(); oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa; oCooperativaAF.nombre = oCooperativa.Nombre; oCooperativaAF.descripcion = oCooperativa.Descripcion; //Se agrega el encabezado var tbl1 = new PdfPTable(new float[] { 11f, 89f }) { WidthPercentage = 100f }; tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2)) { Border = 0, Rowspan = 2 }); tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2)) { Border = 0, HorizontalAlignment = 1 }); tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3)) { Border = 0, HorizontalAlignment = 1 }); doc.Add(tbl1); doc.Add(new Phrase("\n")); } doc.Add(new Phrase("\n")); //Línea separadora Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f)); doc.Add(linea); doc.Add(new Paragraph("REPORTE HISTORIAL DE MANTENIMIENTO ", parrafo) { Alignment = Element.ALIGN_CENTER }); //Espacio en blanco doc.Add(Chunk.Newline); //Extraemos de la base y llenamos las celdas using (BDAcaassAFContext bd = new BDAcaassAFContext()) { InformeMatenimientoAF odatos = new InformeMatenimientoAF(); ActivoFijo oActivo = bd.ActivoFijo.Where(p => p.IdBien == idbien).First(); odatos.descripcion = oActivo.Desripcion; odatos.codigo = oActivo.CorrelativoBien; Empleado oempleado = bd.Empleado.Where(p => p.IdEmpleado == oActivo.IdResponsable).First(); AreaDeNegocio oArea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).First(); odatos.encargado = oempleado.Nombres + " " + oempleado.Apellidos; odatos.areadenegocio = oArea.Nombre; // return odatos; //Cuerpo de la tarjeta var tbl1 = new PdfPTable(new float[] { 4f, 7f, 5f, 7f }) { WidthPercentage = 100f }; tbl1.AddCell(new PdfPCell(new Phrase("Correlativo: ", parrafo6)) { Border = 0, Rowspan = 2 }); tbl1.AddCell(new PdfPCell(new Phrase(odatos.codigo, parrafo7)) { Border = 0 }); tbl1.AddCell(new PdfPCell(new Phrase("Descripción de activo: ", parrafo6)) { Border = 0, Rowspan = 2 }); tbl1.AddCell(new PdfPCell(new Phrase(odatos.descripcion, parrafo7)) { Border = 0 }); var tbl2 = new PdfPTable(new float[] { 4f, 7f, 5f, 7f }) { WidthPercentage = 100f }; tbl2.AddCell(new PdfPCell(new Phrase("Encargado actual: ", parrafo6)) { Border = 0, Rowspan = 2 }); tbl2.AddCell(new PdfPCell(new Phrase(odatos.encargado, parrafo7)) { Border = 0 }); tbl2.AddCell(new PdfPCell(new Phrase("Área de negocio actual: ", parrafo6)) { Border = 0, Rowspan = 2 }); tbl2.AddCell(new PdfPCell(new Phrase(odatos.areadenegocio, parrafo7)) { Border = 0 }); doc.Add(tbl1); doc.Add(Chunk.Newline); doc.Add(tbl2); doc.Add(Chunk.Newline); //Tabla de transacciones // doc.Add(new Paragraph("TABLA HISTORIAL DE TRASPASOS", parrafo2) { Alignment = Element.ALIGN_CENTER }); //Agregamos una tabla //Agregamos una tabla var tbl = new PdfPTable(new float[] { 25f, 30f, 25f, 30f, 20f, 40f }) { WidthPercentage = 100f }; var c1 = new PdfPCell(new Phrase("FECHA", parrafo2)); var c2 = new PdfPCell(new Phrase("TÉCNICO", parrafo2)); var c3 = new PdfPCell(new Phrase("MANO DE OBRA", parrafo2)); var c4 = new PdfPCell(new Phrase("MATERIALES", parrafo2)); var c5 = new PdfPCell(new Phrase("COSTO TOTAL", parrafo2)); var c6 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2)); //Agregamos a la tabla las celdas tbl.AddCell(c1); tbl.AddCell(c2); tbl.AddCell(c3); tbl.AddCell(c4); tbl.AddCell(c5); tbl.AddCell(c6); IEnumerable <InformeMatenimientoAF> lista = (from tecnico in bd.Tecnicos join informemante in bd.InformeMantenimiento on tecnico.IdTecnico equals informemante.IdTecnico join bienmante in bd.BienMantenimiento on informemante.IdMantenimiento equals bienmante.IdMantenimiento join bienes in bd.ActivoFijo on bienmante.IdBien equals bienes.IdBien where bienes.IdBien == idbien //&& informemante.Estado == 0 || informemante.Estado == 2 || informemante.Estado == 1 orderby bienes.CorrelativoBien select new InformeMatenimientoAF { idinformematenimiento = informemante.IdInformeMantenimiento, idBien = bienes.IdBien, idmantenimiento = (int)informemante.IdMantenimiento, fechacadena = informemante.Fecha == null ? " " : ((DateTime)informemante.Fecha).ToString("dd-MM-yyyy"), nombretecnico = tecnico.Nombre, codigo = bienes.CorrelativoBien, descripcion = informemante.Descripcion, costomateriales = (double)informemante.CostoMateriales, costomo = (double)informemante.CostoMo, costototal = (double)informemante.CostoTotal, bienes = bienes.Desripcion }).ToList(); foreach (var historialmante in lista) { c1.Phrase = new Phrase(historialmante.fechacadena, parrafo5); c2.Phrase = new Phrase(historialmante.nombretecnico, parrafo5); c3.Phrase = new Phrase("$" + historialmante.costomo.ToString(), parrafo5); c4.Phrase = new Phrase("$" + historialmante.costomateriales.ToString(), parrafo5); c5.Phrase = new Phrase("$" + historialmante.costototal.ToString(), parrafo5); c6.Phrase = new Phrase(historialmante.descripcion, parrafo5); //Agregamos a la tabla tbl.AddCell(c1); tbl.AddCell(c2); tbl.AddCell(c3); tbl.AddCell(c4); tbl.AddCell(c5); tbl.AddCell(c6); } doc.Add(tbl); //INICIO DE ADICIÓN DE LOGO CooperativaAF oCooperativaAF = new CooperativaAF(); Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First(); oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa; try { iTextSharp.text.Image logo = null; logo = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString()); logo.Alignment = iTextSharp.text.Image.ALIGN_LEFT; logo.Border = iTextSharp.text.Rectangle.NO_BORDER; logo.BorderColor = iTextSharp.text.BaseColor.White; logo.ScaleToFit(170f, 100f); float ancho = logo.Width; float alto = logo.Height; float proporcion = alto / ancho; logo.ScaleAbsoluteWidth(80); logo.ScaleAbsoluteHeight(80 * proporcion); logo.SetAbsolutePosition(40f, 695f); doc.Add(logo); } catch (DocumentException dex) { //log exception here } //FIN DE ADICIÓN DE LOGO } writer.Close(); doc.Close(); ms.Seek(0, SeekOrigin.Begin); return(File(ms, "application/pdf")); }
public int guardarActivoFijo([FromBody] ActivoAF oActivoAF) { int rpta = 0; try { using (BDAcaassAFContext bd = new BDAcaassAFContext()) { //If para clasificar el tipo de activo if (oActivoAF.tipoactivo == 1) { ActivoFijo oActivoFijo = new ActivoFijo(); //Datos para la tabla activo fijo oActivoFijo.IdBien = oActivoAF.idbien; oActivoFijo.TipoActivo = oActivoAF.tipoactivo; FormularioIngreso oFormulario = bd.FormularioIngreso.Last(); oActivoFijo.NoFormulario = oFormulario.NoFormulario; oActivoFijo.Desripcion = oActivoAF.descripcion; oActivoFijo.TipoAdquicicion = oActivoAF.tipoadquicicion; oActivoFijo.IdClasificacion = oActivoAF.idclasificacion; oActivoFijo.VidaUtil = oActivoAF.vidautil; if (oActivoAF.tipoadquicicion == 3) { oActivoFijo.IdDonante = oActivoAF.idproveedor; } else { oActivoFijo.IdProveedor = oActivoAF.idproveedor; if (oActivoAF.tipoadquicicion == 2) { oActivoFijo.PlazoPago = oActivoAF.plazopago; oActivoFijo.Prima = oActivoAF.prima; oActivoFijo.CuotaAsignanda = oActivoAF.cuotaasignada; oActivoFijo.Intereses = oActivoAF.interes; } } oActivoFijo.EstadoIngreso = oActivoAF.estadoingreso; oActivoFijo.ValorAdquicicion = oActivoAF.valoradquicicion; oActivoFijo.Foto = oActivoAF.foto; oActivoFijo.ValorResidual = oActivoAF.valorresidual; oActivoFijo.EnSolicitud = 0; oActivoFijo.EstadoActual = 1; oActivoFijo.EstaAsignado = 0; bd.ActivoFijo.Add(oActivoFijo); bd.SaveChanges(); //Generar codigo //objeto de la clase codigo que contiene los elementos CodigoAF oCodigo = new CodigoAF(); //Extraer los datos padres de la base ActivoFijo oActivo = bd.ActivoFijo.Last(); Sucursal osucursal = bd.Sucursal.Where(p => p.IdSucursal == oActivoAF.idsucursal).First(); Clasificacion oclasificacion = bd.Clasificacion.Where(p => p.IdClasificacion == oActivo.IdClasificacion).First(); //LLenado de objeto oCodigo.CorrelativoSucursal = osucursal.Correlativo; oCodigo.CorrelativoClasificacion = oclasificacion.Correlativo; //selccionar cuantos hay de esa clasificacion int oActivoC = bd.ActivoFijo.Where(p => p.EstaAsignado == 1 && p.IdClasificacion == oclasificacion.IdClasificacion).Count(); //comparar para la concatenacion correspondiente if (oActivoC >= 0 && oActivoC <= 9) { oActivoC = oActivoC + 1; oCodigo.Correlativo = "00" + oActivoC.ToString(); } else if (oActivoC >= 10 && oActivoC <= 99) { oActivoC = oActivoC + 1; oCodigo.Correlativo = "0" + oActivoC.ToString(); } else { oActivoC = oActivoC + 1; oCodigo.Correlativo = oActivoC.ToString(); } oActivo.CorrelativoBien = oCodigo.CorrelativoSucursal + "-" + oCodigo.CorrelativoClasificacion + "-" + oCodigo.Correlativo; //Guardamos en la tabla activo fijo oActivo.DestinoInicial = osucursal.Nombre; oActivo.EstaAsignado = 1; bd.SaveChanges(); //Transaccion a tarjeta TarjetaDepreciacion transaccion = new TarjetaDepreciacion(); ActivoFijo oActivoFijoTransaccion = bd.ActivoFijo.Last(); transaccion.IdBien = oActivoFijoTransaccion.IdBien; transaccion.Fecha = oFormulario.FechaIngreso; transaccion.Concepto = "Compra"; transaccion.Valor = oActivoFijoTransaccion.ValorAdquicicion; transaccion.DepreciacionAnual = 0.00; transaccion.DepreciacionAcumulada = 0.00; transaccion.ValorActual = oActivoFijoTransaccion.ValorAdquicicion; transaccion.ValorTransaccion = oActivoFijoTransaccion.ValorAdquicicion; bd.TarjetaDepreciacion.Add(transaccion); bd.SaveChanges(); //Generar codigo } if (oActivoAF.tipoactivo == 2) { for (int i = 0; i < oActivoAF.cantidad; i++) { ActivoFijo oActivoFijo = new ActivoFijo(); //Datos para la tabla activo fijo oActivoFijo.IdBien = oActivoAF.idbien; oActivoFijo.TipoActivo = oActivoAF.tipoactivo; FormularioIngreso oFormulario = bd.FormularioIngreso.Last(); oActivoFijo.NoFormulario = oFormulario.NoFormulario; oActivoFijo.Desripcion = oActivoAF.descripcion; oActivoFijo.Modelo = oActivoAF.modelo; oActivoFijo.TipoAdquicicion = oActivoAF.tipoadquicicion; oActivoFijo.Color = oActivoAF.color; oActivoFijo.IdClasificacion = oActivoAF.idclasificacion; if (oActivoAF.idmarca != 0) { oActivoFijo.IdMarca = oActivoAF.idmarca; } else { oActivoFijo.IdMarca = null; } if (oActivoAF.tipoadquicicion == 3) { oActivoFijo.IdDonante = oActivoAF.idproveedor; } else { oActivoFijo.IdProveedor = oActivoAF.idproveedor; if (oActivoAF.tipoadquicicion == 2) { oActivoFijo.PlazoPago = oActivoAF.plazopago; oActivoFijo.Prima = oActivoAF.prima; oActivoFijo.CuotaAsignanda = oActivoAF.cuotaasignada; oActivoFijo.Intereses = oActivoAF.interes; } } oActivoFijo.EstadoIngreso = oActivoAF.estadoingreso; oActivoFijo.ValorAdquicicion = oActivoAF.valoradquicicion; oActivoFijo.Foto = oActivoAF.foto; oActivoFijo.ValorResidual = oActivoAF.valorresidual; //Linea de prueba en rama solicitud oActivoFijo.EnSolicitud = 0; oActivoFijo.EstaAsignado = 0; oActivoFijo.EstadoActual = 1; bd.ActivoFijo.Add(oActivoFijo); bd.SaveChanges(); //Transaccion a tarjeta TarjetaDepreciacion transaccion = new TarjetaDepreciacion(); ActivoFijo oActivoFijoTransaccion = bd.ActivoFijo.Last(); transaccion.IdBien = oActivoFijoTransaccion.IdBien; transaccion.Fecha = oFormulario.FechaIngreso; transaccion.Concepto = "Compra"; transaccion.Valor = oActivoFijoTransaccion.ValorAdquicicion; transaccion.DepreciacionAnual = 0.00; transaccion.DepreciacionAcumulada = 0.00; transaccion.ValorActual = oActivoFijoTransaccion.ValorAdquicicion; transaccion.ValorTransaccion = oActivoFijoTransaccion.ValorAdquicicion; bd.TarjetaDepreciacion.Add(transaccion); bd.SaveChanges(); } } if (oActivoAF.tipoactivo == 3) { ActivoFijo oActivoFijo = new ActivoFijo(); //Datos para la tabla activo fijo oActivoFijo.IdBien = oActivoAF.idbien; oActivoFijo.TipoActivo = oActivoAF.tipoactivo; FormularioIngreso oFormulario = bd.FormularioIngreso.Last(); oActivoFijo.NoFormulario = oFormulario.NoFormulario; oActivoFijo.Desripcion = oActivoAF.descripcion; oActivoFijo.TipoAdquicicion = oActivoAF.tipoadquicicion; oActivoFijo.IdClasificacion = oActivoAF.idclasificacion; oActivoFijo.VidaUtil = oActivoAF.vidautil; if (oActivoAF.tipoadquicicion == 3) { oActivoFijo.IdDonante = oActivoAF.idproveedor; } else { oActivoFijo.IdProveedor = oActivoAF.idproveedor; if (oActivoAF.tipoadquicicion == 2) { oActivoFijo.PlazoPago = oActivoAF.plazopago; oActivoFijo.Prima = oActivoAF.prima; oActivoFijo.CuotaAsignanda = oActivoAF.cuotaasignada; oActivoFijo.Intereses = oActivoAF.interes; } } oActivoFijo.ValorAdquicicion = oActivoAF.valoradquicicion; oActivoFijo.Foto = oActivoAF.foto; oActivoFijo.ValorResidual = oActivoAF.valorresidual; oActivoFijo.EnSolicitud = 0; oActivoFijo.EstadoActual = 1; oActivoFijo.EstaAsignado = 0; bd.ActivoFijo.Add(oActivoFijo); bd.SaveChanges(); //Generar codigo //objeto de la clase codigo que contiene los elementos CodigoAF oCodigo = new CodigoAF(); //Extraer los datos padres de la base ActivoFijo oActivo = bd.ActivoFijo.Last(); AreaDeNegocio oarea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oActivoAF.idarea).First(); Sucursal osucursal = bd.Sucursal.Where(p => p.IdSucursal == oarea.IdSucursal).First(); Clasificacion oclasificacion = bd.Clasificacion.Where(p => p.IdClasificacion == oActivo.IdClasificacion).First(); //LLenado de objeto oCodigo.CorrelativoSucursal = osucursal.Correlativo; oCodigo.CorrelativoClasificacion = oclasificacion.Correlativo; oCodigo.CorrelativoArea = oarea.Correlativo; //selccionar cuantos hay de esa clasificacion int oActivoC = bd.ActivoFijo.Where(p => p.EstaAsignado == 1 && p.IdClasificacion == oclasificacion.IdClasificacion).Count(); //comparar para la concatenacion correspondiente if (oActivoC >= 0 && oActivoC <= 9) { oActivoC = oActivoC + 1; oCodigo.Correlativo = "00" + oActivoC.ToString(); } else if (oActivoC >= 10 && oActivoC <= 99) { oActivoC = oActivoC + 1; oCodigo.Correlativo = "0" + oActivoC.ToString(); } else { oActivoC = oActivoC + 1; oCodigo.Correlativo = oActivoC.ToString(); } oActivo.CorrelativoBien = oCodigo.CorrelativoSucursal + "-" + oCodigo.CorrelativoArea + "-" + oCodigo.CorrelativoClasificacion + "-" + oCodigo.Correlativo; //Guardamos en la tabla activo fijo oActivo.DestinoInicial = osucursal.Nombre; oActivo.EstaAsignado = 1; bd.SaveChanges(); //Transaccion a tarjeta TarjetaDepreciacion transaccion = new TarjetaDepreciacion(); ActivoFijo oActivoFijoTransaccion = bd.ActivoFijo.Last(); transaccion.IdBien = oActivoFijoTransaccion.IdBien; transaccion.Fecha = oFormulario.FechaIngreso; transaccion.Concepto = "Compra"; transaccion.Valor = oActivoFijoTransaccion.ValorAdquicicion; transaccion.DepreciacionAnual = 0.00; transaccion.DepreciacionAcumulada = 0.00; transaccion.ValorActual = oActivoFijoTransaccion.ValorAdquicicion; transaccion.ValorTransaccion = oActivoFijoTransaccion.ValorAdquicicion; bd.TarjetaDepreciacion.Add(transaccion); bd.SaveChanges(); } rpta = 1; } } catch (Exception ex) { rpta = 0; } return(rpta); }
public async Task <IActionResult> activosDescargadosJefePdf(int idJefe) { Document doc = new Document(PageSize.Letter); doc.SetMargins(40f, 40f, 40f, 40f); MemoryStream ms = new MemoryStream(); PdfWriter writer = PdfWriter.GetInstance(doc, ms); //Instanciamos la clase para el paginado y la fecha de impresión var pe = new PageEventHelper(); writer.PageEvent = pe; doc.AddAuthor("Asgard"); doc.AddTitle("Reporte de historial de descargos de activos asignados"); doc.Open(); //Inicia cuerpo del reporte //Estilo y fuente personalizada BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true); iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true); iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente3 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true); iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); BaseFont fuente4 = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true); iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); //Para las celdas BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true); iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0)); //Encabezado using (BDAcaassAFContext bd = new BDAcaassAFContext()) { CooperativaAF oCooperativaAF = new CooperativaAF(); Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First(); oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa; oCooperativaAF.nombre = oCooperativa.Nombre; oCooperativaAF.descripcion = oCooperativa.Descripcion; //Se agrega el encabezado var tbl1 = new PdfPTable(new float[] { 11f, 89f }) { WidthPercentage = 100f }; tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2)) { Border = 0, Rowspan = 2 }); tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2)) { Border = 0, HorizontalAlignment = 1 }); tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3)) { Border = 0, HorizontalAlignment = 1 }); doc.Add(tbl1); doc.Add(new Phrase("\n")); } doc.Add(new Phrase("\n")); //Línea separadora Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f)); doc.Add(linea); doc.Add(new Paragraph("REPORTE DE HISTORIAL DE DESCARGOS DE ACTIVOS ASIGNADOS", parrafo) { Alignment = Element.ALIGN_CENTER }); //Espacio en blanco doc.Add(Chunk.Newline); //Agregamos una tabla var tbl = new PdfPTable(new float[] { 30f, 35f, 40f, 40f, 30f }) { WidthPercentage = 100f }; var c1 = new PdfPCell(new Phrase("CORRELATIVO", parrafo2)); var c2 = new PdfPCell(new Phrase("FECHA INGRESO", parrafo2)); var c3 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2)); var c4 = new PdfPCell(new Phrase("ÁREA DE NEGOCIOS", parrafo2)); var c5 = new PdfPCell(new Phrase("RESPONSABLE", parrafo2)); //Agregamos a la tabla las celdas tbl.AddCell(c1); tbl.AddCell(c2); tbl.AddCell(c3); tbl.AddCell(c4); tbl.AddCell(c5); //Extraemos de la base y llenamos las celdas using (BDAcaassAFContext bd = new BDAcaassAFContext()) { Empleado oempleado = bd.Empleado.Where(p => p.IdEmpleado == idJefe).FirstOrDefault(); AreaDeNegocio oarea = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).FirstOrDefault(); List <BajaAF> lista = (from activo in bd.ActivoFijo join noFormulario in bd.FormularioIngreso on activo.NoFormulario equals noFormulario.NoFormulario join resposable in bd.Empleado on activo.IdResponsable equals resposable.IdEmpleado join area in bd.AreaDeNegocio on resposable.IdAreaDeNegocio equals area.IdAreaNegocio join cargo in bd.Cargos on resposable.IdCargo equals cargo.IdCargo where activo.EstadoActual == 0 && activo.EstaAsignado == 1 && area.IdAreaNegocio == oarea.IdAreaNegocio orderby activo.CorrelativoBien select new BajaAF { IdBien = activo.IdBien, Codigo = activo.CorrelativoBien, fechacadena = noFormulario.FechaIngreso == null ? " " : ((DateTime)noFormulario.FechaIngreso).ToString("dd-MM-yyyy"), Desripcion = activo.Desripcion, AreaDeNegocio = area.Nombre, Resposnsable = resposable.Nombres + " " + resposable.Apellidos, //cargo = cargo.Cargo, }).ToList(); foreach (var activosbaja in lista) { c1.Phrase = new Phrase(activosbaja.Codigo, parrafo5); c2.Phrase = new Phrase(activosbaja.fechacadena, parrafo5); c3.Phrase = new Phrase(activosbaja.Desripcion, parrafo5); c4.Phrase = new Phrase(activosbaja.AreaDeNegocio, parrafo5); c5.Phrase = new Phrase(activosbaja.Resposnsable, parrafo5); //Agregamos a la tabla tbl.AddCell(c1); tbl.AddCell(c2); tbl.AddCell(c3); tbl.AddCell(c4); tbl.AddCell(c5); } //INICIO DE ADICIÓN DE LOGO CooperativaAF oCooperativaAF = new CooperativaAF(); Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First(); oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa; try { iTextSharp.text.Image logo = null; logo = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString()); logo.Alignment = iTextSharp.text.Image.ALIGN_LEFT; logo.Border = iTextSharp.text.Rectangle.NO_BORDER; logo.BorderColor = iTextSharp.text.BaseColor.White; logo.ScaleToFit(170f, 100f); float ancho = logo.Width; float alto = logo.Height; float proporcion = alto / ancho; logo.ScaleAbsoluteWidth(80); logo.ScaleAbsoluteHeight(80 * proporcion); logo.SetAbsolutePosition(40f, 695f); doc.Add(logo); } catch (DocumentException dex) { //log exception here } //FIN DE ADICIÓN DE LOGO } doc.Add(tbl); writer.Close(); doc.Close(); ms.Seek(0, SeekOrigin.Begin); return(File(ms, "application/pdf")); }