public static UserInformation GetUserInformation(Guid userId)
    {
        var result = ServiceProxy.Execute <MySecurityService, UserInformation>
                     (
            svc => svc.GetUserInformation(userId)
                     );

        return(result);
    }
    public static bool IsUserAuthorized(UserCredentials creds, ActionInformation actionInfo)
    {
        var result = ServiceProxy.Execute <MySecurityService, bool>
                     (
            svc => svc.IsUserAuthorized(creds, actionInfo)
                     );

        return(result);
    }
        public void RevokeAccess(EntityReference revokeeEntityReference, EntityReference targetEntityReference)
        {
            RevokeAccessRequest revokeRequest = new RevokeAccessRequest()
            {
                Revokee = revokeeEntityReference,
                Target  = targetEntityReference
            };

            ServiceProxy.Execute(revokeRequest);
        }
        public void AddToQueue(Guid queueId, EntityReference target)
        {
            AddToQueueRequest request = new AddToQueueRequest
            {
                DestinationQueueId = queueId,
                Target             = target
            };

            ServiceProxy.Execute(request);
        }
        public int GetEntityTypeCodeByEntityNames(string EntityName)
        {
            RetrieveEntityRequest request = new RetrieveEntityRequest
            {
                LogicalName = EntityName
            };
            RetrieveEntityResponse response = (RetrieveEntityResponse)ServiceProxy.Execute(request);

            return(response.EntityMetadata.ObjectTypeCode.Value);
        }
        public AttributeMetadata[] GetAttributeMetadataByEntityName(string entityName)
        {
            RetrieveEntityRequest request = new RetrieveEntityRequest()
            {
                LogicalName   = entityName,
                EntityFilters = EntityFilters.Attributes
            };
            RetrieveEntityResponse response = (RetrieveEntityResponse)ServiceProxy.Execute(request);

            return(response.EntityMetadata.Attributes);
        }
        public void Associate(EntityReference entityReference, EntityReferenceCollection associatedEntities, string relationshipName)
        {
            AssociateRequest request = new AssociateRequest
            {
                RelatedEntities = associatedEntities,
                Relationship    = new Relationship(relationshipName),
                Target          = entityReference
            };

            ServiceProxy.Execute(request);
        }
        public Dictionary <int, string> GetEntityNamesByTypeCode()
        {
            RetrieveAllEntitiesRequest request = new RetrieveAllEntitiesRequest
            {
                EntityFilters         = EntityFilters.Entity,
                RetrieveAsIfPublished = true
            };
            RetrieveAllEntitiesResponse response = (RetrieveAllEntitiesResponse)ServiceProxy.Execute(request);

            return(response.EntityMetadata.ToDictionary(em => em.ObjectTypeCode.Value, em => em.LogicalName));
        }
        public T GetRecord <T>(string keyName, object keyValue, string[] columnNames) where T : Entity
        {
            RetrieveRequest request = new RetrieveRequest
            {
                ColumnSet = new ColumnSet(columnNames),
                Target    = new EntityReference(GetEntityLogicalName <T>(), keyName, keyValue)
            };
            RetrieveResponse response = (RetrieveResponse)ServiceProxy.Execute(request);

            return(response.Entity.ToEntity <T>());
        }
