예제 #1
0
        public InformeControlCobrosREARpt GetControlCobrosREAReport(ExpedienteREAList expedientes,
                                                                    ReportFormat format)
        {
            if (expedientes.Count == 0)
            {
                return(null);
            }

            List <ExpedienteREAPrint> pList = new List <ExpedienteREAPrint>();

            foreach (ExpedienteREAInfo item in expedientes)
            {
                if (item.ETipoExpediente == ETipoExpediente.Almacen)
                {
                    continue;
                }
                pList.Add(ExpedienteREAPrint.New(item));
            }

            InformeControlCobrosREARpt doc = new InformeControlCobrosREARpt();

            doc.SetDataSource(pList);

            FormatHeader(doc);

            FormatReport(doc, format);

            return(doc);
        }
        protected override void PrintAction()
        {
            PgMng.Reset(4, 1, Face.Resources.Messages.RETRIEVING_DATA, this);

            try
            {
                PgMng.Grow();

                Library.Store.QueryConditions conditions = new Library.Store.QueryConditions
                {
                    TipoExpediente = (ETipoExpediente)(long)TipoExpediente_CB.SelectedValue,
                    FechaIni       = (FInicial_DTP.Checked) ? FInicial_DTP.Value : DateTime.MinValue,
                    FechaFin       = (FFinal_DTP.Checked) ? FFinal_DTP.Value : DateTime.MaxValue,
                    FechaAuxIni    = (PagoInicial_DTP.Checked) ? PagoInicial_DTP.Value : DateTime.MinValue,
                    FechaAuxFin    = (PagoFinal_DTP.Checked) ? PagoFinal_DTP.Value : DateTime.MaxValue,
                };

                switch (TipoCobro_CB.SelectedItem.ToString())
                {
                default:
                case "Todos los expedientes":
                    conditions.Estado = EEstado.Todos;
                    break;

                case "Solo expedientes cobrados":
                    conditions.Estado = EEstado.Pagado;
                    break;

                case "Solo expedientes pendientes de cobro":
                    conditions.Estado = EEstado.Pendiente;
                    break;
                }

                ReportFormat _format = new ReportFormat();

                _format.CampoOrdenacion = Ordenar_CB.SelectedItem.ToString();
                _format.Orden           = (Ascendente_RB.Checked) ? CrystalDecisions.Shared.SortDirection.AscendingOrder
                                                                                                                                        : CrystalDecisions.Shared.SortDirection.DescendingOrder;

                ExpedienteREAList expedientes = ExpedienteREAList.GetListByREA(conditions, false);
                PgMng.Grow(Face.Resources.Messages.BUILDING_REPORT);

                ExpedientReportMng         reportMng = new ExpedientReportMng(AppContext.ActiveSchema, this.Text, GetFilterValues());
                InformeControlCobrosREARpt report    = reportMng.GetControlCobrosREAReport(expedientes, _format);
                PgMng.FillUp();

                ShowReport(report);

                _action_result = DialogResult.Ignore;
            }
            catch (Exception ex)
            {
                PgMng.FillUp();
                throw ex;
            }
        }
예제 #3
0
        private void FormatReport(InformeControlCobrosREARpt rpt, ReportFormat format)
        {
            FieldDefinition fdes = rpt.Database.Tables[0].Fields["CodigoExpediente"];

            switch (format.CampoOrdenacion)
            {
            case "Expediente":
            {
                fdes = rpt.Database.Tables[0].Fields["CodigoExpediente"];
            }
            break;

            case "Cobrada":
            {
                fdes = rpt.Database.Tables[0].Fields["Cobrado"];
            }
            break;

            case "Fecha de Cobro":
            {
                fdes = rpt.Database.Tables[0].Fields["FechaCobro"];
            }
            break;

            case "Total Cobrado":
            {
                fdes = rpt.Database.Tables[0].Fields["AyudaCobrada"];
            }
            break;

            case "Certificado":
            {
                fdes = rpt.Database.Tables[0].Fields["CertificadoREA"];
            }
            break;
            }

            rpt.DataDefinition.SortFields[0].Field         = fdes;
            rpt.DataDefinition.SortFields[0].SortDirection = format.Orden;
        }