public WebPartDefinition ImportWebPart(string webPartXml)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (webPartXml == null)
                {
                    throw ClientUtility.CreateArgumentNullException("webPartXml");
                }
                if (webPartXml != null && webPartXml.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("webPartXml");
                }
            }
            WebPartDefinition webPartDefinition = new WebPartDefinition(context, new ObjectPathMethod(context, base.Path, "ImportWebPart", new object[]
            {
                webPartXml
            }));

            webPartDefinition.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(webPartDefinition.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, webPartDefinition);
            context.AddQuery(objectIdentityQuery);
            return(webPartDefinition);
        }
예제 #2
0
        public FieldLink Add(FieldLinkCreationInformation parameters)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (parameters == null)
                {
                    throw ClientUtility.CreateArgumentNullException("parameters");
                }
                if (parameters != null && parameters.Field == null)
                {
                    throw ClientUtility.CreateArgumentNullException("parameters.Field");
                }
            }
            FieldLink fieldLink = new FieldLink(context, new ObjectPathMethod(context, base.Path, "Add", new object[]
            {
                parameters
            }));

            fieldLink.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(fieldLink.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, fieldLink);
            context.AddQuery(objectIdentityQuery);
            base.AddChild(fieldLink);
            fieldLink.InitFromCreationInformation(parameters);
            return(fieldLink);
        }
        private void InitFederationProviderInfoForUser(string username)
        {
            int num = username.IndexOf('@');

            if (num < 0 || num == username.Length - 1)
            {
                throw ClientUtility.CreateArgumentException("username");
            }
            string domainname = username.Substring(num + 1);

            IdcrlAuth.FederationProviderInfo federationProviderInfo = this.GetFederationProviderInfo(domainname);
            if (federationProviderInfo != null)
            {
                this.m_userRealmServiceUrl     = federationProviderInfo.UserRealmServiceUrl;
                this.m_securityTokenServiceUrl = federationProviderInfo.SecurityTokenServiceUrl;
                this.m_federationTokenIssuer   = federationProviderInfo.FederationTokenIssuer;
            }
            ClientULS.SendTraceTag(3454936u, ClientTraceCategory.Authentication, ClientTraceLevel.Verbose, "UserName={0}, UserRealmServiceUrl={1}, SecurityTokenServiceUrl={1}, FederationTokenIssuer={2}", new object[]
            {
                username,
                this.m_userRealmServiceUrl,
                this.m_securityTokenServiceUrl,
                this.m_federationTokenIssuer
            });
        }
예제 #4
0
        public Field AddFieldAsXml(string schemaXml, bool addToDefaultView, AddFieldOptions options)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (schemaXml == null)
                {
                    throw ClientUtility.CreateArgumentNullException("schemaXml");
                }
                if (schemaXml != null && schemaXml.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("schemaXml");
                }
            }
            Field field = new Field(context, new ObjectPathMethod(context, base.Path, "AddFieldAsXml", new object[]
            {
                schemaXml,
                addToDefaultView,
                options
            }));

            field.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(field.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, field);
            context.AddQuery(objectIdentityQuery);
            base.AddChild(field);
            return(field);
        }
예제 #5
0
        public File AddTemplateFile(string urlOfFile, TemplateFileType templateFileType)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (urlOfFile == null)
                {
                    throw ClientUtility.CreateArgumentNullException("urlOfFile");
                }
                if (urlOfFile != null && urlOfFile.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("urlOfFile");
                }
                if (templateFileType != TemplateFileType.StandardPage && templateFileType != TemplateFileType.WikiPage && templateFileType != TemplateFileType.FormPage && templateFileType != TemplateFileType.ClientSidePage)
                {
                    throw ClientUtility.CreateArgumentException("templateFileType");
                }
            }
            File file = new File(context, new ObjectPathMethod(context, base.Path, "AddTemplateFile", new object[]
            {
                urlOfFile,
                templateFileType
            }));

            file.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(file.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, file);
            context.AddQuery(objectIdentityQuery);
            base.AddChild(file);
            return(file);
        }
        public RoleAssignment Add(Principal principal, RoleDefinitionBindingCollection roleBindings)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (principal == null)
                {
                    throw ClientUtility.CreateArgumentNullException("principal");
                }
                if (roleBindings == null)
                {
                    throw ClientUtility.CreateArgumentNullException("roleBindings");
                }
            }
            RoleAssignment roleAssignment = new RoleAssignment(context, new ObjectPathMethod(context, base.Path, "Add", new object[]
            {
                principal,
                roleBindings
            }));

            roleAssignment.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(roleAssignment.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, roleAssignment);
            context.AddQuery(objectIdentityQuery);
            base.AddChild(roleAssignment);
            return(roleAssignment);
        }
        public ClientResult <Guid> Add(AlertCreationInformation alertCreationInformation)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (alertCreationInformation == null)
                {
                    throw ClientUtility.CreateArgumentNullException("alertCreationInformation");
                }
                if (alertCreationInformation != null && alertCreationInformation.User == null)
                {
                    throw ClientUtility.CreateArgumentNullException("alertCreationInformation.User");
                }
            }
            ClientAction clientAction = new ClientActionInvokeMethod(this, "Add", new object[]
            {
                alertCreationInformation
            });

            context.AddQuery(clientAction);
            ClientResult <Guid> clientResult = new ClientResult <Guid>();

            context.AddQueryIdAndResultObject(clientAction.Id, clientResult);
            return(clientResult);
        }
