public CapabilityMappings GetAll()
        {
            return(GetInternal(() =>
            {
                var retval = new CapabilityMappings();

                var capStds = _capabilityStandardDatastore.GetAll();
                var caps = _capabilitiesDatastore.GetAll();
                var stds = _standardsDatastore.GetAll();

                foreach (var cap in caps)
                {
                    var thisCapMap = retval.CapabilityMapping.SingleOrDefault(x => x.Capability.Id == cap.Id);
                    if (thisCapMap == null)
                    {
                        thisCapMap = new CapabilityMapping
                        {
                            Capability = cap
                        };

                        var optStds = capStds
                                      .Where(cs => cs.CapabilityId == cap.Id)
                                      .Select(cs =>
                                              new OptionalStandard
                        {
                            StandardId = cs.StandardId,
                            IsOptional = cs.IsOptional
                        });
                        thisCapMap.OptionalStandard.AddRange(optStds);

                        retval.CapabilityMapping.Add(thisCapMap);
                    }
                }

                retval.Standard.AddRange(stds);

                return retval;
            }));
        }
Esempio n. 2
0
 public IEnumerable <Capabilities> GetAll()
 {
     return(_filter.Filter(_datastore.GetAll()));
 }