public static Emision getListadoEmision(DateTime periodo)
        {
            try
            {
                Emision emision = new Emision();
                admEntities db = Datos.getDB();
                var edificios = CatalogoEdificios.getAllEdificios();
                List<EmisionEdificio> emisionesEdificios = new List<EmisionEdificio>();
                double TotalGeneral = 0;
                var allUnidades = db.unidad.ToList();

                foreach (edificio e in edificios)
                {
                    EmisionEdificio emEdi = new EmisionEdificio();
                    emEdi.Direccion = e.direccion;
                    var unidades = allUnidades.Where(x => x.dir_edificio == e.direccion);
                    List<EmisionUnidad> emisionesUnidades = new List<EmisionUnidad>();

                    double total = 0;
                    foreach (unidad u in unidades)
                    {
                        var detalle = CatalogoDeudores.getDetalleDeudaUnidad(u);
                        double saldo = 0;
                        foreach (CatalogoDeudores.DetalleDeuda d in detalle)
                        {
                            EmisionUnidad emUni = new EmisionUnidad();
                            emUni.Unidad = u.id_unidad;
                            emUni.Importe = d.Importe.ToString("n2");
                            emUni.Periodo = d.Periodo.ToShortDateString();
                            emUni.Concepto = d.Tipo;
                            //if (emUni.Periodo == periodo.ToShortDateString())
                            emUni.Codigo = d.NroReferencia;
                            emUni.Recargo = d.Recargo.ToString("n2");
                            emUni.Deuda = (d.Importe + d.Recargo).ToString("n2");
                            saldo += d.Importe + d.Recargo;
                            emUni.Saldo = saldo.ToString("n2");
                            total += d.Importe;
                            emisionesUnidades.Add(emUni);
                        }
                    }
                    TotalGeneral += total;
                    emEdi.Total = total.ToString("n2");
                    emEdi.Unidades = emisionesUnidades;
                    emisionesEdificios.Add(emEdi);
                }
                emision.TotalGeneral = TotalGeneral.ToString("n2");
                emision.Edificios = emisionesEdificios;
                emision.Periodo = periodo.Month + "/" + periodo.Year;

                return emision;
            }
            catch (Exception e)
            {
                Logger.Log.write(e.InnerException == null ? e.Message : e.InnerException.Message);
                throw e;
            }
        }
        private static void addEncabezado(Document doc, Emision emision)
        {
            PdfPTable t = new PdfPTable(1);
            float[] widths = new float[] { 90f };
            t.SetWidths(widths);
            PdfPCell c = new PdfPCell();
            c.Border = 0;

            Paragraph p;
            t.WidthPercentage = 100;
            int leading = 8;
            c = new PdfPCell();
            c.PaddingTop = -2;
            c.Border = 0;
            c.BorderWidthBottom = 0;
            p = new Paragraph(leading, "CALVAGNA CONSORCIOS", calibri8B);
            c.AddElement(p);
            t.AddCell(c);
            doc.Add(t);

            p = new Paragraph(10, "LISTADO EMISION PERIODO: " + emision.Periodo, calibri9B);
            p.Alignment = Element.ALIGN_CENTER;
            doc.Add(p);
        }