public async Task <IHttpActionResult> MakeUnitPlan(
     OrganizationReference organization,
     int year,
     ReportingTerm reportingTerm)
 {
     return(await MakeUnitPlan2(organization, year, reportingTerm, ReportingFrequency.Monthly));
 }
        public async Task <IHttpActionResult> CopyCentralPlan(
            int copyFromReportId,
            OrganizationReference organization,
            int year,
            ReportingTerm reportingTerm,
            ReportingFrequency reportingFrequency)
        {
            try
            {
                if (!_userContext.CurrentUserIsSystemUser())
                {
                    return(Unauthorized());
                }

                if (organization == null)
                {
                    throw new ArgumentNullException(nameof(organization));
                }

                if (!_userContext.CurrentUserCanAccess(organization.Id))
                {
                    return(Unauthorized());
                }

                var cmd = new CopyUnitPlanCommand(copyFromReportId, organization, year, reportingTerm, reportingFrequency);
                await _endpointInstance().SendWithSignalRMetaData(cmd, Request);

                return(this.Accepted());
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                return(InternalServerError());
            }
        }
        public ZoneReport CopyZonePlan(string description, int copyFromReportId, OrganizationReference organizationRef, ReportingTerm reportingTerm, int year)
        {
            if (organizationRef.OrganizationType != OrganizationType.Zone)
            {
                throw new ArgumentException("Invalid Organization Type");
            }

            var copyFromReport = _session.Get <ZoneReport>(copyFromReportId);

            if (copyFromReport.ReportingPeriod.ReportingFrequency != ReportingFrequency.Quarterly && copyFromReport.ReportingPeriod.ReportingFrequency != ReportingFrequency.Yearly)
            {
                throw new ArgumentException("Invalid Reporting Frequency");
            }

            ReportData reportData           = copyFromReport;
            var        lastPeriodUpdateData = Calculator.GetLastPeriodUpdateData(reportData);

            var newReport = CreateNewZonePlan(description, copyFromReport.Organization, reportingTerm, year, copyFromReport.ReportingPeriod.ReportingFrequency);

            newReport.UpdatePlan(reportData);
            newReport.Update(reportData);
            newReport.Update(lastPeriodUpdateData);
            _session.Save(newReport);

            return(newReport);
        }
Example #4
0
        /// <summary>
        /// Archive a product
        /// </summary>
        /// <param name="organizationReference">The organization reference.</param>
        /// <param name="productReference">The product reference.</param>
        /// <returns>List of CultureInfos</returns>
        public void ActiveProduct(ReferenceName organizationReference, ReferenceName productReference)
        {
            var orgRef  = new OrganizationReference(organizationReference);
            var prodRef = new Generated.ReferenceName(productReference);

            _client.ActiveProduct(orgRef, prodRef);
        }
Example #5
0
 public void AddOrganizationReference(OrganizationReference organizationReference)
 {
     if (organizationReference == null)
     {
         throw new ArgumentNullException(nameof(organizationReference));
     }
     _managedOrganizations.Add(organizationReference);
 }
        public void CreateNewUnitPlan_SavesCorrectlyWhenLastYearSubmitted(ReportingFrequency reportingFrequency)
        {
            DateTimeDbTestExtensions.SetUtcNowToRandomDate();

            var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer,
                                                          s =>
            {
                var organizationType = OrganizationType.Unit;

                var description   = DataProvider.Get <string>();
                var year          = 2019;
                var reportingTerm = ReportingTerm.One;
                var organization  = new TestObjectBuilder <Organization>()
                                    .SetArgument(o => o.OrganizationType, organizationType)
                                    .SetArgument(o => o.ReportingFrequency, reportingFrequency)
                                    .BuildAndPersist(s);

                OrganizationReference organizationRef = organization;

                var reportingPeriod = new ReportingPeriod(reportingFrequency, reportingTerm, year);


                var expected = new UnitReportBuilder()
                               .SetDescription(description)
                               .SetOrganization(organization)
                               .SetReportingPeriod(new ReportingPeriod(reportingFrequency, reportingTerm, year))
                               .SetReportData(ReportData.Default())
                               .Build();
                return(new
                {
                    description,
                    organizationRef,
                    reportingPeriod,
                    expected
                });
            });
            var result = Endpoint.Act(AssemblySetupFixture.EndpointTestContainer,
                                      c =>
            {
                var unitReport = c.GetInstance <UnitReportFactory>()
                                 .CreateNewUnitPlan(testParams.description,
                                                    testParams.organizationRef,
                                                    testParams.reportingPeriod.ReportingTerm,
                                                    testParams.reportingPeriod.Year,
                                                    reportingFrequency);
                return(new
                {
                    unitReport
                });
            });

            result.unitReport.Should().NotBeNull();

            result.unitReport.Should().BeEquivalentTo(testParams.expected, e =>
                                                      e.Excluding(p => p.Id));
        }
        public Report CreateNewReport(string description, OrganizationReference organizationRef, ReportingTerm reportingTerm, int year)
        {
            var organization    = _session.Query <Organization>().Single(o => o.Id == organizationRef.Id);
            var reportingPeriod =
                new ReportingPeriod(organization.ReportingFrequency, reportingTerm, year);
            var report = new Report(description, organization, reportingPeriod, null);

            _session.Save(report);
            return(report);
        }
