コード例 #1
0
        private readonly IDataService _service; //  Data service for accessing Aggregates

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Ctor: Accepts injected dataservice
        /// </summary>
        /// <param name="dataService">The DataService instance being injected</param>
        /// <param name="datasourceMapper">The mapper instance</param>
        public DatasourceController(IDataService dataService, IDatasourceMapper datasourceMapper, IDatasourceLinkGenerator generator)
        {
            if (dataService == null)
                throw new ArgumentNullException("dataService", "No valid dataservice supplied to the controller.");
            if (datasourceMapper == null)
                throw new ArgumentNullException("datasourceMapper", "No valid mapper class supplied to the controller.");
            if (generator == null)
                throw new ArgumentNullException("generator", "No valid link generator supplied to the controller.");

            _service = dataService;
            _mapper = datasourceMapper;
            _generator = generator;
        }
コード例 #2
0
 /// <summary>
 /// Responsibile for mapping a collection of Windfarm Data sources
 /// to the set of links to be returned by the web service
 /// </summary>
 /// <param name="sources">Collection of Windfarm Data sources</param>
 /// <param name="generator">The instance of the Link Generator</param>
 /// <returns>Collection of Links to the individaul aggregate data sources</returns>
 public IEnumerable<DataSourceInfo> MapSourcesToLinks(IEnumerable<Core.Model.DataSource> sources, IDatasourceLinkGenerator generator)
 {
     var results = new List<DataSourceInfo>();
     foreach (var dataSource in sources)
     {
         var uiDataSource = new DataSourceInfo()
         {
             Title = dataSource.Title,
             Links = generator.GenerateCollectionLinks(dataSource)
         };
         results.Add(uiDataSource);
     }
     return results;
 }
コード例 #3
0
        /// <summary>
        /// Maps a single aggregate data source to the UI datasource
        /// returned by the web service, including any additional links
        /// </summary>
        /// <param name="source">the Windfarm Data Source</param>
        /// <param name="generator">The instance of the Link Generator</param>
        /// <returns>UI data source and links</returns>
        public DataSource MapSource(Core.Model.DataSource source, IDatasourceLinkGenerator generator)
        {
            if (source == null)
                return new DataSource();

            var datasource = new DataSource()
            {
                Id = source.Id,
                Title = source.Title,
                Description = source.Description,
                Copyright = source.CopyRight,
                Path = source.AccessPath,
                LastUpdateed = source.LastImported,
                Links = generator.GenerateItemLinks(source)
            };
            return datasource;
        }