コード例 #1
0
        public void GetOverviewProject(IdentifierBase <Guid> identifierModel)
        {
            var contextHelper = new DbContextHelper();

            using (var dbContext = new ProSManContext(contextHelper.CreateNewContextOptions()))
            {
                contextHelper.FillData(dbContext, identifierModel.Id, true, new ExtraEntitiesModel
                {
                    Count = 2
                });

                var dashboardService = new DashboardService(dbContext);

                var overviewProject = dashboardService.GetOverviewProject(identifierModel.Id);

                Assert.True(overviewProject != null);
                Assert.True(overviewProject.AverageTasksInSprint > 0);
                Assert.True(overviewProject.TotalBacklogTasks > 0);
                Assert.True(overviewProject.TotalNonSprintTasks > 0);
                Assert.True(overviewProject.TotalSprints > 0);
                Assert.True(overviewProject.AverageHoursInSprint > 0);

                // check round to two digits after comma
                Assert.Equal(overviewProject.AverageTasksInSprint, Math.Round(overviewProject.AverageTasksInSprint, 2));
                Assert.Equal(overviewProject.AverageHoursInSprint, Math.Round(overviewProject.AverageHoursInSprint, 2));
            }
        }
コード例 #2
0
        /// <summary>
        /// Convert entity identifier to a CX
        /// </summary>
        public static CX FromModel <TBind>(this CX me, IdentifierBase <TBind> id)
            where TBind : VersionedEntityData <TBind>, new()
        {
            me.IDNumber.Value = id.Value;
            me.AssigningAuthority.FromModel(id.LoadProperty <AssigningAuthority>("Authority"));

            if (id.ExpiryDate.HasValue)
            {
                me.ExpirationDate.SetYearMonthDayPrecision(id.ExpiryDate.Value.Year, id.ExpiryDate.Value.Month, id.ExpiryDate.Value.Day);
            }
            if (id.IssueDate.HasValue)
            {
                me.EffectiveDate.SetYearMonthDayPrecision(id.IssueDate.Value.Year, id.IssueDate.Value.Month, id.IssueDate.Value.Day);
            }

            me.CheckDigit.Value       = id.CheckDigit;
            me.CheckDigitScheme.Value = id.LoadProperty <AssigningAuthority>("Authority").GetCustomValidator()?.Name;

            // Identifier type
            if (id.IdentifierType?.TypeConceptKey.HasValue == true)
            {
                var refTerm = ApplicationServiceContext.Current.GetService <IConceptRepositoryService>().GetConceptReferenceTerm(id.IdentifierType.TypeConceptKey.Value, IdentifierTypeCodeSystem);
                me.IdentifierTypeCode.Value = refTerm?.Mnemonic;
            }
            else
            {
                me.IdentifierTypeCode.Value = "PT"; // EXTERNAL ID
            }
            return(me);
        }
コード例 #3
0
ファイル: DataConverter.cs プロジェクト: chochohtunn/santedb
        /// <summary>
        /// Convert entity identifier to a CX
        /// </summary>
        public static CX FromModel <TBind>(this CX me, IdentifierBase <TBind> id)
            where TBind : VersionedEntityData <TBind>, new()
        {
            me.IDNumber.Value = id.Value;
            me.AssigningAuthority.FromModel(id.LoadProperty <AssigningAuthority>("Authority"));

            // Identifier type
            if (id.IdentifierType?.TypeConceptKey.HasValue == true)
            {
                var refTerm = ApplicationServiceContext.Current.GetService <IConceptRepositoryService>().GetConceptReferenceTerm(id.IdentifierType.TypeConceptKey.Value, IdentifierTypeCodeSystem);
                me.IdentifierTypeCode.Value = refTerm?.Mnemonic;
            }
            else
            {
                me.IdentifierTypeCode.Value = "PT"; // EXTERNAL ID
            }
            return(me);
        }
コード例 #4
0
        /// <summary>
        /// Converts a <see cref="IdentifierBase{TBoundModel}" /> instance to an <see cref="FhirIdentifier" /> instance.
        /// </summary>
        /// <typeparam name="TBoundModel">The type of the bound model.</typeparam>
        /// <param name="identifier">The identifier.</param>
        /// <returns>Returns the mapped FHIR identifier.</returns>
        public static FhirIdentifier ToFhirIdentifier <TBoundModel>(IdentifierBase <TBoundModel> identifier) where TBoundModel : VersionedEntityData <TBoundModel>, new()
        {
            traceSource.TraceEvent(EventLevel.Verbose, "Mapping entity identifier");

            if (identifier == null)
            {
                return(null);
            }

            var imetaService = ApplicationServiceContext.Current.GetService <IAssigningAuthorityRepositoryService>();
            var authority    = imetaService.Get(identifier.AuthorityKey.Value);

            return(new FhirIdentifier
            {
                System = new FhirUri(new Uri(authority?.Url ?? $"urn:oid:{authority?.Oid}")),
                Type = ToFhirCodeableConcept(identifier.LoadProperty <IdentifierType>(nameof(EntityIdentifier.IdentifierType))?.TypeConcept),
                Value = identifier.Value
            });
        }
コード例 #5
0
        public void GetDashboard(IdentifierBase <Guid> identifierModel)
        {
            var contextHelper = new DbContextHelper();

            using (var dbContext = new ProSManContext(contextHelper.CreateNewContextOptions()))
            {
                contextHelper.FillData(dbContext, identifierModel.Id);

                var dashboardService = new DashboardService(dbContext);

                var dasboard = dashboardService.GetDashboard(EntityNameConstants.User);

                var project = dbContext.Projects
                              .Where(c => c.Id == identifierModel.Id)
                              .FirstOrDefault();

                Assert.True(dasboard != null);
                Assert.True(dasboard.Projects != null);
                Assert.True(dasboard.Projects.Count > 0);
            }
        }
コード例 #6
0
        public void GetCategoryDashboard(IdentifierBase <Guid> identifierModel)
        {
            var contextHelper = new DbContextHelper();

            using (var dbContext = new ProSManContext(contextHelper.CreateNewContextOptions()))
            {
                contextHelper.FillData(dbContext, identifierModel.Id);

                var dashboardService = new DashboardService(dbContext);

                var categoryDashboard = dashboardService.GetCategoryDashboard(identifierModel.Id);

                var category = dbContext.Categories
                               .Where(c => c.ProjectId == identifierModel.Id)
                               .FirstOrDefault();

                Assert.True(categoryDashboard != null);
                Assert.True(categoryDashboard.Count > 0);
                Assert.Contains(categoryDashboard, cd => cd.Name == category.Name);
            }
        }