Example #8
0
 public CreateCentralPlanCommand(
     OrganizationReference organization,
     int year,
     ReportingTerm reportingTerm,
     ReportingFrequency reportingFrequency)
 {
     Organization       = organization ?? throw new ArgumentNullException(nameof(organization));
     Year               = year;
     ReportingTerm      = reportingTerm;
     ReportingFrequency = reportingFrequency;
 }
        public async Task Handle_SavesRecord(OrganizationType organizationType, ReportingFrequency reportingFrequency)
        {
            var username = DataProvider.Get <string>();

            var description = DataProvider.Get <string>();
            var details     = DataProvider.Get <string>();
            var parent      = DataProvider.Get <EntityReference>();

            DateTimeDbTestExtensions.SetUtcNowToRandomDate();

            var expected = new OrganizationBuilder()
                           .SetDescription(description)
                           .SetDetails(details)
                           .SetParent(parent)
                           .SetOrganizationType(organizationType)
                           .SetReportingFreQuency(reportingFrequency)
                           .Build();
            var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer,
                                                          s => new
            {
                Cmd = new CreateOrganizationCommand(description, details, organizationType, reportingFrequency, parent),
                username,
                expected
            });

            var context = await Endpoint.Act <CreateOrganizationCommandHandler>(
                AssemblySetupFixture.EndpointTestContainer,
                (h, ctx) =>
            {
                ctx.SetUsernameOnHeader(testParams.username);
                return(h.Handle(testParams.Cmd, ctx));
            });

            var evt = context.ExpectPublish <IOrganizationCreated>();

            Endpoint.AssertOnSqlSessionThat(AssemblySetupFixture.EndpointTestContainer,
                                            s =>
            {
                var org = s.Query <Organization>().Single();
                org.Should().NotBeNull();
                org.Should().BeEquivalentTo(testParams.expected, e => e.Excluding(p => p.Id));

                OrganizationReference orgRef = org;
                var expectedEvt = Test.CreateInstance <IOrganizationCreated>(e =>
                {
                    e.Organization = orgRef;
                    e.Username     = testParams.username;
                });

                evt.Should().BeEquivalentTo(expectedEvt, e => e.Excluding(p => p.SerializedData));
                evt.SerializedData.Should().NotBe(null);
            });
        }
        private ReportingPeriodViewModel[] GetReportingPeriods(OrganizationReference organizationReference, DateTime startDate, DateTime endDate, ReportingFrequency reportingFrequency)
        {
            var reportingPeriods = ReportingPeriod.GetReportingPeriods(startDate, endDate, reportingFrequency);

            return(reportingPeriods.Select(o =>
            {
                var isActive = ZaphodTime.LocalNow >= o.StartDate && ZaphodTime.LocalNow <= o.EndDate;
                return new ReportingPeriodViewModel()
                {
                    IsActive = isActive, OrganizationReference = organizationReference, ReportingPeriodData = o
                };
            }).ToArray());
        }
Example #11
0
 public CopyStatePlanCommand(
     int copyFromReportId,
     OrganizationReference organization,
     int year,
     ReportingTerm reportingTerm,
     ReportingFrequency reportingFrequency = ReportingFrequency.Quarterly)
 {
     Organization       = organization ?? throw new ArgumentNullException(nameof(organization));
     CopyFromReportId   = copyFromReportId;
     Year               = year;
     ReportingTerm      = reportingTerm;
     ReportingFrequency = reportingFrequency;
 }
Example #12
0
        public void Update(string description,
                           OrganizationReference organization,
                           ReportingPeriod reportingPeriod)
        {
            if (string.IsNullOrWhiteSpace(description))
            {
                throw new ArgumentException("Value cannot be null or whitespace.", nameof(description));
            }

            Description     = description;
            Organization    = organization ?? throw new ArgumentNullException(nameof(organization));
            ReportingPeriod = reportingPeriod ?? throw new ArgumentNullException(nameof(reportingPeriod));
            Timestamp       = ZaphodTime.UtcNow;
        }
Example #13
0
        /// <summary>
        /// Gets the product references that are available for a specific product.
        /// </summary>
        /// <param name="organizationReference">The organization reference.</param>
        /// <param name="productReference">The product reference.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentNullException">The productReference was null</exception>
        public ProductReference GetProductReferences(OrganizationReference organizationReference, ReferenceName productReference)
        {
            if (productReference == null)
            {
                throw new ArgumentNullException("productReference");
            }

            var refs = _client.GetProductReferences(
                organizationReference != null
                    ? new Generated.OrganizationReference(new ReferenceName(organizationReference.ToString()))
                    : null,
                new Generated.ReferenceName(productReference));

            return(new ProductReference(refs.SystemName, refs.ReferenceNames.Select(x => new ReferenceName(x.SubSystem, x.LocalName))));
        }
        public CreateZoneReportCommand(string description,
                                       OrganizationReference organization,
                                       int year,
                                       ReportingTerm reportingTerm)
        {
            if (string.IsNullOrWhiteSpace(description))
            {
                throw new ArgumentException("Value cannot be null or whitespace.", nameof(description));
            }

            Description   = description;
            Organization  = organization ?? throw new ArgumentNullException(nameof(organization));
            Year          = year;
            ReportingTerm = reportingTerm;
        }
Example #15
0
        public Report(string description, OrganizationReference organization, ReportingPeriod reportingPeriod, string comment)
        {
            if (string.IsNullOrWhiteSpace(description))
            {
                throw new ArgumentException("Value cannot be null or whitespace.", nameof(description));
            }

            Description          = description;
            Organization         = organization ?? throw new ArgumentNullException(nameof(organization));
            ReportingPeriod      = reportingPeriod ?? throw new ArgumentNullException(nameof(reportingPeriod));
            ReportStatus         = ReportStatus.Draft;
            ReopenedReportStatus = ReopenedReportStatus.None;
            Comment = comment;

            Timestamp = ZaphodTime.UtcNow;
            IsDeleted = false;
        }
Example #16
0
        /// <summary>
        /// Updates information about the supplier. Data normally used is contact information, like email, phone and address.
        /// </summary>
        /// <param name="organizationReference">The organization reference.</param>
        /// <param name="informationData">The information data that should be stored with the supplier.</param>
        /// <exception cref="System.ArgumentNullException">
        /// organizationReference
        /// or
        /// informationData
        /// </exception>
        public void UpdateSupplier(ReferenceName organizationReference, List <InformationData> informationData)
        {
            if (organizationReference == null)
            {
                throw new ArgumentNullException("organizationReference");
            }

            if (informationData == null)
            {
                throw new ArgumentNullException("informationData");
            }

            var orgRef = new OrganizationReference(organizationReference);

            var unifiedItems = this.InformationDataValidator(informationData);
            var dataList     = unifiedItems.Select(x => x.Create()).ToArray();

            _client.UpdateOrganization(orgRef, dataList);
        }
