Beispiel #1
0
            public object OnResolved(object resolvedObject)
            {
                if (resolvedObject != null)
                {
                    // Sync content schema
                    if (resolvedObject is ISchemaProvider)
                    {
                        ISchemaProvider schemaProvider = (ISchemaProvider)resolvedObject;
                        ISiteProvider   siteProvider   = EngineContext.Current.Resolve <ISiteProvider>();

                        return(new SchemaProviderWrapper(schemaProvider, siteProvider));
                    }

                    if (resolvedObject is SchemaManager)
                    {
                        ISchemaProvider schemaProvider = EngineContext.Current.Resolve <ISchemaProvider>();
                        SchemaManager   schemaManager  = (SchemaManager)resolvedObject;
                        ISiteProvider   siteProvider   = EngineContext.Current.Resolve <ISiteProvider>();

                        return(new SchemaManagerWrapper(schemaProvider, schemaManager, siteProvider));
                    }
                }

                return(resolvedObject);
            }
Beispiel #2
0
        /// <summary>
        /// 1. export repository as a zip file.
        /// 2. offline the site.
        /// 3. zip the site directory as a zip file.
        /// 4. online the site.
        /// </summary>
        /// <param name="site"></param>
        /// <param name="outputStream"></param>
        public void Export(Site site, System.IO.Stream outputStream, bool includeDatabase, bool includeSubSites)
        {
            ISiteProvider siteProvider = Providers.SiteProvider;

            //export the data to disk.
            ExportLabels(site, includeSubSites);
            ExportPages(site, includeSubSites);
            ExportHtmlBlocks(site, includeSubSites);

            using (ZipFile zipFile = new ZipFile(Encoding.UTF8))
            {
                //zipFile.ZipError += new EventHandler<ZipErrorEventArgs>(zipFile_ZipError);
                var ignores = "name != *\\~versions\\*.* and name != *\\.svn\\*.* and name != *\\_svn\\*.*";
                if (!includeSubSites)
                {
                    ignores += "and name != " + site.PhysicalPath + "*\\Sites\\*.*";
                }
                zipFile.AddSelectedFiles(ignores, site.PhysicalPath, "", true);
                if (includeDatabase)
                {
                    ExportSiteRepository(site, site, zipFile, includeSubSites);
                }

                zipFile.ZipErrorAction = ZipErrorAction.Skip;

                zipFile.Save(outputStream);
            }
        }
Beispiel #3
0
        /// <summary>
        /// 1. export repository as a zip file.
        /// 2. offline the site.
        /// 3. zip the site directory as a zip file.
        /// 4. online the site.
        /// </summary>
        /// <param name="site"></param>
        /// <param name="outputStream"></param>
        public virtual void Export(Site site, System.IO.Stream outputStream, bool includeDatabase, bool includeSubSites)
        {
            ISiteProvider siteProvider = Providers.SiteProvider;

            //export the data to disk.
            ExportSiteElements(site, includeSubSites);

            using (ZipFile zipFile = new ZipFile(Encoding.UTF8))
            {
                //zipFile.ZipError += new EventHandler<ZipErrorEventArgs>(zipFile_ZipError);
                var ignores = "name != *\\~versions\\*.* and name != *\\.svn\\*.* and name != *\\_svn\\*.*";
                var dirs    = Directory.EnumerateDirectories(site.PhysicalPath);
                if (!includeSubSites)
                {
                    dirs = dirs.Where(it => !Path.GetFileName(it).EqualsOrNullEmpty("Sites", StringComparison.OrdinalIgnoreCase));
                }
                foreach (var dir in dirs)
                {
                    zipFile.AddSelectedFiles(ignores, dir, Path.GetFileName(dir), true);
                }
                zipFile.AddFiles(Directory.EnumerateFiles(site.PhysicalPath), "");

                if (includeDatabase)
                {
                    ExportSiteRepository(site, site, zipFile, includeSubSites);
                    ExportSiteMembership(site, site, zipFile, includeSubSites);
                }

                zipFile.ZipErrorAction = ZipErrorAction.Skip;

                zipFile.Save(outputStream);
            }
        }
