コード例 #1
0
        private void AddExistingWebResource()
        {
            if ((SelectedWebResource != null) && !string.IsNullOrEmpty(SelectedWebResource.Uri))
            {
                dynamic fileData = FileNameProvider.GetFileName();

                if (!fileData.HasError)
                {
                    string localPath = fileData.LocalFilePath;
                    string fileName  = fileData.FileName;
                    if (!string.IsNullOrEmpty(localPath))
                    {
                        var newWebResource = new WebResourceViewModel(null);
                        newWebResource.Name       = fileName;
                        newWebResource.Base64Data = Convert.ToBase64String(File.ReadAllBytes(localPath));
                        newWebResource.Uri        = SelectedWebResource.Uri;

                        newWebResource.SetParent(SelectedWebResource.Parent ?? SelectedWebResource);

                        string fullName            = string.Format("/{0}/{1}", newWebResource.Uri, newWebResource.Name);
                        var    existingWebResource = newWebResource.Parent.Children.FirstOrDefault(c => c.Name.Equals(fullName, StringComparison.InvariantCultureIgnoreCase));
                        if (existingWebResource != null)
                        {
                            UserMessageProvider.ShowUserErrorMessage(StringResources.Error_Website_Resource_Exists);
                            return;
                        }

                        try
                        {
                            _webResources.Save(newWebResource);

                            newWebResource.IsSelected        = true;
                            newWebResource.Parent.IsExpanded = true;

                            SelectedWebResource = newWebResource;

                            base.OnPropertyChanged("RootWebResource");
                        }
                        catch (WebResourceUploadFailedException)
                        {
                        }
                    }
                }
            }
        }