Example #17
0
        /// <summary>
        /// Retrieves all products from the organization in a paged manner.
        /// </summary>
        /// <param name="organizationReference">The organization reference.</param>
        /// <param name="pageSize">Size of the page.</param>
        /// <param name="skipPages">The skip pages.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentNullException">The organizationReference was null</exception>
        public List <ProductReference> GetProducts(ReferenceName organizationReference, int pageSize, int skipPages)
        {
            OrganizationReference orgRef = null;

            if (organizationReference != null)
            {
                orgRef = new OrganizationReference(organizationReference);
            }

            var productList = _client.GetProducts(orgRef, pageSize, skipPages);

            var list = new List <ProductReference>();

            foreach (var p in productList)
            {
                list.Add(new ProductReference(p.SystemName, p.ReferenceNames.Select(x => new ReferenceName(x.SubSystem, x.LocalName))));
            }

            return(list);
        }
Example #18
0
        /// <summary>
        /// Sets information that should be stored with the product. All information submitted though <paramref name="informationData"/> will be stored.
        /// All informationdata that exists on the product not included in that set will be deleted.
        /// </summary>
        /// <param name="organizationReference">The organization reference.</param>
        /// <param name="name">The name.</param>
        /// <param name="categoryId">The category identifier.</param>
        /// <param name="productId">The product identifier.</param>
        /// <param name="informationData">The information data.</param>
        /// <param name="images">The images.</param>
        /// <param name="occasions">The occasions.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentNullException">
        /// organizationReference
        /// or
        /// name
        /// or
        /// productId
        /// </exception>
        public ReferenceName SetProduct(ReferenceName organizationReference, string name, int categoryId, ReferenceName productId,
                                        IEnumerable <InformationData> informationData, IEnumerable <ImageData> images, IEnumerable <Occasion> occasions)
        {
            if (organizationReference == null)
            {
                throw new ArgumentNullException("organizationReference");
            }

            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            if (productId == null)
            {
                throw new ArgumentNullException("productId");
            }

            HashSet <InformationData> unifiedItems = InformationDataValidator(informationData);

            OrganizationReference orgRef = new OrganizationReference(organizationReference);

            Generated.ReferenceName prodRef = new Generated.ReferenceName(productId);

            if (occasions == null)
            {
                occasions = new List <Occasion>();
            }

            if (images == null)
            {
                images = new List <ImageData>();
            }

            ProductCallbackReference productResult = _client.SetProduct(orgRef, name, categoryId, prodRef,
                                                                        unifiedItems.Select(x => x.Create()).ToArray(),
                                                                        images.Select(x => x.Create()).ToArray(),
                                                                        occasions.Select(x => x.Create()).ToArray());

            return(new ReferenceName(productResult.CbisProductId.SubSystem, productResult.CbisProductId.LocalName));
        }
        private ReportingPeriodViewModel[] GetReportingPeriodByOrganizationType(OrganizationReference organizationReference)
        {
            switch (organizationReference.OrganizationType)
            {
            case OrganizationType.Unit:
            {
                var now       = ZaphodTime.LocalNow;
                var startDate = ZaphodTime.LocalNow.AddMonths(-20);
                var endDate   = ZaphodTime.LocalNow.AddMonths(8);
                return(GetReportingPeriods(organizationReference, startDate, endDate, ReportingFrequency.Monthly));
            }

            default:
            {
                var startDate = ZaphodTime.LocalNow.AddYears(-2);
                var endDate   = ZaphodTime.LocalNow.AddYears(1);
                var annualReportingPeriods    = GetReportingPeriods(organizationReference, startDate, endDate, ReportingFrequency.Yearly);
                var quarterlyReportingPeriods = GetReportingPeriods(organizationReference, startDate, endDate, ReportingFrequency.Quarterly);
                return(annualReportingPeriods.Concat(quarterlyReportingPeriods).ToArray());
            }
            }
        }
        public ZoneReport CreateNewZonePlan(string description, OrganizationReference organizationRef, ReportingTerm reportingTerm, int year, ReportingFrequency reportingFrequency)
        {
            var organization = _session.Query <Organization>().Single(o => o.Id == organizationRef.Id);

            if (organization.OrganizationType != OrganizationType.Zone)
            {
                throw new ArgumentException("Invalid Organization Type");
            }
            if (reportingFrequency != ReportingFrequency.Quarterly && reportingFrequency != ReportingFrequency.Yearly)
            {
                throw new ArgumentException("Invalid Reporting Frequency");
            }

            var reportingPeriod =
                new ReportingPeriod(reportingFrequency, reportingTerm, year);
            var reportData = _zoneReportService.GetGeneratedData(organizationRef.Id, reportingPeriod);
            var report     = new ZoneReport(description, organization, reportingPeriod, reportData);

            report.UpdateGeneratedData(reportData);
            _session.Save(report);
            return(report);
        }
Example #21
0
        /// <summary>
        /// Gets information related to a product.
        /// </summary>
        /// <param name="organizationReference">The organization reference.</param>
        /// <param name="productReference">The product reference.</param>
        /// <returns></returns>
        /// <exception cref="System.Exception"></exception>
        public Product GetProduct(ReferenceName organizationReference, ReferenceName productReference)
        {
            var orgRef    = new OrganizationReference(organizationReference);
            var prodRef   = new Generated.ReferenceName(productReference);
            var converter = this.GetInformationDataConverter();

            var product = _client.GetProduct(orgRef, prodRef);

            var productReferenceName = new ReferenceName(product.Reference.SubSystem, product.Reference.LocalName);
            var informationDataList  = new List <InformationData>();

            foreach (var data in product.InformationData)
            {
                Func <Generated.InformationData, InformationData> dataConverter;

                if (!converter.TryGetValue(data.GetType(), out dataConverter))
                {
                    throw new Exception("Failed to find converter for type: " + data.GetType());
                }

                informationDataList.Add(dataConverter(data));
            }

            var occasions = new List <Occasion>();

            foreach (var occasion in product.OccasionData)
            {
                occasions.Add(ConvertOccasion(occasion));
            }

            var images = new List <ImageData>();

            foreach (var media in product.MediaData)
            {
                images.Add(ConvertMedia(media));
            }

            return(new Product(productReferenceName, informationDataList, occasions, images));
        }