Beispiel #4
0
        /// <summary>
        /// 1. export repository as a zip file.
        /// 2. offline the site.
        /// 3. zip the site directory as a zip file.
        /// 4. online the site.
        /// </summary>
        /// <param name="site"></param>
        /// <param name="outputStream"></param>
        public void Export(Site site, System.IO.Stream outputStream)
        {
            ISiteProvider siteRepository = Providers.SiteProvider;

            siteRepository.Offline(site);
            try
            {
                //export the data to disk.
                ExportLabels(site, true);
                ExportPages(site, true);
                ExportHtmlBlocks(site, true);

                using (ZipFile zipFile = new ZipFile(Encoding.UTF8))
                {
                    //zipFile.ZipError += new EventHandler<ZipErrorEventArgs>(zipFile_ZipError);

                    zipFile.AddSelectedFiles("name != *\\~versions\\*.* and name != *\\.svn\\*.* and name != *\\_svn\\*.*", site.PhysicalPath, "", true);

                    ExportSiteRepository(site, site, zipFile);

                    zipFile.ZipErrorAction = ZipErrorAction.Skip;

                    zipFile.Save(outputStream);
                }
            }
            finally
            {
                siteRepository.Online(site);
            }
        }
Beispiel #5
0
        public WebDisplay(WebData webData)
        {
            DirectoryInfo baseDir = null;

            if (string.IsNullOrEmpty(webData.WebinterfaceHostPath))
            {
                for (int i = 0; i < 4; i++)
                {
                    var up       = Path.Combine(Enumerable.Repeat("..", i).ToArray());
                    var checkDir = Path.Combine(up, "WebInterface");
                    if (Directory.Exists(checkDir))
                    {
                        baseDir = new DirectoryInfo(checkDir);
                        break;
                    }
                }
            }
            else if (Directory.Exists(webData.WebinterfaceHostPath))
            {
                baseDir = new DirectoryInfo(webData.WebinterfaceHostPath);
            }

            if (baseDir == null)
            {
                throw new InvalidOperationException("Can't find a WebInterface path to host. Try specifying the path to host in the config");
            }

            var dir = new FolderProvider(baseDir);

            map.Map("/", dir);
            map.Map("/site/", dir);

            Site404 = map.TryGetSite(new Uri("http://localhost/404.html"));
            map.Map("/", map.TryGetSite(new Uri("http://localhost/index.html")));
        }
Beispiel #6
0
 public SiteDownloader(string sessionId, ISiteProvider siteProvider, IPageDownloader pageDownloader, DownloadOptions options)
 {
     _sessionId = sessionId;
     _siteProvider = siteProvider;
     _pageDownloader = pageDownloader;
     _options = options;
 }
 public TextFolderManagerWrapper(ITextFolderProvider textFolderProvider, TextFolderManager textFolderManger,
     ISiteProvider siteProvider)
     : base(textFolderProvider)
 {
     _textFolderManager = textFolderManger;
     _siteProvider = siteProvider;
 }
Beispiel #8
0
 public SiteDownloader(string sessionId, ISiteProvider siteProvider, IPageDownloader pageDownloader, DownloadOptions options)
 {
     _sessionId      = sessionId;
     _siteProvider   = siteProvider;
     _pageDownloader = pageDownloader;
     _options        = options;
 }
Beispiel #9
0
 public TextFolderManagerWrapper(ITextFolderProvider textFolderProvider, TextFolderManager textFolderManger,
                                 ISiteProvider siteProvider)
     : base(textFolderProvider)
 {
     _textFolderManager = textFolderManger;
     _siteProvider      = siteProvider;
 }
 public CheckingSiteRequestMiddleware(
     ISiteRequestAccessor siteRequest,
     ISiteProvider siteProvider,
     IThemeProvider themeProvider)
 {
     _siteRequestAccessor = siteRequest;
     _siteProvider        = siteProvider;
     _themeProvider       = themeProvider;
 }
