Exemple #1
0
        public void AddressTest()
        {
            var controller = new ReportsTuningController();

            Prepare(controller);
            controller.DbSession = session;
            var reportType     = session.Query <ReportType>().First(rt => rt.ReportTypeFilePrefix == "Mixed");
            var report         = session.Query <Report>().First(r => r.ReportType == reportType);
            var propertyType   = session.Query <ReportTypeProperty>().First(rpt => rpt.ReportType == reportType && rpt.PropertyName == "AddressesEqual");
            var reportProperty = new ReportProperty {
                Value        = "1",
                Report       = report,
                PropertyType = propertyType
            };

            reportProperty.Save();
            var value = new ReportPropertyValue {
                ReportPropertyId = reportProperty.Id,
                Value            = "0"
            };

            value.Save();
            reportProperty.Values = new List <ReportPropertyValue> {
                value
            };
            reportProperty.Save();
            var filter = new AddressesFilter {
                Report              = report.Id,
                GeneralReport       = 1u,
                ReportPropertyValue = reportProperty.Id
            };

            controller.SelectAddresses(filter);
            Assert.IsNotNull(controller.PropertyBag["addresses"]);
        }
        public void AddNewOptions()
        {
            ulong reportTypeCode = 1;

            using (new SessionScope()) {
                var reports = Report.Queryable.Where(r => r.ReportType.Id == reportTypeCode).ToList();

                var prop_types = ReportTypeProperty.Queryable
                                 .Where(pt => pt.ReportType.Id == reportTypeCode)
                                 .Where(pt => pt.PropertyName == "ByBaseCosts" ||
                                        pt.PropertyName == "PriceCodeEqual" ||
                                        pt.PropertyName == "RegionEqual")
                                 .ToList();

                foreach (var report in reports)
                {
                    foreach (var prop_type in prop_types)
                    {
                        var prop = ReportProperty.Queryable.Where(p => p.Report == report &&
                                                                  p.PropertyType.Id == prop_type.Id)
                                   .ToList();
                        if (prop.Count != 0)
                        {
                            continue;
                        }
                        var property = new ReportProperty {
                            Report       = report,
                            PropertyType = prop_type,
                            Value        = prop_type.DefaultValue
                        };

                        property.Save();
                    }
                }
            }
        }