예제 #10
0
        [STAThread] // Required to support the interactive login experience
        static void Main(string[] args)
        {
            CrmServiceClient service = null;

            try
            {
                service = SampleHelpers.Connect("Connect");
                if (service.IsReady)
                {
                    // Create any entity records that the demonstration code requires
                    SetUpSample(service);

                    #region Demonstrate
                    // TODO Add demonstration code here
                    CloneProductRequest cloneReq = new CloneProductRequest
                    {
                        Source = new EntityReference(Product.EntityLogicalName, _productId)
                    };

                    CloneProductResponse cloned = (CloneProductResponse)ServiceProxy.Execute(cloneReq);
                    _productCloneId = cloned.ClonedProduct.Id;
                    #endregion Demonstrate
                }
                else
                {
                    const string UNABLE_TO_LOGIN_ERROR = "Unable to Login to Common Data Service";
                    if (service.LastCrmError.Equals(UNABLE_TO_LOGIN_ERROR))
                    {
                        Console.WriteLine("Check the connection string values in cds/App.config.");
                        throw new Exception(service.LastCrmError);
                    }
                    else
                    {
                        throw service.LastCrmException;
                    }
                }
            }
            catch (Exception ex)
            {
                SampleHelpers.HandleException(ex);
            }

            finally
            {
                if (service != null)
                {
                    service.Dispose();
                }

                Console.WriteLine("Press <Enter> to exit.");
                Console.ReadLine();
            }
        }
예제 #11
0
        public SendEmailResponse SendEmail(Guid emailId)
        {
            SendEmailRequest sendEmailreq = new SendEmailRequest
            {
                EmailId       = emailId,
                TrackingToken = "",
                IssueSend     = true
            };
            SendEmailResponse sendEmailresp = (SendEmailResponse)ServiceProxy.Execute(sendEmailreq);

            return(sendEmailresp);
        }
        public void Disassociate(EntityReference entityReference1, EntityReference entityReference2, string relationshipName)
        {
            DisassociateRequest request = new DisassociateRequest
            {
                RelatedEntities = new EntityReferenceCollection {
                    entityReference2
                },
                Relationship = new Relationship(relationshipName),
                Target       = entityReference1
            };

            ServiceProxy.Execute(request);
        }
 public string Execute()
 {
     try
     {
         return(ServiceProxy.Execute(_remoteAddress, _securityToken, _command, _timeToWait > 0 ? _timeToWait : int.MaxValue));
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         Environment.Exit(1);
     }
     return(null);
 }
        public void ModifyAccess(EntityReference principalEntityReference, EntityReference targetEntityReference, AccessRights accessMask)
        {
            ModifyAccessRequest modifyRequest = new ModifyAccessRequest()
            {
                PrincipalAccess = new PrincipalAccess()
                {
                    Principal  = principalEntityReference,
                    AccessMask = accessMask
                },
                Target = targetEntityReference
            };

            ServiceProxy.Execute(modifyRequest);
        }
예제 #15
0
        public ExecuteMultipleResponse ExecuteMultiple(OrganizationRequestCollection requests, bool ContinueOnError, bool ReturnResponses)
        {
            ExecuteMultipleRequest requestWithResults = new ExecuteMultipleRequest()
            {
                Settings = new ExecuteMultipleSettings()
                {
                    ContinueOnError = ContinueOnError,
                    ReturnResponses = ReturnResponses
                },
                Requests = requests
            };

            return((ExecuteMultipleResponse)ServiceProxy.Execute(requestWithResults));
        }
        public void GrantAccess(EntityReference principalEntityReference, EntityReference targetEntityReference, AccessRights accessMask)
        {
            GrantAccessRequest grantRequest = new GrantAccessRequest()
            {
                PrincipalAccess = new PrincipalAccess()
                {
                    Principal  = principalEntityReference,
                    AccessMask = accessMask
                },
                Target = targetEntityReference
            };

            ServiceProxy.Execute(grantRequest);
        }
        public void RemoveUserFromAccessTeam(Guid userId, EntityReference recordEntityReference, string teamTemplateName)
        {
            Guid templateTeamid = Guid.Empty;

            using (OrganizationServiceContext context = new OrganizationServiceContext(ServiceProxy))
            {
                templateTeamid = (Guid)(context.CreateQuery("teamtemplate").Single(tt => (string)tt["teamtemplatename"] == teamTemplateName)["teamtemplateid"]);
            }
            RemoveUserFromRecordTeamRequest removeUserFromRecordTeamRequest = new RemoveUserFromRecordTeamRequest()
            {
                SystemUserId   = userId,
                Record         = recordEntityReference,
                TeamTemplateId = templateTeamid
            };

            ServiceProxy.Execute(removeUserFromRecordTeamRequest);
        }
 public string Execute()
 {
     try
     {
         var commandOutput = ServiceProxy.Execute(_remoteAddress, _securityToken, _command, _timeToWait > 0 ? _timeToWait : int.MaxValue);
         if (!Regex.IsMatch(commandOutput, "Exit code 0"))
         {
             throw new Exception(commandOutput + Environment.NewLine + "Remote command exited with an error code");
         }
         return(commandOutput);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         Environment.Exit(1);
     }
     return(null);
 }
        public OptionMetadataCollection GetOptionsSetByAttribute(string entityName, string attributeName)
        {
            RetrieveAttributeRequest retrieveAttributeRequest = new RetrieveAttributeRequest
            {
                EntityLogicalName     = entityName,
                LogicalName           = attributeName,
                RetrieveAsIfPublished = true
            };
            var retrieveAttributeResponse = (RetrieveAttributeResponse)ServiceProxy.Execute(retrieveAttributeRequest);
            OptionMetadataCollection optionMetadataCollection = null;

            if (retrieveAttributeResponse.AttributeMetadata.GetType() == typeof(PicklistAttributeMetadata))
            {
                optionMetadataCollection = (((PicklistAttributeMetadata)retrieveAttributeResponse.AttributeMetadata).OptionSet).Options;
            }
            else if (retrieveAttributeResponse.AttributeMetadata.GetType() == typeof(StatusAttributeMetadata))
            {
                optionMetadataCollection = (((StatusAttributeMetadata)retrieveAttributeResponse.AttributeMetadata).OptionSet).Options;
            }
            return(optionMetadataCollection);
        }