예제 #8
0
        private void ProjectToolStripButton_DropDownOpening(object sender, EventArgs e)
        {
            try
            {
                if (Properties.Settings.Default.RecentProjects != default(StringCollection))
                {
                    recentProjectsToolStripMenuItem.Enabled = true;
                    recentProjectsToolStripMenuItem.DropDownItems.Clear();

                    foreach (string path in Properties.Settings.Default.RecentProjects)
                    {
                        if (!string.IsNullOrEmpty(path))
                        {
                            ToolStripButton recentProjectToolStripButton = new ToolStripButton()
                            {
                                Text = ClientUtility.ShortenPath(path, 40),
                                Tag  = path
                            };
                            recentProjectToolStripButton.Click += RecentProjectToolStripButton_Click;
                            recentProjectsToolStripMenuItem.DropDownItems.Add(recentProjectToolStripButton);
                        }
                    }
                }
                else
                {
                    recentProjectsToolStripMenuItem.Enabled = false;
                }
            }
            catch (Exception ex)
            {
                ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, string.Format("An error occurred reading recent projects: {0}", ex.Message), ex));
            }
        }
예제 #9
0
        public void MoveWebPartTo(string zoneID, int zoneIndex)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (zoneID == null)
                {
                    throw ClientUtility.CreateArgumentNullException("zoneID");
                }
                if (zoneID != null && zoneID.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("zoneID");
                }
                if (zoneID != null && zoneID.Length > 64)
                {
                    throw ClientUtility.CreateArgumentException("zoneID");
                }
                if (zoneIndex < 0)
                {
                    throw ClientUtility.CreateArgumentException("zoneIndex");
                }
            }
            ClientAction query = new ClientActionInvokeMethod(this, "MoveWebPartTo", new object[]
            {
                zoneID,
                zoneIndex
            });

            context.AddQuery(query);
        }
예제 #10
0
        private void OperationContextMenuStrip_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        {
            try
            {
                BindableTreeNode operationNode = ClientUtility.GetContextMenuTreeviewNode(batchTreeView, sender);
                executeOperationToolStripMenuItem.Enabled = operationNode.DataSource is IExecutable;

                if (operationNode.DataSource is IOperation operation)
                {
                    executeOperationToolStripMenuItem.Enabled = operationNode.DataSource is IExecutable && operation.Enabled;
                    enableOperationToolStripMenuItem.Visible  = !operation.Enabled;
                    disableOperationToolStripMenuItem.Visible = operation.Enabled;
                }

                int menuItemCount = operationContextMenuStrip.Items.IndexOf(customEndToolStripSeparator) - operationContextMenuStrip.Items.IndexOf(customStartToolStripSeparator) - 1;

                // hide any custom menu items
                for (int menuItemsRemoved = 0; menuItemsRemoved < menuItemCount; menuItemsRemoved++)
                {
                    operationContextMenuStrip.Items.RemoveAt(operationContextMenuStrip.Items.IndexOf(customStartToolStripSeparator) + 1);
                }

                if (operationNode.DataSource is ICustomMenuItemProvider)
                {
                    customEndToolStripSeparator.Visible = true;
                    List <CustomMenuItem> menuItems = ((ICustomMenuItemProvider)operationNode.DataSource).GetCustomMenuItems();

                    foreach (CustomMenuItem menuItem in menuItems)
                    {
                        ToolStripMenuItem customToolStripMenuItem = new ToolStripMenuItem()
                        {
                            Text         = menuItem.Text,
                            ToolTipText  = menuItem.ToolTip,
                            Image        = menuItem.Icon,
                            ImageScaling = ToolStripItemImageScaling.None,
                            Size         = new Size(182, 38),
                            Tag          = menuItem,
                            Enabled      = menuItem.Enabled
                        };

                        customToolStripMenuItem.Click += CustomToolStripMenuItem_Click;
                        operationContextMenuStrip.Items.Insert(operationContextMenuStrip.Items.IndexOf(customEndToolStripSeparator), customToolStripMenuItem);
                    }
                }
                else
                {
                    customEndToolStripSeparator.Visible = false;
                }
            }
            catch (Exception ex)
            {
                ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
            }
        }