Beispiel #11
0
        public WebDisplay(MainBot bot) : base(bot)
        {
            var baseDir = new DirectoryInfo(Path.Combine("..", "..", "Web", "Interface"));
            var dir     = new FolderProvider(baseDir);

            map.Map("/", dir);
            map.Map("/site/", dir);

            Site404 = map.TryGetSite(new Uri("http://localhost/404.html"));
            map.Map("/", map.TryGetSite(new Uri("http://localhost/index.html")));
        }
        protected override async Task Loaded(object sender, EventArgs ea)
        {
            Presenter.ProfileChanged += async(s, e) => { await ProfileChanged(s, e as EventArgs <bool>); };

            _siteProvider = Create.WithCurrentProfile <ISiteProvider>(_view);

            await GetSitecoreSites();

            //_view.EnableControls(e.Value);
            _view.SetWebsiteDropdownByProfile(SelectedProfile.Website);
            _view.SetWebrootTextbox(SelectedProfile.Webroot);
        }
        internal BaseBackupRestorePresenter(IBaseBackupRestoreView view)
        {
            _profileProvider = Create.New <IProfilesProvider>();
            var profile = _profileProvider.SelectedProfile;

            _view = view;

            _view.FolderBrowserClicked += (sender, e) => e.Value1.Text = ShowFolderSelector(profile, e.Value2);
            _view.AppendEnvironmentToCaption(profile.WindowCaptionSuffix);

            _scriptWrapper      = Create.WithParam(_view, d => d.ToString());
            _remoteScriptCopier = Create.WithCurrentProfile <IRemoteScriptCopier>(_view);
            _siteProvider       = Create.WithCurrentProfile <ISiteProvider>(_view);
        }
Beispiel #14
0
 internal static bool Verify(IEnumerable <Tuple <CompoundIdentity, string, string> > items, BundleDataType type, UserSecurityContext ctx)
 {
     if (type == BundleDataType.TaxaUnit)
     {
         ITaxaUnitProvider tprov = TaxonomyManager.Instance.GetTaxaUnitProvider(ctx);
         if (tprov != null)
         {
             foreach (Tuple <CompoundIdentity, string, string> cur in items)
             {
                 if (!tprov.Exists(cur.Item1))
                 {
                     return(false);
                 }
             }
             return(true);
         }
     }
     else if (type == BundleDataType.Site)
     {
         ISiteProvider sprov = SiteManager.Instance.GetSiteProvider(ctx);
         if (sprov != null)
         {
             foreach (Tuple <CompoundIdentity, string, string> cur in items)
             {
                 if (!sprov.Exists(cur.Item1))
                 {
                     return(false);
                 }
             }
             return(true);
         }
     }
     else if (type == BundleDataType.Instrument)
     {
         IInstrumentProvider iprov = InstrumentManager.Instance.GetInstrumentProvider(ctx);
         if (iprov != null)
         {
             foreach (Tuple <CompoundIdentity, string, string> cur in items)
             {
                 if (!iprov.Exists(cur.Item1))
                 {
                     return(false);
                 }
             }
             return(true);
         }
     }
     return(false);
 }
Beispiel #15
0
        private List <Site> GetSites(ISiteProvider provider, IEnumerable <CompoundIdentity> siteIds)
        {
            List <Site> sites = new List <Site>();
            Site        s     = null;

            foreach (CompoundIdentity id in siteIds)
            {
                s = provider.Get(id);
                if (s != null)
                {
                    sites.Add(s);
                }
            }
            return(sites);
        }
        internal ProfilesPresenter(IProfilesView profilesView)
        {
            ProfilesProvider = Create.New <IProfilesProvider>();

            _view                    = profilesView;
            _view.FormSaved         += FormSaved;
            _view.BeforeFormClosing += (sender, args) => FormClosing(sender, args);
            _view.ContinueWithoutCreatingProfile += ContinueWithoutCreatingProfile;
            _view.TabChanged += TabChanged;

            if (SelectedProfile != null)
            {
                _siteProvider = Create.WithCurrentProfile <ISiteProvider>(_view);
                _sqlService   = Create.New <ISqlServerRecordProvider>();
            }
        }