Example #22
0
        public ProductReferenceSetResult ModifyProductReferences(
            OrganizationReference organizationReference,
            ReferenceName productToActOn,
            List <ReferenceName> referencesToAdd,
            List <ReferenceName> referencesToRemove)
        {
            if (referencesToAdd == null)
            {
                referencesToAdd = new List <ReferenceName>();
            }

            if (referencesToRemove == null)
            {
                referencesToRemove = new List <ReferenceName>();
            }

            if (productToActOn == null)
            {
                throw new ArgumentNullException("productToActOn");
            }

            if (referencesToAdd.Count == 0 && referencesToRemove.Count == 0)
            {
                throw new InvalidOperationException("No names addad and no removed, call obsolete. Remove");
            }

            var result = _client.ModifyProductReferences(
                organizationReference,
                productToActOn.CreateContractReferenceName(),
                referencesToAdd.Select(x => x.CreateContractReferenceName()).ToArray(),
                referencesToRemove.Select(x => x.CreateContractReferenceName()).ToArray());

            return
                (new ProductReferenceSetResult(
                     result.AddedReferences.Select(x => new ReferenceName(x.SubSystem, x.LocalName)),
                     result.RemovedReferences.Select(x => new ReferenceName(x.SubSystem, x.LocalName))));
        }
