Example #1
0
        public ActionResult ExportVisitorGroups(ConfigurationViewModel model)
        {
            if (model.SelectedVisitorGroupItems?.Count() == 0)
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.SelectedVisitorGroupItems), "SelectedVisitorGroups is required.");
                return(View("Index", model));
            }

            var visitorGroupData = VisitorGroupRepository.List().Where(x => model.SelectedVisitorGroupItems.Contains(x.Id.ToString())).ToList();
            var stream           = _contentExportProcessor.ExportEpiserverVisitorGroup(visitorGroupData);

            if (model.VisitorGroupExportLocation.Equals("Remote", StringComparison.InvariantCultureIgnoreCase))
            {
                var fileName = model.VisitorGroupName.IsNullOrEmpty() ? "visitorgroup.episerverdata" : model.VisitorGroupName;
                if (!fileName.EndsWith(".episerverdata", StringComparison.InvariantCultureIgnoreCase))
                {
                    fileName += ".episerverdata";
                }

                StorageService.Add($"VisitorGroups/{fileName}", stream, stream.Length);
                return(RedirectToAction("Index"));
            }

            return(File(stream, "application/octet-stream", "visitorgroup.episerverdata"));
        }
        public async void AddServerCommandAction()
        {
            RemoteServer newServer = new RemoteServer();

            newServer.Id   = Guid.NewGuid();
            newServer.Type = ServerType.Http;
            newServer.Url  = "http://";

            AddServerPopupControl popup = new AddServerPopupControl();

            popup.DataContext = newServer;

            string result = await popup.ShowAsync();

            popup.ClosePopup();

            if (result == "ok")
            {
                this.Servers.Add(newServer);

                StorageService.Add(newServer);

                CheckServers();
            }
        }
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Storage model)
        {
            model.St_Address = XYEEncoding.strCodeHex(model.St_Address);
            model.St_Code    = XYEEncoding.strCodeHex(model.St_Code);
            model.St_EmpName = XYEEncoding.strCodeHex(model.St_EmpName);
            model.St_Name    = XYEEncoding.strCodeHex(model.St_Name);
            model.St_Phone   = XYEEncoding.strCodeHex(model.St_Phone);
            model.St_Remark  = XYEEncoding.strCodeHex(model.St_Remark);

            return(dal.Add(model));
        }
Example #4
0
        public ActionResult ExportSite(ConfigurationViewModel model)
        {
            if (model.LocalSelectedSiteName.IsNullOrEmpty())
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.LocalSelectedSiteName), "Site is required.");
                return(View("Index", model));
            }

            var site = SiteDefinitionRepository.List()
                       .FirstOrDefault(_ => _.Name.Equals(model.LocalSelectedSiteName));

            if (site == null)
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.LocalSelectedSiteName), "Site is required.");
                return(View("Index", model));
            }

            if (model.SiteExportLocation.Equals("Remote", StringComparison.InvariantCultureIgnoreCase) && model.LocalSiteName.IsNullOrEmpty())
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.LocalSiteName), "Blob Storage Site name is required.");
                return(View("Index", model));
            }

            var fileName = model.LocalSiteName;

            if (fileName.IsNullOrEmpty())
            {
                fileName = $"{site.Name}.episerverdata";
            }

            if (!fileName.EndsWith(".episerverdata", StringComparison.InvariantCultureIgnoreCase))
            {
                fileName += ".episerverdata";
            }

            if (model.SiteExportLocation.Equals("Remote", StringComparison.InvariantCultureIgnoreCase))
            {
                using (var exportStream = InstallService.ExportEpiserverContent(site.StartPage, ContentExport.ExportPages | ContentExport.ExportVisitorGroups))
                {
                    StorageService.Add($"Sites/{fileName}", exportStream, exportStream.Length);
                    return(RedirectToAction("Index"));
                }
            }

            var stream = InstallService.ExportEpiserverContent(site.StartPage, ContentExport.ExportPages | ContentExport.ExportVisitorGroups);

            return(File(stream, "application/octet-stream", fileName));
        }