예제 #11
0
 private void TestConnectionToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         IConnection connection = (IConnection)ClientUtility.GetContextMenuTreeviewNode(dataSourceTreeView, sender).DataSource;
         TestConnectivityAsync(connection);
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #12
0
 private void RemoveOperationToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         BindableTreeNode operationNode = ClientUtility.GetContextMenuTreeviewNode(batchTreeView, sender);
         RemoveOperation((BindableTreeNode)operationNode.Parent, operationNode.Index, true);
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #13
0
 private void RemoveConnectionToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         TreeNode connectionNode = ClientUtility.GetContextMenuTreeviewNode(dataSourceTreeView, sender);
         RemoveConnection(connectionNode.Index, true);
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #14
0
 private void DuplicateBatchToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         BindableTreeNode batchNode = ClientUtility.GetContextMenuTreeviewNode(batchTreeView, sender);
         DuplicateBatch(batchNode);
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #15
0
        public RoleDefinition Add(RoleDefinitionCreationInformation parameters)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (parameters == null)
                {
                    throw ClientUtility.CreateArgumentNullException("parameters");
                }
                if (parameters != null)
                {
                    if (parameters.Name == null)
                    {
                        throw ClientUtility.CreateArgumentNullException("parameters.Name");
                    }
                    if (parameters.Name != null && parameters.Name.Length == 0)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Name");
                    }
                    if (parameters.Name != null && parameters.Name.Length > 255)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Name");
                    }
                    if (parameters.Name != null && !Regex.Match(parameters.Name, "^[^\\[\\]/\\\\:\\|<>\\+=;,\\?\\*'@]*$").Success)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Name");
                    }
                    if (parameters.Description != null && parameters.Description.Length > 512)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Description");
                    }
                    if (parameters.BasePermissions == null)
                    {
                        throw ClientUtility.CreateArgumentNullException("parameters.BasePermissions");
                    }
                }
            }
            RoleDefinition roleDefinition = new RoleDefinition(context, new ObjectPathMethod(context, base.Path, "Add", new object[]
            {
                parameters
            }));

            roleDefinition.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(roleDefinition.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, roleDefinition);
            context.AddQuery(objectIdentityQuery);
            base.AddChild(roleDefinition);
            roleDefinition.InitFromCreationInformation(parameters);
            return(roleDefinition);
        }
        public Web Add(WebCreationInformation parameters)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (parameters == null)
                {
                    throw ClientUtility.CreateArgumentNullException("parameters");
                }
                if (parameters != null)
                {
                    if (parameters.Url == null)
                    {
                        throw ClientUtility.CreateArgumentNullException("parameters.Url");
                    }
                    if (parameters.Url != null && parameters.Url.Length > 128)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Url");
                    }
                    if (parameters.Url.StartsWith("/", StringComparison.OrdinalIgnoreCase) || parameters.Url.StartsWith(".", StringComparison.OrdinalIgnoreCase) || parameters.Url.EndsWith("/", StringComparison.OrdinalIgnoreCase) || parameters.Url.EndsWith(".", StringComparison.OrdinalIgnoreCase))
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Url");
                    }
                    if (parameters.Url.IndexOf("//", StringComparison.OrdinalIgnoreCase) >= 0 || parameters.Url.IndexOf("..", StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Url");
                    }
                    if (parameters.Url.IndexOf("/wpresources", StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Url");
                    }
                    if (parameters.Title != null && parameters.Title.Length > 255)
                    {
                        throw ClientUtility.CreateArgumentException("parameters.Title");
                    }
                }
            }
            Web web = new Web(context, new ObjectPathMethod(context, base.Path, "Add", new object[]
            {
                parameters
            }));

            web.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(web.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, web);
            context.AddQuery(objectIdentityQuery);
            base.AddChild(web);
            web.InitFromCreationInformation(parameters);
            return(web);
        }