Example #23
0
        private UnitReport CreateNew(string description, OrganizationReference organizationRef, ReportingTerm reportingTerm,
                                     int year, ReportingFrequency reportingFrequency, bool isAi = false)
        {
            var organization = _session.Query <Organization>().Single(o => o.Id == organizationRef.Id);

            if (organization.OrganizationType != OrganizationType.Unit)
            {
                throw new ArgumentException("Invalid Organization Type");
            }
            if (reportingFrequency != organization.ReportingFrequency)
            {
                throw new ArgumentException("Invalid Reporting Frequency");
            }

            var reportingPeriod =
                new ReportingPeriod(reportingFrequency, reportingTerm, year);

            var reportData = isAi ? GetReportDataAi(organization, reportingPeriod) : ReportData.Default();

            var report = new UnitReport(description, organization, reportingPeriod, reportData);

            _session.Save(report);
            return(report);
        }
        public void CreateNewPlan_For_State_Unit_SavesMaterialDataCorrectly(
            bool thisPeriodSubmitted,
            bool lastPeriod1Submitted,
            bool lastPeriod2Submitted
            )
        {
            DateTimeDbTestExtensions.SetUtcNowToRandomDate();
            var reportingTerms = ReportingPeriod.GetReportingTerms(reportingFrequency);

            if (reportingTerms.All(o => o != reportingTerm))
            {
                return;
            }

            var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer,
                                                          s =>
            {
                var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations(
                    stateReportingFrequency: reportingFrequency,
                    zoneReportingFrequency: ReportingFrequency.Monthly);

                var nswState  = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.NswState).Value;
                var laPerouse = new OrganizationBuilder()
                                .SetDescription("La perouse")
                                .SetOrganizationType(OrganizationType.Unit)
                                .SetReportingFreQuency(ReportingFrequency.Monthly)
                                .SetParent(nswState)
                                .BuildAndPersist(s);

                var lalorPark = new OrganizationBuilder()
                                .SetDescription("Lalor park")
                                .SetOrganizationType(OrganizationType.Unit)
                                .SetReportingFreQuency(ReportingFrequency.Monthly)
                                .SetParent(nswState)
                                .BuildAndPersist(s);

                var description = DataProvider.Get <string>();
                var year        = 2019;
                OrganizationReference organizationRef = nswState;

                var reportingPeriod = new ReportingPeriod(reportingFrequency, reportingTerm, year);
                var expected        = new StateReportBuilder()
                                      .SetDescription(description)
                                      .SetOrganization(organizationRef)
                                      .SetReportingPeriod(new ReportingPeriod(reportingFrequency, reportingPeriod.ReportingTerm,
                                                                              reportingPeriod.Year))
                                      .Build();


                var lastPeriod1 = reportingPeriod.GetReportingPeriodOfPreviousTerm();
                var lastPeriod2 = lastPeriod1.GetReportingPeriodOfPreviousTerm();

                var laPerouseThisPeriodUnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(thisPeriodSubmitted, laPerouse, reportingPeriod, s);
                var laPerouseLastPeriod1UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod1Submitted, laPerouse, lastPeriod1, s);
                var laPerouseLastPeriod2UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod2Submitted, laPerouse, lastPeriod2, s);

                var lalorParkThisPeriodUnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(thisPeriodSubmitted, lalorPark, reportingPeriod, s);
                var lalorParkLastPeriod1UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod1Submitted, lalorPark, lastPeriod1, s);
                var lalorParkLastPeriod2UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod2Submitted, lalorPark, lastPeriod2, s);

                var allUnitReports = new[]
                {
                    laPerouseThisPeriodUnitReport,
                    laPerouseLastPeriod1UnitReport,
                    laPerouseLastPeriod2UnitReport,
                    lalorParkThisPeriodUnitReport,
                    lalorParkLastPeriod1UnitReport,
                    lalorParkLastPeriod2UnitReport,
                };

                var submittedReports = IntegrationTestStateReportHelper.GetSubmittedReports(allUnitReports, reportingPeriod);

                var expectedBookSaleMaterialData          = IntegrationTestStateReportHelper.GetExpectedMaterialData(submittedReports, nameof(StateReport.BookSaleMaterialData));
                var expectedBookSaleMaterialGeneratedData = expectedBookSaleMaterialData;

                var expectedBookDistributionMaterialData          = IntegrationTestStateReportHelper.GetExpectedMaterialData(submittedReports, nameof(StateReport.BookDistributionMaterialData));
                var expectedBookDistributionMaterialGeneratedData = expectedBookDistributionMaterialData;

                var expectedVhsSaleMaterialData          = IntegrationTestStateReportHelper.GetExpectedMaterialData(submittedReports, nameof(StateReport.VhsSaleMaterialData));
                var expectedVhsSaleMaterialGeneratedData = expectedVhsSaleMaterialData;

                var expectedVhsDistributionMaterialData          = IntegrationTestStateReportHelper.GetExpectedMaterialData(submittedReports, nameof(StateReport.VhsDistributionMaterialData));
                var expectedVhsDistributionMaterialGeneratedData = expectedVhsDistributionMaterialData;

                var expectedEmailDistributionMaterialData          = IntegrationTestStateReportHelper.GetExpectedMaterialData(submittedReports, nameof(StateReport.EmailDistributionMaterialData));
                var expectedEmailDistributionMaterialGeneratedData = expectedEmailDistributionMaterialData;

                var expectedIpdcLeafletDistributionMaterialData          = IntegrationTestStateReportHelper.GetExpectedMaterialData(submittedReports, nameof(StateReport.IpdcLeafletDistributionMaterialData));
                var expectedIpdcLeafletDistributionMaterialGeneratedData = expectedIpdcLeafletDistributionMaterialData;


                return(new
                {
                    description,
                    reportingPeriod,
                    organizationRef,
                    expected,
                    expectedBookSaleMaterialData,
                    expectedBookSaleMaterialGeneratedData,
                    expectedBookDistributionMaterialData,
                    expectedBookDistributionMaterialGeneratedData,
                    expectedVhsSaleMaterialData,
                    expectedVhsSaleMaterialGeneratedData,
                    expectedVhsDistributionMaterialData,
                    expectedVhsDistributionMaterialGeneratedData,
                    expectedEmailDistributionMaterialData,
                    expectedEmailDistributionMaterialGeneratedData,
                    expectedIpdcLeafletDistributionMaterialData,
                    expectedIpdcLeafletDistributionMaterialGeneratedData
                });
            });
            var result = Endpoint.Act(AssemblySetupFixture.EndpointTestContainer,
                                      c =>
            {
                var stateReport = c.GetInstance <IStateReportFactory>()
                                  .CreateNewStatePlan(testParams.description,
                                                      testParams.organizationRef,
                                                      testParams.reportingPeriod.ReportingTerm,
                                                      testParams.reportingPeriod.Year,
                                                      reportingFrequency);
                return(new
                {
                    stateReport
                });
            });

            result.stateReport.Should().NotBeNull();

            result.stateReport.BookSaleMaterialData.Should().BeEquivalentTo(testParams.expectedBookSaleMaterialData);
            result.stateReport.BookSaleMaterialGeneratedData.Should().BeEquivalentTo(testParams.expectedBookSaleMaterialGeneratedData);

            result.stateReport.BookDistributionMaterialData.Should().BeEquivalentTo(testParams.expectedBookDistributionMaterialData);
            result.stateReport.BookDistributionMaterialGeneratedData.Should().BeEquivalentTo(testParams.expectedBookDistributionMaterialGeneratedData);

            result.stateReport.VhsSaleMaterialData.Should().BeEquivalentTo(testParams.expectedVhsSaleMaterialData);
            result.stateReport.VhsSaleMaterialGeneratedData.Should().BeEquivalentTo(testParams.expectedVhsSaleMaterialGeneratedData);

            result.stateReport.VhsDistributionMaterialData.Should().BeEquivalentTo(testParams.expectedVhsDistributionMaterialData);
            result.stateReport.VhsDistributionMaterialGeneratedData.Should().BeEquivalentTo(testParams.expectedVhsDistributionMaterialGeneratedData);

            result.stateReport.EmailDistributionMaterialData.Should().BeEquivalentTo(testParams.expectedEmailDistributionMaterialData);
            result.stateReport.EmailDistributionMaterialGeneratedData.Should().BeEquivalentTo(testParams.expectedEmailDistributionMaterialGeneratedData);

            result.stateReport.IpdcLeafletDistributionMaterialData.Should().BeEquivalentTo(testParams.expectedIpdcLeafletDistributionMaterialData);
            result.stateReport.IpdcLeafletDistributionMaterialGeneratedData.Should().BeEquivalentTo(testParams.expectedIpdcLeafletDistributionMaterialGeneratedData);
        }
        public void CreateNewPlan_For_State_Unit_SavesMemberDataCorrectly(
            bool thisPeriodSubmitted,
            bool lastPeriod1Submitted,
            bool lastPeriod2Submitted
            )
        {
            DateTimeDbTestExtensions.SetUtcNowToRandomDate();
            var reportingTerms = ReportingPeriod.GetReportingTerms(reportingFrequency);

            if (reportingTerms.All(o => o != reportingTerm))
            {
                return;
            }

            var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer,
                                                          s =>
            {
                var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations(
                    stateReportingFrequency: reportingFrequency,
                    zoneReportingFrequency: ReportingFrequency.Monthly);

                var nswState  = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.NswState).Value;
                var laPerouse = new OrganizationBuilder()
                                .SetDescription("La perouse")
                                .SetOrganizationType(OrganizationType.Unit)
                                .SetReportingFreQuency(ReportingFrequency.Monthly)
                                .SetParent(nswState)
                                .BuildAndPersist(s);

                var lalorPark = new OrganizationBuilder()
                                .SetDescription("Lalor park")
                                .SetOrganizationType(OrganizationType.Unit)
                                .SetReportingFreQuency(ReportingFrequency.Monthly)
                                .SetParent(nswState)
                                .BuildAndPersist(s);

                var description = DataProvider.Get <string>();
                var year        = 2019;
                OrganizationReference organizationRef = nswState;

                var reportingPeriod = new ReportingPeriod(reportingFrequency, reportingTerm, year);
                var expected        = new StateReportBuilder()
                                      .SetDescription(description)
                                      .SetOrganization(organizationRef)
                                      .SetReportingPeriod(new ReportingPeriod(reportingFrequency, reportingPeriod.ReportingTerm,
                                                                              reportingPeriod.Year))
                                      .Build();


                var lastPeriod1 = reportingPeriod.GetReportingPeriodOfPreviousTerm();
                var lastPeriod2 = lastPeriod1.GetReportingPeriodOfPreviousTerm();

                var laPerouseThisPeriodUnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(thisPeriodSubmitted, laPerouse, reportingPeriod, s);
                var laPerouseLastPeriod1UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod1Submitted, laPerouse, lastPeriod1, s);
                var laPerouseLastPeriod2UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod2Submitted, laPerouse, lastPeriod2, s);

                var lalorParkThisPeriodUnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(thisPeriodSubmitted, lalorPark, reportingPeriod, s);
                var lalorParkLastPeriod1UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod1Submitted, lalorPark, lastPeriod1, s);
                var lalorParkLastPeriod2UnitReport =
                    IntegrationTestStateReportHelper.BuildAndPersistUnitReport(lastPeriod2Submitted, lalorPark, lastPeriod2, s);

                var laPerouseUnitReports = new[]
                {
                    laPerouseThisPeriodUnitReport,
                    laPerouseLastPeriod1UnitReport,
                    laPerouseLastPeriod2UnitReport,
                };

                var lalorParkeUnitReports = new[]
                {
                    lalorParkThisPeriodUnitReport,
                    lalorParkLastPeriod1UnitReport,
                    lalorParkLastPeriod2UnitReport,
                };

                var lastSubmittedLapeRouseReport = IntegrationTestStateReportHelper.GetLastSubmittedReport(laPerouseUnitReports, reportingPeriod);
                var lastSubmittedLalorParkReport = IntegrationTestStateReportHelper.GetLastSubmittedReport(lalorParkeUnitReports, reportingPeriod);

                var submittedReports = new[] { lastSubmittedLapeRouseReport, lastSubmittedLalorParkReport }.Where(o => o != null).ToArray();

                var expectedMemberMemberData               = IntegrationTestStateReportHelper.GetExpectedMemberData(submittedReports, nameof(StateReport.MemberMemberData));
                var expectedMemberMemberGeneratedData      = expectedMemberMemberData;
                var expectedAssociateMemberData            = IntegrationTestStateReportHelper.GetExpectedMemberData(submittedReports, nameof(StateReport.AssociateMemberData));
                var expectedAssociateMemberGeneratedData   = expectedAssociateMemberData;
                var expectedPreliminaryMemberData          = IntegrationTestStateReportHelper.GetExpectedMemberData(submittedReports, nameof(StateReport.PreliminaryMemberData));
                var expectedPreliminaryMemberGeneratedData = expectedPreliminaryMemberData;
                var expectedSupporterMemberData            = IntegrationTestStateReportHelper.GetExpectedMemberData(submittedReports, nameof(StateReport.SupporterMemberData));
                var expectedSupporterMemberGeneratedData   = expectedSupporterMemberData;

                return(new
                {
                    description,
                    reportingPeriod,
                    organizationRef,
                    expected,
                    expectedMemberMemberData,
                    expectedMemberMemberGeneratedData,
                    expectedAssociateMemberData,
                    expectedAssociateMemberGeneratedData,
                    expectedPreliminaryMemberData,
                    expectedPreliminaryMemberGeneratedData,
                    expectedSupporterMemberData,
                    expectedSupporterMemberGeneratedData,
                });
            });
            var result = Endpoint.Act(AssemblySetupFixture.EndpointTestContainer,
                                      c =>
            {
                var stateReport = c.GetInstance <IStateReportFactory>()
                                  .CreateNewStatePlan(testParams.description,
                                                      testParams.organizationRef,
                                                      testParams.reportingPeriod.ReportingTerm,
                                                      testParams.reportingPeriod.Year,
                                                      reportingFrequency);
                return(new
                {
                    stateReport
                });
            });

            result.stateReport.Should().NotBeNull();

            //no need to repeat this section for the other field types
            result.stateReport.Should().BeEquivalentTo(testParams.expected, e =>
                                                       e.Excluding(p => p.Id)
                                                       .Excluding(p => p.MemberMemberData)
                                                       .Excluding(p => p.MemberMemberGeneratedData)
                                                       .Excluding(p => p.AssociateMemberData)
                                                       .Excluding(p => p.AssociateMemberGeneratedData)
                                                       .Excluding(p => p.PreliminaryMemberData)
                                                       .Excluding(p => p.PreliminaryMemberGeneratedData)
                                                       .Excluding(p => p.SupporterMemberData)
                                                       .Excluding(p => p.SupporterMemberGeneratedData)

                                                       .Excluding(p => p.WorkerMeetingProgramData)
                                                       .Excluding(p => p.WorkerMeetingProgramGeneratedData)
                                                       .Excluding(p => p.DawahMeetingProgramData)
                                                       .Excluding(p => p.DawahMeetingProgramGeneratedData)
                                                       .Excluding(p => p.StateLeaderMeetingProgramData)
                                                       .Excluding(p => p.StateLeaderMeetingProgramGeneratedData)
                                                       .Excluding(p => p.StateOutingMeetingProgramData)
                                                       .Excluding(p => p.StateOutingMeetingProgramGeneratedData)
                                                       .Excluding(p => p.IftarMeetingProgramData)
                                                       .Excluding(p => p.IftarMeetingProgramGeneratedData)
                                                       .Excluding(p => p.LearningMeetingProgramData)
                                                       .Excluding(p => p.LearningMeetingProgramGeneratedData)
                                                       .Excluding(p => p.SocialDawahMeetingProgramData)
                                                       .Excluding(p => p.SocialDawahMeetingProgramGeneratedData)
                                                       .Excluding(p => p.DawahGroupMeetingProgramData)
                                                       .Excluding(p => p.DawahGroupMeetingProgramGeneratedData)
                                                       .Excluding(p => p.NextGMeetingProgramData)
                                                       .Excluding(p => p.NextGMeetingProgramGeneratedData)

                                                       .Excluding(p => p.CmsMeetingProgramData)
                                                       .Excluding(p => p.CmsMeetingProgramGeneratedData)
                                                       .Excluding(p => p.SmMeetingProgramData)
                                                       .Excluding(p => p.SmMeetingProgramGeneratedData)
                                                       .Excluding(p => p.MemberMeetingProgramData)
                                                       .Excluding(p => p.MemberMeetingProgramGeneratedData)
                                                       .Excluding(p => p.TafsirMeetingProgramData)
                                                       .Excluding(p => p.TafsirMeetingProgramGeneratedData)
                                                       .Excluding(p => p.UnitMeetingProgramData)
                                                       .Excluding(p => p.UnitMeetingProgramGeneratedData)
                                                       .Excluding(p => p.FamilyVisitMeetingProgramData)
                                                       .Excluding(p => p.FamilyVisitMeetingProgramGeneratedData)
                                                       .Excluding(p => p.EidReunionMeetingProgramData)
                                                       .Excluding(p => p.EidReunionMeetingProgramGeneratedData)
                                                       .Excluding(p => p.BbqMeetingProgramData)
                                                       .Excluding(p => p.BbqMeetingProgramGeneratedData)
                                                       .Excluding(p => p.GatheringMeetingProgramData)
                                                       .Excluding(p => p.GatheringMeetingProgramGeneratedData)
                                                       .Excluding(p => p.OtherMeetingProgramData)
                                                       .Excluding(p => p.OtherMeetingProgramGeneratedData)

                                                       .Excluding(p => p.GroupStudyTeachingLearningProgramData)
                                                       .Excluding(p => p.GroupStudyTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.StudyCircleTeachingLearningProgramData)
                                                       .Excluding(p => p.StudyCircleTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.PracticeDarsTeachingLearningProgramData)
                                                       .Excluding(p => p.PracticeDarsTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.StateLearningCampTeachingLearningProgramData)
                                                       .Excluding(p => p.StateLearningCampTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.QuranStudyTeachingLearningProgramData)
                                                       .Excluding(p => p.QuranStudyTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.QuranClassTeachingLearningProgramData)
                                                       .Excluding(p => p.QuranClassTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.MemorizingAyatTeachingLearningProgramData)
                                                       .Excluding(p => p.MemorizingAyatTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.StateLearningSessionTeachingLearningProgramData)
                                                       .Excluding(p => p.StateLearningSessionTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.StateQiyamulLailTeachingLearningProgramData)
                                                       .Excluding(p => p.StateQiyamulLailTeachingLearningProgramGeneratedData)

                                                       .Excluding(p => p.StudyCircleForAssociateMemberTeachingLearningProgramData)
                                                       .Excluding(p => p.StudyCircleForAssociateMemberTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.HadithTeachingLearningProgramData)
                                                       .Excluding(p => p.HadithTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.WeekendIslamicSchoolTeachingLearningProgramData)
                                                       .Excluding(p => p.WeekendIslamicSchoolTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.MemorizingHadithTeachingLearningProgramData)
                                                       .Excluding(p => p.MemorizingHadithTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.MemorizingDoaTeachingLearningProgramData)
                                                       .Excluding(p => p.MemorizingDoaTeachingLearningProgramGeneratedData)
                                                       .Excluding(p => p.OtherTeachingLearningProgramData)
                                                       .Excluding(p => p.OtherTeachingLearningProgramGeneratedData)

                                                       .Excluding(p => p.BookSaleMaterialData)
                                                       .Excluding(p => p.BookSaleMaterialGeneratedData)
                                                       .Excluding(p => p.BookDistributionMaterialData)
                                                       .Excluding(p => p.BookDistributionMaterialGeneratedData)
                                                       .Excluding(p => p.BookLibraryStockData)
                                                       .Excluding(p => p.BookLibraryStockGeneratedData)
                                                       .Excluding(p => p.OtherSaleMaterialData)
                                                       .Excluding(p => p.OtherSaleMaterialGeneratedData)
                                                       .Excluding(p => p.OtherDistributionMaterialData)
                                                       .Excluding(p => p.OtherDistributionMaterialGeneratedData)
                                                       .Excluding(p => p.OtherLibraryStockData)
                                                       .Excluding(p => p.OtherLibraryStockGeneratedData)
                                                       .Excluding(p => p.VhsSaleMaterialData)
                                                       .Excluding(p => p.VhsSaleMaterialGeneratedData)
                                                       .Excluding(p => p.VhsDistributionMaterialData)
                                                       .Excluding(p => p.VhsDistributionMaterialGeneratedData)
                                                       .Excluding(p => p.VhsLibraryStockData)
                                                       .Excluding(p => p.VhsLibraryStockGeneratedData)
                                                       .Excluding(p => p.EmailDistributionMaterialData)
                                                       .Excluding(p => p.EmailDistributionMaterialGeneratedData)
                                                       .Excluding(p => p.IpdcLeafletDistributionMaterialData)
                                                       .Excluding(p => p.IpdcLeafletDistributionMaterialGeneratedData)
                                                       .Excluding(p => p.BaitulMalFinanceData)
                                                       .Excluding(p => p.BaitulMalFinanceGeneratedData)
                                                       .Excluding(p => p.ADayMasjidProjectFinanceData)
                                                       .Excluding(p => p.ADayMasjidProjectFinanceGeneratedData)
                                                       .Excluding(p => p.MasjidTableBankFinanceData)
                                                       .Excluding(p => p.MasjidTableBankFinanceGeneratedData)


                                                       .Excluding(p => p.QardeHasanaSocialWelfareData)
                                                       .Excluding(p => p.QardeHasanaSocialWelfareGeneratedData)
                                                       .Excluding(p => p.PatientVisitSocialWelfareData)
                                                       .Excluding(p => p.PatientVisitSocialWelfareGeneratedData)
                                                       .Excluding(p => p.SocialVisitSocialWelfareData)
                                                       .Excluding(p => p.SocialVisitSocialWelfareGeneratedData)
                                                       .Excluding(p => p.TransportSocialWelfareData)
                                                       .Excluding(p => p.TransportSocialWelfareGeneratedData)
                                                       .Excluding(p => p.ShiftingSocialWelfareData)
                                                       .Excluding(p => p.ShiftingSocialWelfareGeneratedData)
                                                       .Excluding(p => p.ShoppingSocialWelfareData)
                                                       .Excluding(p => p.ShoppingSocialWelfareGeneratedData)
                                                       .Excluding(p => p.FoodDistributionSocialWelfareData)
                                                       .Excluding(p => p.FoodDistributionSocialWelfareGeneratedData)
                                                       .Excluding(p => p.CleanUpAustraliaSocialWelfareData)
                                                       .Excluding(p => p.CleanUpAustraliaSocialWelfareGeneratedData)
                                                       .Excluding(p => p.OtherSocialWelfareData)
                                                       .Excluding(p => p.OtherSocialWelfareGeneratedData)

                                                       );

            result.stateReport.MemberMemberData.Should().BeEquivalentTo(testParams.expectedMemberMemberData);
            result.stateReport.MemberMemberGeneratedData.Should().BeEquivalentTo(testParams.expectedMemberMemberGeneratedData);

            result.stateReport.AssociateMemberData.Should().BeEquivalentTo(testParams.expectedAssociateMemberData);
            result.stateReport.AssociateMemberGeneratedData.Should().BeEquivalentTo(testParams.expectedAssociateMemberGeneratedData);

            result.stateReport.PreliminaryMemberData.Should().BeEquivalentTo(testParams.expectedPreliminaryMemberData);
            result.stateReport.PreliminaryMemberGeneratedData.Should().BeEquivalentTo(testParams.expectedPreliminaryMemberGeneratedData);

            result.stateReport.SupporterMemberData.Should().BeEquivalentTo(testParams.expectedSupporterMemberData);
            result.stateReport.SupporterMemberGeneratedData.Should().BeEquivalentTo(testParams.expectedSupporterMemberGeneratedData);
        }