Example #5
0
        public virtual async Task AddAsync(TEntity entity, Query <TEntity> query)
        {
            if (query.Options.ChecksRights)
            {
                var filter = await RightExpressionsHelper.GetFilterAsync(query);
                await EnsureEntitiesAreLoaded(entity.Yield(), query, filter);

                var rightFilter = filter.Compile();
                if (!rightFilter(entity))
                {
                    throw new ForbiddenException("You do not have the rights to create the posted entity");
                }
            }

            StorageService.Add(entity);
        }
        async Task SaveToLocal()
        {
            try
            {
                var item = new PasswordItem(InputTitle.Text, InputPassword.Text);
                var json = await SecureStorage.GetAsync("passwords");

                var result = StorageService.Add(item, json);
                await SecureStorage.SetAsync("passwords", result);

                await Navigation.PopAsync();
            }
            catch
            {
                await DisplayAlert(
                    "Ops!",
                    "This device does not support secure storage",
                    "OK");
            }
        }
Example #7
0
        public ActionResult ExportCatalog(ConfigurationViewModel model)
        {
            if (model.LocalSelectedCatalogName.IsNullOrEmpty())
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.LocalSelectedCatalogName), "Catalog is required.");
                return(View("Index", model));
            }

            if (model.MediaFolder.IsNullOrEmpty())
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.MediaFolder), "Media folder is required.");
                return(View("Index", model));
            }

            var catalog = ContentRepository.GetChildren <CatalogContent>(ReferenceConverter.GetRootLink())
                          .FirstOrDefault(_ => _.Name.Equals(model.LocalSelectedCatalogName));

            if (catalog == null)
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.LocalSelectedCatalogName), "Catalog is required.");
                return(View("Index", model));
            }

            var mediaFolder = ContentRepository.Get <ContentFolder>(ContentReference.Parse(model.MediaFolder));

            if (mediaFolder == null)
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.MediaFolder), "Media folder is required.");
                return(View("Index", model));
            }

            if (model.CatalogExportLocation.Equals("Remote", StringComparison.InvariantCultureIgnoreCase) && model.LocalCatalogName.IsNullOrEmpty())
            {
                model = GetConfigurationViewModel();
                ModelState.AddModelError(nameof(model.LocalCatalogName), "Blob Storage Catalog name is required.");
                return(View("Index", model));
            }

            using (var stream = new MemoryStream())
            {
                _catalogImportExport.Export(model.LocalSelectedCatalogName, stream, "");
                stream.Position = 0;

                var document = XDocument.Load(stream);
                document.Element("Catalogs").Element("MetaDataScheme").ReplaceWith(GetMetaDataScheme());
                document.Element("Catalogs").Element("Dictionaries").ReplaceWith(GetDictionaries());


                var newStream = new MemoryStream();
                var writer    = XmlWriter.Create(newStream);
                document.Save(writer);
                writer.Close();
                newStream.Position = 0;
                var media = InstallService.ExportEpiserverContent(mediaFolder.ContentLink, ContentExport.ExportPages);

                var zip = CreateArchiveStream(new Dictionary <string, Stream>()
                {
                    { "Catalog.xml", newStream },
                    { "ProductAssets.episerverdata", media }
                });

                var zipName = model.LocalCatalogName.IsNullOrEmpty() ? model.LocalSelectedCatalogName : model.LocalCatalogName;
                if (!zipName.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
                {
                    zipName += ".zip";
                }

                if (model.CatalogExportLocation.Equals("Remote", StringComparison.InvariantCultureIgnoreCase))
                {
                    StorageService.Add($"Catalogs/{zipName}", zip, zip.Length);
                    return(RedirectToAction("Index"));
                }

                return(File(zip, "application/octet-stream", zipName));
            }
        }