Ejemplo n.º 1
0
        public static xv_platformmessage GetMessageByPlatformId(this IOrganizationService service, int messageId)
        {
            var platformIdCondition = ConditionExpressionHelper.CreatePlatformIdEqualsCondition(messageId);

            var filter = new FilterExpression();

            filter.Conditions.Add(platformIdCondition);

            var query = new QueryExpression(xv_platformmessage.EntityLogicalName)
            {
                ColumnSet = new ColumnSet(true)
            };

            query.Criteria.AddFilter(filter);

            var message = service.RetrieveMultiple(query).Entities
                          .FirstOrDefault();

            if (message == null)
            {
                throw new CrmEntityNotFoundException("Message not found.");
            }

            return((xv_platformmessage)message);
        }
Ejemplo n.º 2
0
        public static EntityReference GetCompanyReferenceById(this IOrganizationService service, string companyName)
        {
            var compayNameCondition = ConditionExpressionHelper.CreateCompanyNameCondition(companyName);
            var filter = new FilterExpression();

            filter.Conditions.Add(compayNameCondition);

            var query = new QueryExpression(Account.EntityLogicalName)
            {
                ColumnSet = new ColumnSet(true)
            };

            query.Criteria.AddFilter(filter);

            var companies = service.RetrieveMultiple(query)
                            .Entities.ToList();

            if (!companies.Any())
            {
                throw new CrmEntityNotFoundException(string.Format("Company '{0}' was not found.", companyName));
            }

            if (companies.Count > 1)
            {
                throw new CrmAmbiguousMatchException(string.Format("{0} companies found with name '{1}'.", companies.Count, companyName));
            }

            return(companies.Single().ToEntityReference());
        }