Beispiel #17
0
            public object OnResolved(object resolvedObject)
            {
                if (resolvedObject != null)
                {
                    // Sync site setting
                    if (resolvedObject is SiteManager)
                    {
                        ISiteProvider       siteProvider       = EngineContext.Current.Resolve <ISiteProvider>();
                        IRepositoryProvider repositoryProvider = EngineContext.Current.Resolve <IRepositoryProvider>();

                        SiteManagerWrapper siteManagerWrapper = new SiteManagerWrapper(siteProvider, repositoryProvider);
                        return(siteManagerWrapper);
                    }
                }

                return(resolvedObject);
            }
Beispiel #18
0
            public object OnResolved(object resolvedObject)
            {
                if (resolvedObject != null)
                {
                    // Sync content folder
                    if (resolvedObject is TextFolderManager)
                    {
                        ITextFolderProvider textFolderProvider = EngineContext.Current.Resolve <ITextFolderProvider>();
                        TextFolderManager   textFolderManager  = (TextFolderManager)resolvedObject;
                        ISiteProvider       siteProvider       = EngineContext.Current.Resolve <ISiteProvider>();

                        return(new TextFolderManagerWrapper(textFolderProvider, textFolderManager, siteProvider));
                    }
                }

                return(resolvedObject);
            }
Beispiel #19
0
            public object OnResolved(object resolvedObject)
            {
                if (resolvedObject != null)
                {
                    // Sync content folder
                    if (resolvedObject is TextFolderManager)
                    {
                        ITextFolderProvider textFolderProvider = EngineContext.Current.Resolve <ITextFolderProvider>();
                        TextFolderManager   textFolderManager  = (TextFolderManager)resolvedObject;
                        ISiteProvider       siteProvider       = EngineContext.Current.Resolve <ISiteProvider>();

                        return(new TextFolderManagerWrapper(textFolderProvider, textFolderManager, siteProvider));
                    }

                    // Sync content schema
                    if (resolvedObject is ISchemaProvider)
                    {
                        ISchemaProvider schemaProvider = (ISchemaProvider)resolvedObject;
                        ISiteProvider   siteProvider   = EngineContext.Current.Resolve <ISiteProvider>();

                        return(new SchemaProviderWrapper(schemaProvider, siteProvider));
                    }

                    if (resolvedObject is SchemaManager)
                    {
                        ISchemaProvider schemaProvider = EngineContext.Current.Resolve <ISchemaProvider>();
                        SchemaManager   schemaManager  = (SchemaManager)resolvedObject;
                        ISiteProvider   siteProvider   = EngineContext.Current.Resolve <ISiteProvider>();

                        return(new SchemaManagerWrapper(schemaProvider, schemaManager, siteProvider));
                    }

                    // Sync site setting
                    if (resolvedObject is SiteManager)
                    {
                        ISiteProvider       siteProvider       = EngineContext.Current.Resolve <ISiteProvider>();
                        IRepositoryProvider repositoryProvider = EngineContext.Current.Resolve <IRepositoryProvider>();

                        SiteManagerWrapper siteManagerWrapper = new SiteManagerWrapper(siteProvider, repositoryProvider);
                        return(siteManagerWrapper);
                    }
                }

                return(resolvedObject);
            }
Beispiel #20
0
        private static void ConvertFromResx(ISiteProvider siteProvider)
        {
            var sites         = siteProvider.AllSites();
            var labelProvider = new LabelProvider();

            foreach (var site in sites)
            {
                var elementProvider = new SiteLabelRepository(site);
                foreach (var item in elementProvider.Elements())
                {
                    labelProvider.Add(new Label(site, item.Category, item.Name, item.Value)
                    {
                        UtcCreationDate = DateTime.UtcNow
                    });
                }
                elementProvider.Clear();
            }
        }