예제 #17
0
        public ChangeCollection GetListItemChanges(ChangeQuery query)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient && query == null)
            {
                throw ClientUtility.CreateArgumentNullException("query");
            }
            return(new ChangeCollection(context, new ObjectPathMethod(context, base.Path, "GetListItemChanges", new object[]
            {
                query
            })));
        }
예제 #18
0
        public Folder GetByPath(ResourcePath path)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient && path == null)
            {
                throw ClientUtility.CreateArgumentNullException("path");
            }
            return(new Folder(context, new ObjectPathMethod(context, base.Path, "GetByPath", new object[]
            {
                path
            })));
        }
예제 #19
0
 private void AddOperationToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         BindableTreeNode batchNode     = ClientUtility.GetContextMenuTreeviewNode(batchTreeView, sender);
         Type             operationType = (Type)((ToolStripMenuItem)sender).Tag;
         CreateAndAddOperation(operationType, batchNode, ((Batch)batchNode.DataSource).Operations.Count);
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #20
0
 private void DisableOperationToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         BindableTreeNode operationNode = ClientUtility.GetContextMenuTreeviewNode(batchTreeView, sender);
         IOperation       operation     = (IOperation)operationNode.DataSource;
         operation.Enabled = false;
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #21
0
 private void OpenDataSourceInBrowserToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         BindableTreeNode dataSourceNode = ClientUtility.GetContextMenuTreeviewNode(dataSourceTreeView, sender);
         IUrlAddressable  dataSource     = (IUrlAddressable)dataSourceNode.DataSource;
         System.Diagnostics.Process.Start(dataSource.Url.ToString());
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #22
0
 private void GetRecordCountToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         BindableTreeNode stepNode   = ClientUtility.GetContextMenuTreeviewNode(dataSourceTreeView, sender);
         IDataSource      dataSource = (IDataSource)stepNode.DataSource;
         GetRecordCountAsync(dataSource);
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
        public User GetByLoginName(string loginName)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (loginName == null)
                {
                    throw ClientUtility.CreateArgumentNullException("loginName");
                }
                if (loginName != null && loginName.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("loginName");
                }
                if (loginName != null && loginName.Length > 251)
                {
                    throw ClientUtility.CreateArgumentException("loginName");
                }
            }
            object obj;
            Dictionary <string, User> dictionary;

            if (base.ObjectData.MethodReturnObjects.TryGetValue("GetByLoginName", out obj))
            {
                dictionary = (Dictionary <string, User>)obj;
            }
            else
            {
                dictionary = new Dictionary <string, User>(StringComparer.OrdinalIgnoreCase);
                base.ObjectData.MethodReturnObjects["GetByLoginName"] = dictionary;
            }
            User user = null;

            if (!context.DisableReturnValueCache && dictionary.TryGetValue(loginName, out user))
            {
                return(user);
            }
            user = new User(context, new ObjectPathMethod(context, base.Path, "GetByLoginName", new object[]
            {
                loginName
            }));
            if (!context.DisableReturnValueCache)
            {
                dictionary[loginName] = user;
            }
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(user.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, user);
            context.AddQuery(objectIdentityQuery);
            return(user);
        }