Ejemplo n.º 3
0
        public static EntityReference GetCompanyClassificationReferenceByName(this IOrganizationService service, string companyClassification)
        {
            Guard.ArgumentNotNullOrEmpty(companyClassification, "companyClassification");

            if (companyClassification == "Uncategorized")
            {
                return(null);
            }

            var productTypeNameCondition = ConditionExpressionHelper.CreateEqualsCondition("xv_name", companyClassification);
            var filter = new FilterExpression();

            filter.Conditions.Add(productTypeNameCondition);

            var query = new QueryExpression(xv_firmenklassifizierung.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            var productTypeEntity = service.RetrieveMultiple(query)
                                    .Entities
                                    .FirstOrDefault();

            if (productTypeEntity == null)
            {
                throw new CrmEntityNotFoundException(string.Format("Company classification '{0}' was not found.", companyClassification));
            }

            return(productTypeEntity.ToEntityReference());
        }
Ejemplo n.º 4
0
        public static EntityReference GetCountryReferenceByName(this IOrganizationService service, string countryName)
        {
            if (string.IsNullOrWhiteSpace(countryName))
            {
                return(default(EntityReference));
            }

            var countryCondition = ConditionExpressionHelper.CreateCountryCondition(countryName);
            var filter           = new FilterExpression();

            filter.Conditions.Add(countryCondition);

            var query = new QueryExpression(xv_land.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            var countries = service.RetrieveMultiple(query)
                            .Entities.ToList();

            if (!countries.Any())
            {
                return(default(EntityReference));
            }

            return(countries.First().ToEntityReference());
        }
Ejemplo n.º 5
0
        public static EntityReference GetAccountReferenceByNameFuzzy(this IOrganizationService service, string companyName)
        {
            var name          = CompanyNameHelper.RemoveCommonCompanySuffixes(companyName);
            var nameCondition = ConditionExpressionHelper.CreatePublisherNameBeginsWithCondition(name);

            var filter = new FilterExpression();

            filter.Conditions.Add(nameCondition);

            var query = new QueryExpression(Account.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            var accounts = service.RetrieveMultiple(query).Entities;

            if (accounts.Count() > 1)
            {
                throw new CrmAmbiguousMatchException(
                          string.Format("Found multiple fuzzy matches when searching for {0}.  Fuzzy match search: {1}", companyName, name));
            }

            var account = accounts.FirstOrDefault();

            if (account == null)
            {
                throw new CrmEntityNotFoundException("Account not found with name: " + companyName);
            }

            return(new EntityReference(Account.EntityLogicalName, account.Id));
        }
Ejemplo n.º 6
0
        public static EntityReference GetManagerReferenceByName(this IOrganizationService service, string firstName, string lastName)
        {
            var firstNameCondition = ConditionExpressionHelper.CreateFirstNameEqualsCondition(firstName);
            var lastNameCondition  = ConditionExpressionHelper.CreateLastNameEqualsCondition(lastName);

            var filter = new FilterExpression();

            filter.Conditions.Add(firstNameCondition);
            filter.Conditions.Add(lastNameCondition);

            var query = new QueryExpression(SystemUser.EntityLogicalName)
            {
                ColumnSet = new ColumnSet(true)
            };

            query.Criteria.AddFilter(filter);

            var users = service.RetrieveMultiple(query)
                        .Entities.ToList();

            if (!users.Any())
            {
                throw new CrmEntityNotFoundException(string.Format("User '{0} {1}' was not found.", firstName, lastName));
            }

            if (users.Count > 1)
            {
                throw new CrmAmbiguousMatchException(string.Format("{0} users found with name '{1} {2}'.", users.Count, firstName, lastName));
            }

            return(users.Single().ToEntityReference());
        }
Ejemplo n.º 7
0
        public static Contact GetContactByPlatformId(this IOrganizationService service, int personId)
        {
            var platformIdCondition = ConditionExpressionHelper.CreatePlatformIdEqualsCondition(personId);

            var filter = new FilterExpression();

            filter.Conditions.Add(platformIdCondition);

            var query = new QueryExpression(Contact.EntityLogicalName)
            {
                ColumnSet = new ColumnSet("parentcustomerid")
            };

            query.Criteria.AddFilter(filter);

            var contact = service.RetrieveMultiple(query).Entities
                          .FirstOrDefault();

            if (contact == null)
            {
                throw new CrmEntityNotFoundException("Contact not found.");
            }

            return((Contact)contact);
        }
Ejemplo n.º 8
0
        public static IEnumerable <EntityReference> GetQuoteItemsByQuoteId(this IOrganizationService service, EntityReference quoteReference)
        {
            var quoteIdCondition = ConditionExpressionHelper.CreateEqualsCondition("quoteid", quoteReference.Id);

            var filter = new FilterExpression();

            filter.Conditions.Add(quoteIdCondition);

            var query = new QueryExpression(QuoteDetail.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            return(service.RetrieveMultiple(query)
                   .Entities
                   .Select(item => item.ToEntityReference()));
        }
Ejemplo n.º 9
0
        public static IEnumerable <EntityReference> GetOpportunityItemsByOpportunityId(this IOrganizationService service, EntityReference opportunityReference)
        {
            var opportunityIdCondition = ConditionExpressionHelper.CreateEqualsCondition("opportunityid", opportunityReference.Id);

            var filter = new FilterExpression();

            filter.Conditions.Add(opportunityIdCondition);

            var query = new QueryExpression(OpportunityProduct.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            return(service.RetrieveMultiple(query)
                   .Entities
                   .Select(item => item.ToEntityReference()));
        }
Ejemplo n.º 10
0
        public static EntityReference GetSalesOrderItemReferenceByPlatformId(this IOrganizationService service, int salesOrderItemId)
        {
            var platformIdCondition = ConditionExpressionHelper.CreatePlatformIdEqualsCondition(salesOrderItemId);

            var filter = new FilterExpression();

            filter.Conditions.Add(platformIdCondition);

            var query = new QueryExpression(SalesOrderDetail.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            var salesOrderItem = service.RetrieveMultiple(query).Entities
                                 .FirstOrDefault();

            if (salesOrderItem == null)
            {
                throw new CrmEntityNotFoundException("SalesOrderItem not found.");
            }

            return(new EntityReference(SalesOrderDetail.EntityLogicalName, salesOrderItem.Id));
        }
Ejemplo n.º 11
0
        public static EntityReference GetPublisherReferenceByPlatformId(this IOrganizationService service, int publisherId)
        {
            var platformIdCondition = ConditionExpressionHelper.CreatePublisherIdCondition(publisherId);

            var filter = new FilterExpression();

            filter.Conditions.Add(platformIdCondition);

            var query = new QueryExpression(Account.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            var account = service.RetrieveMultiple(query).Entities
                          .FirstOrDefault();

            if (account == null)
            {
                throw new CrmEntityNotFoundException("Account not found with platform id: " + publisherId);
            }

            return(new EntityReference(Account.EntityLogicalName, account.Id));
        }
Ejemplo n.º 12
0
        public static EntityReference GetProductTypeReferenceByName(this IOrganizationService service, string productTypeName)
        {
            Guard.ArgumentNotNullOrEmpty(productTypeName, "productTypeName");

            var productTypeNameCondition = ConditionExpressionHelper.CreateEqualsCondition("xv_name", productTypeName);
            var filter = new FilterExpression();

            filter.Conditions.Add(productTypeNameCondition);

            var query = new QueryExpression(xv_gattungen.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            var productTypeEntity = service.RetrieveMultiple(query)
                                    .Entities
                                    .FirstOrDefault();

            if (productTypeEntity == null)
            {
                throw new CrmEntityNotFoundException(string.Format("Product type '{0}' was not found.", productTypeName));
            }

            return(productTypeEntity.ToEntityReference());
        }
Ejemplo n.º 13
0
        public static EntityReference GetPublisherReferenceByNameExact(this IOrganizationService service, string companyName)
        {
            var nameCondition        = ConditionExpressionHelper.CreatePublisherNameExactCondition(companyName);
            var isPublisherCondition = ConditionExpressionHelper.CreateIsPublisherCondition();

            var filter = new FilterExpression();

            filter.Conditions.Add(nameCondition);
            filter.Conditions.Add(isPublisherCondition);

            var query = new QueryExpression(Account.EntityLogicalName);

            query.Criteria.AddFilter(filter);

            var account = service.RetrieveMultiple(query).Entities
                          .FirstOrDefault();

            if (account == null)
            {
                throw new CrmEntityNotFoundException("Account not found with name: " + companyName);
            }

            return(new EntityReference(Account.EntityLogicalName, account.Id));
        }