Beispiel #21
0
        public WebDisplay(Config.ConfWebInterface webData)
        {
            DirectoryInfo baseDir = null;

            if (string.IsNullOrEmpty(webData.Path))
            {
                for (int i = 0; i < 5; i++)
                {
                    var up       = Path.Combine(Enumerable.Repeat("..", i).ToArray());
                    var checkDir = Path.Combine(up, "WebInterface");
                    if (Directory.Exists(checkDir))
                    {
                        baseDir = new DirectoryInfo(checkDir);
                        break;
                    }
                }
            }
            else if (Directory.Exists(webData.Path))
            {
                baseDir = new DirectoryInfo(webData.Path);
            }

            if (baseDir is null)
            {
                Log.Error("Can't find a WebInterface path to host. Try specifying the path to host in the config");
                return;
            }

            map.Map("/", new FolderProvider(baseDir));

#if DEBUG
            // include debug out folder
            map.Map("/", new FolderProvider(new DirectoryInfo(Path.Combine(baseDir.FullName, "html"))));
            map.Map("/", new FolderProvider(new DirectoryInfo(Path.Combine(baseDir.FullName, "out"))));
#endif

            map.Map("/openapi/", new FolderProvider(new DirectoryInfo(Path.Combine(baseDir.FullName, "openapi"))));

            Site404 = map.TryGetSite(new Uri("http://localhost/404.html"));
            map.Map("/", new FileRedirect(map, "", "index.html"));
        }
Beispiel #22
0
 public FrontSiteService(ISiteProvider siteProvider)
 {
     this._siteProvider = siteProvider;
 }
Beispiel #23
0
 public SchemaProviderWrapper(ISchemaProvider schemaProvider, ISiteProvider siteProvider)
 {
     _schemaProvider = schemaProvider;
     _siteProvider   = siteProvider;
 }
Beispiel #24
0
 public SiteProvider(ISiteProvider inner)
 {
     this.inner = inner;
 }
Beispiel #25
0
 public UrlLengthValidator()
 {
     _urlChecker          = _container.GetInstance <IUrlChecker>();
     _urlLengthCalculator = _container.GetInstance <IUrlLengthCalculator>();
     _siteProvider        = _container.GetInstance <ISiteProvider>();
 }
Beispiel #26
0
 private static void ConvertFromResx(ISiteProvider siteProvider)
 {
     var sites = siteProvider.AllSites();
     var labelProvider = new LabelProvider();
     foreach (var site in sites)
     {
         var elementProvider = new SiteLabelRepository(site);
         foreach (var item in elementProvider.Elements())
         {
             labelProvider.Add(new Label(site, item.Category, item.Name, item.Value) { UtcCreationDate = DateTime.UtcNow });
         }
         elementProvider.Clear();
     }
 }
Beispiel #27
0
 public SiteManagerWrapper(ISiteProvider siteProvider, IRepositoryProvider repositoryProvider)
     : base(siteProvider, new RepositoryManager(repositoryProvider))
 {
 }
 public UrlLengthValidator()
 {
     _urlChecker = _container.GetInstance<IUrlChecker>();
     _urlLengthCalculator = _container.GetInstance<IUrlLengthCalculator>();
     _siteProvider = _container.GetInstance<ISiteProvider>();
 }
