コード例 #1
0
        public async Task <CoordinatorViewItem> GetCoordinatorView(Guid applicationUniqueId)
        {
            var applicationFacade      = this.container.GetInstance <ApplicationFacade>();
            var applicationTypeManager = this.container.GetInstance <ApplicationTypeManager>();
            var userManager            = this.container.GetInstance <UserManager>();
            var organizationManager    = this.container.GetInstance <OrganizationManager>();

            var inspectionScheduleManager = this.container.GetInstance <InspectionScheduleManager>();
            var coordinatorViewItem       = new CoordinatorViewItem();

            var complianceApplication = applicationFacade.GetComplianceApplicationByAppUniqueId(applicationUniqueId);

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


            var applicationType = applicationTypeManager.GetByName(Constants.ApplicationTypes.Common);

            if (applicationType == null)
            {
                throw new ObjectNotFoundException(string.Format("Cannot find application type {0}", Constants.ApplicationTypes.Common));
            }

            //var application = applicationManager.GetComplianceApplicationById(appliactionUniqueId).Result;

            var inspectionScheduleList = inspectionScheduleManager.GetInspectionScheduleByOrganizationID(complianceApplication.OrganizationId);

            //var applicationSectionList = applicationFacade.GetApplicationSectionItems(complianceApplication.OrganizationId, applicationType.Id, null); //

            coordinatorViewItem.ComplianceApplication = complianceApplication;
            coordinatorViewItem.Personnel             = userManager.GetPersonnel(complianceApplication.OrganizationId);

            coordinatorViewItem.InspectionTeamMembers = ModelConversions.ConvertToInspectionTeamMember(inspectionScheduleList).Distinct().ToList();
            coordinatorViewItem.Overview = ModelConversions.ConvertToOverviewItem(complianceApplication, inspectionScheduleList);
            coordinatorViewItem.Overview.AccreditedSince = complianceApplication.AccreditedSince;

            return(await Task.FromResult(coordinatorViewItem));
        }