Beispiel #1
0
        internal DomainServices.Sessions.SessionReport ConvertSessionReport(SessionReportConfiguration sessionReportConfiguration)
        {
            var response = new DomainServices.Sessions.SessionReport();

            response.Summary = sessionReportConfiguration.Summary.Answer;

            response.BehaviorsSection = new BehaviorsReportSection
            {
                Behaviors = sessionReportConfiguration.Behaviors.Options
                            .Where(o => o.Answer)
                            .Select(o => new Behavior
                {
                    Name        = o.Question,
                    Description = o.Notes
                })
                            .ToList()
            };

            response.InterventionsSection = new InterventionsReportSection
            {
                Interventions = sessionReportConfiguration.Interventions.Options
                                .Where(o => !String.IsNullOrEmpty(o.Answer))
                                .Select(o => new Intervention
                {
                    Name        = o.Name,
                    Response    = o.Answer,
                    Description = o.Notes
                })
                                .ToList()
            };

            response.ReinforcersSection = new ReinforcersReportSection
            {
                Reinforcers = sessionReportConfiguration.Reinforcers.Options
                              .Where(o => o.Answer)
                              .Select(o => new Reinforcer
                {
                    Name        = o.Question,
                    Description = o.Notes
                })
                              .ToList()
            };

            response.GoalsSection = new GoalsReportSection
            {
                Goals = new List <Goal>                                                        {
                    new Goal
                    {
                        Name     = sessionReportConfiguration.Goals.Answer,
                        Progress = sessionReportConfiguration.Goals.Progress
                    }
                }
                .ToList()
            };

            response.BarriersSection = new BarriersReportSection
            {
                Barriers = sessionReportConfiguration.Barriers.Options
                           .Where(o => o.Answer)
                           .Select(o => new Barrier
                {
                    Name        = o.Question,
                    Description = o.Notes
                })
                           .ToList()
            };

            return(response);
        }
Beispiel #2
0
        SessionReportConfiguration ConvertSessionReportConfiguration(DomainServices.Sessions.SessionReportConfiguration aabcSessionReportConfiguration)
        {
            var atrackSessionReportConfiguration = new SessionReportConfiguration();

            var summary = aabcSessionReportConfiguration.Fields.FirstOrDefault(f => f.Name == "Summary") as DomainServices.Sessions.TextFieldConfiguration;

            if (summary != null)
            {
                atrackSessionReportConfiguration.Summary = new TextFieldConfiguration
                {
                    Name = summary.Name, ControlType = summary.ControlType
                };
            }

            var behavior = aabcSessionReportConfiguration.Fields.FirstOrDefault(f => f.Name == "Behaviors") as DomainServices.Sessions.MultiSelectFieldConfiguration <MultiSelectOption>;

            if (behavior != null)
            {
                atrackSessionReportConfiguration.Behaviors = new global::ATrack.Integrators.ProviderApp.Contracts.Messages.Sessions.MultiSelectFieldConfiguration <QuestionAnswer <string, bool> >
                {
                    Name        = behavior.Name,
                    ControlType = behavior.ControlType,
                    Options     = behavior.Options.Select(o =>
                                                          new QuestionAnswer <string, bool> {
                        Question = o.Name
                    })
                                  .ToList()
                };
            }

            var interventions = aabcSessionReportConfiguration.Fields.FirstOrDefault(f => f.Name == "Interventions") as DomainServices.Sessions.MultiSelectFieldConfiguration <DomainServices.Sessions.MultiSelectOptionWithResponses>;

            if (interventions != null)
            {
                atrackSessionReportConfiguration.Interventions = new global::ATrack.Integrators.ProviderApp.Contracts.Messages.Sessions.MultiSelectFieldConfiguration <MultiSelectWithResponses>()
                {
                    Name        = interventions.Name,
                    ControlType = interventions.ControlType,
                    Options     = interventions.Options.Select(o =>
                                                               new MultiSelectWithResponses
                    {
                        Name      = o.Name,
                        Responses = o.Responses.Select(r => r.Name).ToList()
                    }).ToList()
                };
            }

            var reinforcers = aabcSessionReportConfiguration.Fields.FirstOrDefault(f => f.Name == "Reinforcers") as DomainServices.Sessions.MultiSelectFieldConfiguration <MultiSelectOption>;

            if (reinforcers != null)
            {
                atrackSessionReportConfiguration.Reinforcers = new global::ATrack.Integrators.ProviderApp.Contracts.Messages.Sessions.MultiSelectFieldConfiguration <QuestionAnswer <string, bool> >
                {
                    Name        = reinforcers.Name,
                    ControlType = reinforcers.ControlType,
                    Options     = reinforcers.Options.Select(o =>
                                                             new QuestionAnswer <string, bool> {
                        Question = o.Name
                    })
                                  .ToList()
                };
            }

            var goals = aabcSessionReportConfiguration.Fields.FirstOrDefault(f => f.Name == "Goals") as DomainServices.Sessions.CustomFieldConfiguration;

            if (goals != null)
            {
                atrackSessionReportConfiguration.Goals = new CustomFieldConfiguration
                {
                    Name        = goals.Name,
                    ControlType = goals.ControlType,
                };
            }

            var barriers = aabcSessionReportConfiguration.Fields.FirstOrDefault(f => f.Name == "Barriers") as DomainServices.Sessions.MultiSelectFieldConfiguration <MultiSelectOption>;

            if (barriers != null)
            {
                atrackSessionReportConfiguration.Barriers = new global::ATrack.Integrators.ProviderApp.Contracts.Messages.Sessions.MultiSelectFieldConfiguration <QuestionAnswer <string, bool> >
                {
                    Name        = barriers.Name,
                    ControlType = barriers.ControlType,
                    Options     = barriers.Options.Select(o =>
                                                          new QuestionAnswer <string, bool> {
                        Question = o.Name
                    })
                                  .ToList()
                };
            }

            return(atrackSessionReportConfiguration);
        }