예제 #24
0
        public RoleDefinition GetByName(string name)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (name == null)
                {
                    throw ClientUtility.CreateArgumentNullException("name");
                }
                if (name != null && name.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("name");
                }
                if (name != null && name.Length > 255)
                {
                    throw ClientUtility.CreateArgumentException("name");
                }
            }
            object obj;
            Dictionary <string, RoleDefinition> dictionary;

            if (base.ObjectData.MethodReturnObjects.TryGetValue("GetByName", out obj))
            {
                dictionary = (Dictionary <string, RoleDefinition>)obj;
            }
            else
            {
                dictionary = new Dictionary <string, RoleDefinition>();
                base.ObjectData.MethodReturnObjects["GetByName"] = dictionary;
            }
            RoleDefinition roleDefinition = null;

            if (!context.DisableReturnValueCache && dictionary.TryGetValue(name, out roleDefinition))
            {
                return(roleDefinition);
            }
            roleDefinition = new RoleDefinition(context, new ObjectPathMethod(context, base.Path, "GetByName", new object[]
            {
                name
            }));
            if (!context.DisableReturnValueCache)
            {
                dictionary[name] = roleDefinition;
            }
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(roleDefinition.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, roleDefinition);
            context.AddQuery(objectIdentityQuery);
            return(roleDefinition);
        }
        public List GetByTitle(string title)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (title == null)
                {
                    throw ClientUtility.CreateArgumentNullException("title");
                }
                if (title != null && title.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("title");
                }
                if (title != null && title.Length > 255)
                {
                    throw ClientUtility.CreateArgumentException("title");
                }
            }
            object obj;
            Dictionary <string, List> dictionary;

            if (base.ObjectData.MethodReturnObjects.TryGetValue("GetByTitle", out obj))
            {
                dictionary = (Dictionary <string, List>)obj;
            }
            else
            {
                dictionary = new Dictionary <string, List>(StringComparer.OrdinalIgnoreCase);
                base.ObjectData.MethodReturnObjects["GetByTitle"] = dictionary;
            }
            List list = null;

            if (!context.DisableReturnValueCache && dictionary.TryGetValue(title, out list))
            {
                return(list);
            }
            list = new List(context, new ObjectPathMethod(context, base.Path, "GetByTitle", new object[]
            {
                title
            }));
            if (!context.DisableReturnValueCache)
            {
                dictionary[title] = list;
            }
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(list.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, list);
            context.AddQuery(objectIdentityQuery);
            return(list);
        }
        public User GetByEmail(string emailAddress)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (emailAddress == null)
                {
                    throw ClientUtility.CreateArgumentNullException("emailAddress");
                }
                if (emailAddress != null && emailAddress.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("emailAddress");
                }
                if (emailAddress != null && emailAddress.Length > 255)
                {
                    throw ClientUtility.CreateArgumentException("emailAddress");
                }
            }
            object obj;
            Dictionary <string, User> dictionary;

            if (base.ObjectData.MethodReturnObjects.TryGetValue("GetByEmail", out obj))
            {
                dictionary = (Dictionary <string, User>)obj;
            }
            else
            {
                dictionary = new Dictionary <string, User>();
                base.ObjectData.MethodReturnObjects["GetByEmail"] = dictionary;
            }
            User user = null;

            if (!context.DisableReturnValueCache && dictionary.TryGetValue(emailAddress, out user))
            {
                return(user);
            }
            user = new User(context, new ObjectPathMethod(context, base.Path, "GetByEmail", new object[]
            {
                emailAddress
            }));
            if (!context.DisableReturnValueCache)
            {
                dictionary[emailAddress] = user;
            }
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(user.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, user);
            context.AddQuery(objectIdentityQuery);
            return(user);
        }
예제 #27
0
        public void MoveToUsingPath(ResourcePath newPath)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient && newPath == null)
            {
                throw ClientUtility.CreateArgumentNullException("newPath");
            }
            ClientAction query = new ClientActionInvokeMethod(this, "MoveToUsingPath", new object[]
            {
                newPath
            });

            context.AddQuery(query);
        }
예제 #28
0
 private void ClearCacheToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         TreeNode        connectionNode = ClientUtility.GetContextMenuTreeviewNode(dataSourceTreeView, sender);
         IConnection     connection     = ApplicationState.Default.ActiveProject.Connections[connectionNode.Index];
         ConnectionCache cache          = new ConnectionCache(connection);
         cache.Clear();
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Information, string.Format(Properties.Resources.DataSourceFormCacheClearSucceeded, connection.Name)));
     }
     catch (Exception ex)
     {
         ApplicationState.Default.RaiseNotification(new NotificationEventArgs(NotificationType.Error, ex.Message, ex));
     }
 }
예제 #29
0
        public void SaveBinary(FileSaveBinaryInformation parameters)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient && parameters == null)
            {
                throw ClientUtility.CreateArgumentNullException("parameters");
            }
            ClientAction query = new ClientActionInvokeMethod(this, "SaveBinary", new object[]
            {
                parameters
            });

            context.AddQuery(query);
        }
예제 #30
0
        public void UnPublish(string comment)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient && comment != null && comment.Length > 1023)
            {
                throw ClientUtility.CreateArgumentException("comment");
            }
            ClientAction query = new ClientActionInvokeMethod(this, "UnPublish", new object[]
            {
                comment
            });

            context.AddQuery(query);
        }