Beispiel #29
0
        public override void Handle(HttpContext context, CancellationToken cancel)
        {
            if (context != null)
            {
                UserIdentityBase user = Security.Session.GetUser(context);
                if (user != null)
                {
                    UserSecurityContext ctx = new UserSecurityContext(user);
                    string localUrl         = RestUtils.LocalUrl(this, context.Request);
                    string meth             = RestUtils.StripLocal(this.BaseUrl, localUrl);
                    meth = meth.Substring(1);

                    if (!string.IsNullOrEmpty(meth))
                    {
                        if (context.Request.Method == "POST")
                        {
                            if (meth.Equals("deployments", StringComparison.OrdinalIgnoreCase))
                            {
                                try
                                {
                                    HashSet <CompoundIdentity> eventIds      = null;
                                    HashSet <CompoundIdentity> deploymentIds = null;
                                    HashSet <CompoundIdentity> siteIds       = null;
                                    DateTime?start = null;
                                    DateTime?end   = null;

                                    JToken token = JsonUtils.GetDataPayload(context.Request);
                                    if (token != null)
                                    {
                                        if (token["events"] != null)
                                        {
                                            eventIds = JsonUtils.ToIds(token["events"]);
                                        }

                                        if (token["deployments"] != null)
                                        {
                                            deploymentIds = JsonUtils.ToIds(token["deployments"]);
                                        }

                                        if (token["sites"] != null)
                                        {
                                            siteIds = JsonUtils.ToIds(token["sites"]);
                                        }

                                        if (token["start"] != null)
                                        {
                                            start = JsonUtils.ToDate(token["start"]);
                                        }

                                        if (token["end"] != null)
                                        {
                                            end = JsonUtils.ToDate(token["end"]);
                                        }
                                    }

                                    IWQDeploymentProvider provider = WaterQualityManager.Instance.GetDeploymentProvider(ctx);                                     //filters WQ deployments by user context
                                    if (provider != null)
                                    {
                                        IEnumerable <WaterQualityDeployment> deployments = GetDeployments(provider, eventIds, deploymentIds, siteIds, start, end);
                                        JArray jdeployments = Jsonifier.ToJson(deployments);

                                        if (jdeployments != null)
                                        {
                                            RestUtils.Push(context.Response, JsonOpStatus.Ok, jdeployments.ToString());
                                            return;
                                        }
                                        else
                                        {
                                            RestUtils.Push(context.Response, JsonOpStatus.Ok, "[]");
                                            return;
                                        }
                                    }
                                }
                                catch
                                {
                                    RestUtils.Push(context.Response, RestUtils.JsonOpStatus(JsonOpStatus.Failed));
                                    return;
                                }
                            }
                            else if (meth.Equals("measurements", StringComparison.OrdinalIgnoreCase))
                            {
                                try
                                {
                                    //TODO: ask about iterative calls for deployments (each deployment is a separate db call)

                                    IWQMeasurementProvider provider = WaterQualityManager.Instance.GetMeasurementProvider(ctx);
                                    if (provider != null)
                                    {
                                        HashSet <CompoundIdentity> eventIds      = null;
                                        HashSet <CompoundIdentity> deploymentIds = null;
                                        HashSet <CompoundIdentity> siteIds       = null;
                                        DateTime?start = null;
                                        DateTime?end   = null;

                                        JToken token = JsonUtils.GetDataPayload(context.Request);
                                        if (token != null)
                                        {
                                            if (token["events"] != null)
                                            {
                                                eventIds = JsonUtils.ToIds(token["events"]);
                                            }

                                            if (token["deployments"] != null)
                                            {
                                                deploymentIds = JsonUtils.ToIds(token["deployments"]);
                                            }

                                            if (token["sites"] != null)
                                            {
                                                siteIds = JsonUtils.ToIds(token["sites"]);
                                            }

                                            if (token["start"] != null)
                                            {
                                                start = JsonUtils.ToDate(token["start"]);
                                            }

                                            if (token["end"] != null)
                                            {
                                                end = JsonUtils.ToDate(token["end"]);
                                            }
                                        }

                                        IWQDeploymentProvider depProvider = WaterQualityManager.Instance.GetDeploymentProvider(ctx);                                         //provider will autofilter WQ deployments by user context
                                        IEnumerable <WaterQualityDeployment> deployments = GetDeployments(depProvider, eventIds, deploymentIds, siteIds, null, null);

                                        List <WaterQualityMeasurement> measurements = new List <WaterQualityMeasurement>();

                                        if (start != null || end != null)
                                        {
                                            DateTime queryStart;
                                            DateTime queryEnd;
                                            if (start == null)
                                            {
                                                queryStart = WQUtils.GlobalMinDate;
                                            }
                                            else
                                            {
                                                queryStart = start.Value;
                                            }

                                            if (end == null)
                                            {
                                                queryEnd = DateTime.UtcNow;
                                            }
                                            else
                                            {
                                                queryEnd = end.Value;
                                            }

                                            foreach (WaterQualityDeployment dep in deployments)
                                            {
                                                measurements.AddRange(provider.Get(dep.Identity, queryStart, queryEnd));
                                            }
                                        }
                                        else
                                        {
                                            foreach (WaterQualityDeployment dep in deployments)
                                            {
                                                measurements.AddRange(provider.Get(dep.Identity));
                                            }
                                        }

                                        JArray jmeasurements = Jsonifier.ToJson(measurements);

                                        if (jmeasurements != null)
                                        {
                                            RestUtils.Push(context.Response, JsonOpStatus.Ok, jmeasurements.ToString());
                                        }
                                        else
                                        {
                                            RestUtils.Push(context.Response, JsonOpStatus.Ok, "[]");
                                        }
                                        return;
                                    }
                                    RestUtils.Push(context.Response, JsonOpStatus.Failed);
                                }
                                catch
                                {
                                    RestUtils.Push(context.Response, RestUtils.JsonOpStatus(JsonOpStatus.Failed));
                                    return;
                                }
                            }
                            else if (meth.Equals("export", StringComparison.OrdinalIgnoreCase))
                            {
                                try
                                {
                                    HashSet <CompoundIdentity> eventIds      = null;
                                    HashSet <CompoundIdentity> deploymentIds = null;
                                    HashSet <CompoundIdentity> siteIds       = null;
                                    DateTime?start = null;
                                    DateTime?end   = null;

                                    JToken token = JsonUtils.GetDataPayload(context.Request);
                                    if (token != null)
                                    {
                                        if (token["events"] != null)
                                        {
                                            eventIds = JsonUtils.ToIds(token["events"]);
                                        }

                                        if (token["deployments"] != null)
                                        {
                                            deploymentIds = JsonUtils.ToIds(token["deployments"]);
                                        }

                                        if (token["sites"] != null)
                                        {
                                            siteIds = JsonUtils.ToIds(token["sites"]);
                                        }

                                        if (token["start"] != null)
                                        {
                                            start = JsonUtils.ToDate(token["start"]);
                                        }

                                        if (token["end"] != null)
                                        {
                                            end = JsonUtils.ToDate(token["end"]);
                                        }
                                    }

                                    IWQDeploymentProvider  depProvider           = WaterQualityManager.Instance.GetDeploymentProvider(ctx);
                                    IWQMeasurementProvider measProvider          = WaterQualityManager.Instance.GetMeasurementProvider(ctx);
                                    ISiteProvider          siteProvider          = SiteManager.Instance.GetSiteProvider(ctx);
                                    ISampleEventProvider   sampProvider          = FieldActivityManager.Instance.GetSampleEventProvider(ctx);
                                    IOrganizationProvider  orgProvider           = OrganizationManager.Instance.GetOrganizationProvider(ctx);
                                    IFieldTripProvider     fieldTripProvider     = FieldActivityManager.Instance.GetFieldTripProvider(ctx);
                                    IFieldActivityProvider fieldActivityProvider = FieldActivityManager.Instance.GetFieldActivityProvider(ctx);
                                    IProjectProvider       projectProvider       = ProjectManager.Instance.GetProvider(ctx);

                                    if (depProvider != null && measProvider != null && siteProvider != null && sampProvider != null &&
                                        orgProvider != null && fieldTripProvider != null && fieldActivityProvider != null && projectProvider != null)
                                    {
                                        IEnumerable <WaterQualityDeployment>  deployments  = GetDeployments(depProvider, eventIds, deploymentIds, siteIds, null, null);                                       //on export, time filters apply to measurements only
                                        IEnumerable <WaterQualityMeasurement> measurements = GetMeasurements(measProvider, start, end, deployments);

                                        //Get sites and sample events
                                        List <CompoundIdentity>     selected_siteIds  = deployments.Select(x => x.SiteId).ToList();
                                        List <CompoundIdentity>     selected_eventIds = deployments.Select(x => x.SampleEventId).ToList();
                                        IEnumerable <Site>          sitesData         = GetSites(siteProvider, selected_siteIds);
                                        IEnumerable <SamplingEvent> eventsData        = sampProvider.Get(selected_eventIds);

                                        //Get orgs and field trips
                                        List <CompoundIdentity>    selected_orgIds       = eventsData.Select(x => x.PrincipalOrgId).ToList();
                                        List <CompoundIdentity>    selected_fieldTripIds = eventsData.Select(x => x.FieldTripId).ToList();
                                        IEnumerable <Organization> orgData       = orgProvider.Get(selected_orgIds);
                                        IEnumerable <FieldTrip>    fieldTripData = fieldTripProvider.Get(selected_fieldTripIds);

                                        //Get field activities
                                        List <CompoundIdentity>     selected_fieldActivityIds = fieldTripData.Select(x => x.FieldActivityId).ToList();
                                        IEnumerable <FieldActivity> fieldActivityData         = fieldActivityProvider.Get(selected_fieldActivityIds);

                                        //Get projects
                                        List <CompoundIdentity> selected_projectIds = fieldActivityData.Select(x => x.ProjectId).ToList();
                                        IEnumerable <Project>   projectData         = projectProvider.Get(selected_projectIds);

                                        Guid fileId = CreateDeploymentFile(eventsData, deployments, measurements, sitesData,
                                                                           orgData, fieldTripData, fieldActivityData, projectData);

                                        if (fileId != null)
                                        {
                                            JObject o = new JObject();
                                            o.Add("fileid", fileId.ToString());
                                            o.Add("fileext", fileExtension);
                                            RestUtils.Push(context.Response, JsonOpStatus.Ok, o);
                                        }
                                        else
                                        {
                                            RestUtils.Push(context.Response, JsonOpStatus.Failed);
                                        }
                                        return;
                                    }
                                    RestUtils.Push(context.Response, JsonOpStatus.Failed);
                                }
                                catch
                                {
                                    RestUtils.Push(context.Response, RestUtils.JsonOpStatus(JsonOpStatus.Failed));
                                    return;
                                }
                            }
                        }
                    }
                }
            }
            context.Response.StatusCode = HttpStatusCodes.Status400BadRequest;
        }