Example #26
0
 public UnitReport CreateNewUnitPlanAi(string description, OrganizationReference organizationRef, ReportingTerm reportingTerm, int year, ReportingFrequency reportingFrequency)
 {
     return(CreateNew(description, organizationRef, reportingTerm, year, reportingFrequency, true));
 }
        public void CreateNewUnitPlanAi_SavesCorrectlyWhenLastYearSubmitted(ReportingFrequency reportingFrequency)
        {
            DateTimeDbTestExtensions.SetUtcNowToRandomDate();

            var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer,
                                                          s =>
            {
                var organizationType = OrganizationType.Unit;

                var description   = DataProvider.Get <string>();
                var year          = 2019;
                var reportingTerm = ReportingTerm.One;
                var organization  = new TestObjectBuilder <Organization>()
                                    .SetArgument(o => o.OrganizationType, organizationType)
                                    .SetArgument(o => o.ReportingFrequency, reportingFrequency)
                                    .BuildAndPersist(s);

                OrganizationReference organizationRef = organization;

                var reportingPeriod = new ReportingPeriod(reportingFrequency, reportingTerm, year);

                var lastPeriod1 = reportingPeriod.GetReportingPeriodOfPreviousTerm();
                var lastPeriod1ReportingData = new ReportDataBuilder().Build();
                var lastPeriod1UnitReport    = new UnitReport(description, organization, lastPeriod1, lastPeriod1ReportingData);
                lastPeriod1UnitReport.MarkStatusAsSubmitted();
                s.Save(lastPeriod1UnitReport);

                var lastPeriod2 = lastPeriod1.GetReportingPeriodOfPreviousTerm();
                var lastPeriod2ReportingData = new ReportDataBuilder().Build();
                var lastPeriod2UnitReport    = new UnitReport(description, organization, lastPeriod2, lastPeriod2ReportingData);
                lastPeriod2UnitReport.MarkStatusAsSubmitted();
                s.Save(lastPeriod2UnitReport);

                var expected = new UnitReportBuilder()
                               .SetDescription(description)
                               .SetOrganization(organization)
                               .SetReportingPeriod(new ReportingPeriod(reportingFrequency, reportingTerm, year))
                               .Build();

                return(new
                {
                    description,
                    organizationRef,
                    reportingPeriod,
                    lastPeriod1UnitReport,
                    expected
                });
            });
            var result = Endpoint.Act(AssemblySetupFixture.EndpointTestContainer,
                                      c =>
            {
                var unitReport = c.GetInstance <UnitReportFactory>()
                                 .CreateNewUnitPlanAi(testParams.description,
                                                      testParams.organizationRef,
                                                      testParams.reportingPeriod.ReportingTerm,
                                                      testParams.reportingPeriod.Year,
                                                      reportingFrequency);
                return(new
                {
                    unitReport
                });
            });

            result.unitReport.Should().NotBeNull();

            result.unitReport.Should().BeEquivalentTo(testParams.expected, e =>
                                                      e.Excluding(p => p.Id)
                                                      .Excluding(p => p.AssociateMemberData)
                                                      .Excluding(p => p.PreliminaryMemberData)
                                                      .Excluding(p => p.WorkerMeetingProgramData)
                                                      .Excluding(p => p.SupporterMemberData)
                                                      .Excluding(p => p.DawahMeetingProgramData)
                                                      .Excluding(p => p.MemberMemberData));


            TestHelper.MemberDataForCreateUnitPlanShouldBeEquivalent(result.unitReport.AssociateMemberData, testParams.lastPeriod1UnitReport.AssociateMemberData);
            TestHelper.MemberDataForCreateUnitPlanShouldBeEquivalent(result.unitReport.PreliminaryMemberData, testParams.lastPeriod1UnitReport.PreliminaryMemberData);
            result.unitReport.PreliminaryMemberData.Should().BeEquivalentTo(testParams.lastPeriod1UnitReport.WorkerMeetingProgramData);
        }
Example #28
0
 public ZoneReportBuilder SetOrganization(OrganizationReference organization)
 {
     _organization = organization;
     return(this);
 }