public void PrepareForSolution(IClaimsInfoProvider claimsInfoProvider, string solutionId)
        {
            GetInternal(() =>
            {
                if (_env.IsDevelopment() && _isFakeSharePoint)
                {
                    LogInformation($"PrepareForSolution disabled in 'test' Development environment");
                    return(0);
                }

                LogInformation($"PrepareForSolution: solutionId: {solutionId}");
                var soln = _solutionsDatastore.ById(solutionId);
                if (soln == null)
                {
                    throw new KeyNotFoundException($"Could not find solution: {solutionId}");
                }
                var org             = _organisationsDatastore.ById(soln.OrganisationId);
                var claimedCapNames = _capabilitiesImplementedDatastore
                                      .BySolution(solutionId)
                                      .Select(x => CleanupFileName(_capabilitiesDatastore.ById(x.CapabilityId).Name));
                var claimedNameStds = _standardsApplicableDatastore
                                      .BySolution(solutionId)
                                      .Select(x => CleanupFileName(_standardsDatastore.ById(x.StandardId).Name));

                var capsTask = Task.Factory.StartNew(() => CreateClaimSubFolders(CreateClientContext(), SharePoint_OrganisationsRelativeUrl, CleanupFileName(org.Name), CleanupFileName(soln.Name), CleanupFileName(soln.Version), CleanupFileName(claimsInfoProvider.GetCapabilityFolderName()), claimedCapNames));
                var stdsTask = Task.Factory.StartNew(() => CreateClaimSubFolders(CreateClientContext(), SharePoint_OrganisationsRelativeUrl, CleanupFileName(org.Name), CleanupFileName(soln.Name), CleanupFileName(soln.Version), CleanupFileName(claimsInfoProvider.GetStandardsFolderName()), claimedNameStds));
                Task.WaitAll(capsTask, stdsTask);

                return(0);
            });
        }
Ejemplo n.º 2
0
        public virtual IActionResult ApiStandardsByIdByIdGet([FromRoute][Required] string id)
        {
            try
            {
                var standard = _datastore.ById(id);

                if (standard.Id == Guid.Empty)
                {
                    return(StatusCode(404));
                }

                return(new ObjectResult(standard));
            }
            catch (Crm.CrmApiException ex)
            {
                return(StatusCode((int)ex.HttpStatus, ex.Message));
            }
        }
Ejemplo n.º 3
0
 public Standards ById(string id)
 {
     return((new[] { _datastore.ById(id) }).SingleOrDefault());
 }