Beispiel #30
0
 public ProductController(IDbContext dbContext, IProductService productService, IPartnerService partnerService, ISiteProvider siteProvider, HttpContextBase context, ICacheService cache)
     : base(dbContext, partnerService, siteProvider)
 {
     _productService = productService;
     _partnerService = partnerService;
     _contextBase    = context;
     _cache          = cache;
 }
Beispiel #31
0
 /*   public BaseController(IDbContext dbContext)
  * {
  *
  *     ISiteProvider _siteProvider;
  * } */
 /// <summary>
 ///
 /// </summary>
 /// <param name="dbContext"></param>
 /// <param name="partnerService"></param>
 /// <param name="siteProvider"></param>
 public BaseController(IDbContext dbContext, IPartnerService partnerService, ISiteProvider siteProvider)
 {
     _partnerService = partnerService;
     _siteProvider   = siteProvider;
     _dbContext      = dbContext;
 }
 public SiteManagerWrapper(ISiteProvider siteProvider, IRepositoryProvider repositoryProvider)
     : base(siteProvider, new RepositoryManager(repositoryProvider))
 {
 }
Beispiel #33
0
 public SchemaManagerWrapper(ISchemaProvider schemaProvider, SchemaManager schemaManager, ISiteProvider siteProvider)
     : base(schemaProvider)
 {
     _schemaManager = schemaManager;
     _siteProvider  = siteProvider;
 }
Beispiel #34
0
 public SitePersistor(IEnumerable <ISiteDataSource> dataSources, ISiteProvider siteProvider, SettingsService settings)
 {
     _siteProvider = siteProvider;
     _dataSources  = dataSources;
     _settings     = settings;
 }
Beispiel #35
0
 public HomeController(ICacheService cache, IProductService products, IDbContext dbContext, IPartnerService partnerservice, ISiteProvider siteProvider)
     : base(dbContext, partnerservice, siteProvider)
 {
     _cache    = cache;
     _products = products;
 }
Beispiel #36
0
 public FrontSiteService(ISiteProvider siteProvider)
 {
     this._siteProvider = siteProvider;
 }