예제 #20
0
 public OrganizationResponse Execute(OrganizationRequest request)
 {
     return(ServiceProxy.Execute(request));
 }
        public AttributeMetadata GetAttributeDetails(string entityName, string attributeName)
        {
            RetrieveAttributeRequest retrieveAttributeRequest = new RetrieveAttributeRequest
            {
                EntityLogicalName     = entityName,
                LogicalName           = attributeName,
                RetrieveAsIfPublished = true
            };
            RetrieveAttributeResponse retrieveAttributeResponse = (RetrieveAttributeResponse)ServiceProxy.Execute(retrieveAttributeRequest);

            return(retrieveAttributeResponse.AttributeMetadata);
        }
예제 #22
0
        public string ConvertQueryToFetch(QueryExpression queryExpression)
        {
            QueryExpressionToFetchXmlRequest req = new QueryExpressionToFetchXmlRequest
            {
                Query = queryExpression
            };
            QueryExpressionToFetchXmlResponse resp = (QueryExpressionToFetchXmlResponse)ServiceProxy.Execute(req);

            return(resp.FetchXml);
        }
        public bool DoesUserHavePrivilage(EntityReference entity, EntityReference systemuser, AccessRights access)
        {
            RetrievePrincipalAccessRequest request = new RetrievePrincipalAccessRequest
            {
                Principal = systemuser,
                Target    = entity
            };
            RetrievePrincipalAccessResponse principalAccessResponse = (RetrievePrincipalAccessResponse)ServiceProxy.Execute(request);

            if ((principalAccessResponse.AccessRights & access) != AccessRights.None)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #24
0
        public Guid GetCurrentUserId()
        {
            WhoAmIResponse response = (WhoAmIResponse)ServiceProxy.Execute(new WhoAmIRequest());

            return(response.UserId);
        }
예제 #25
0
        public QueryExpression ConvertFetchToQuery(string fetchXml)
        {
            FetchXmlToQueryExpressionRequest conversionRequest = new FetchXmlToQueryExpressionRequest
            {
                FetchXml = fetchXml
            };
            FetchXmlToQueryExpressionResponse conversionResponse = (FetchXmlToQueryExpressionResponse)ServiceProxy.Execute(conversionRequest);

            return(conversionResponse.Query);
        }