Microsoft.Xrm.Sdk.Entity.GetAttributeValue(string)

Here are the examples of the csharp api Microsoft.Xrm.Sdk.Entity.GetAttributeValue(string) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

748 Examples 7

19 View Source File : AdDataAdapter.cs
License : MIT License
Project Creator : Adoxio

public IAdPlacement SelectAdPlacement(Guid adPlacementId)
		{
            ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("Start: {0}",
				adPlacementId));

			var adPlacement = SelectAdPlacement(e => e.GetAttributeValue<Guid>("adx_adplacementid") == adPlacementId);

			if (adPlacement == null)
			{
                ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Not Found");
			}

            ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("End: {0}",
				adPlacementId));

			return adPlacement;
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static Enreplacedy GetLinkSetByName(this OrganizationServiceContext context, Enreplacedy website, string webLinkSetName)
		{
			var webLinkSets = context.GetLinkSets(website);
			return webLinkSets.FirstOrDefault(wls => wls.GetAttributeValue<string>("adx_name") == webLinkSetName);
		}

19 View Source File : WebsiteBlogAggregationDataAdapter.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TryreplacedertBlogPostRight(OrganizationServiceContext serviceContext, ICrmEnreplacedySecurityProvider securityProvider, Enreplacedy blogPost, CrmEnreplacedyRight right, IDictionary<Guid, bool> blogPermissionCache)
		{
			if (blogPost == null)
			{
				throw new ArgumentNullException("blogPost");
			}

			if (blogPost.LogicalName != "adx_blogpost")
			{
				throw new ArgumentException(string.Format("Value must have logical name {0}.", blogPost.LogicalName), "blogPost");
			}

			var blogReference = blogPost.GetAttributeValue<EnreplacedyReference>("adx_blogid");

			if (blogReference == null)
			{
				throw new ArgumentException(string.Format("Value must have enreplacedy reference attribute {0}.", "adx_blogid"), "blogPost");
			}

			bool cachedResult;

			if (blogPermissionCache.TryGetValue(blogReference.Id, out cachedResult))
			{
				return cachedResult;
			}
			
			var fetch = new Fetch
			{
				Enreplacedy = new FetchEnreplacedy("adx_blog")
				{
					Filters = new[]
					{
						new Filter
						{
							Conditions = new[]
							{
								new Condition("adx_blogid", ConditionOperator.Equal, blogReference.Id),
								new Condition("statecode", ConditionOperator.Equal, 0)
							}
						}
					}
				}
			};

			var blog = serviceContext.RetrieveSingle(fetch);
			var result = securityProvider.Tryreplacedert(serviceContext, blog, right);
			blogPermissionCache[blogReference.Id] = result;

			return result;
		}

19 View Source File : PublishingStateTransitionSecurityProvider.cs
License : MIT License
Project Creator : Adoxio

public bool Tryreplacedert(OrganizationServiceContext context, Enreplacedy website, Enreplacedy fromState, Enreplacedy toState)
		{
			var fromStateId = fromState.GetAttributeValue<Guid?>("adx_publishingstateid") ?? Guid.Empty;
			var toStateId = toState.GetAttributeValue<Guid?>("adx_publishingstateid") ?? Guid.Empty;

			return Tryreplacedert(context, website, fromStateId, toStateId);
		}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TestShortcutParent(OrganizationServiceContext context, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies)
			{
				return (enreplacedy != null) && TestWebPage(context, enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_webpageid"), right, dependencies);
			}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IEnumerable<Tuple<string, int>> FetchBlogPostTagCountsInWebsite(this OrganizationServiceContext serviceContext, Guid websiteId)
		{
			// If multi-language is enabled, only select blog posts of blogs that are language-agnostic or match the current language.
			var contextLanguageInfo = HttpContext.Current.GetContextLanguageInfo();
			string conditionalLanguageFilter = contextLanguageInfo.IsCrmMultiLanguageEnabled
				? string.Format(@"<filter type=""or"">
						<condition attribute=""adx_websitelanguageid"" operator=""null"" />
						<condition attribute=""adx_websitelanguageid"" operator=""eq"" value=""{0}"" />
					</filter>", contextLanguageInfo.ContextLanguage.EnreplacedyReference.Id.ToString("D"))
				: string.Empty;

			var fetchXml = XDoreplacedent.Parse(string.Format(@"
				<fetch mapping=""logical"" aggregate=""true"" distinct=""false"">
					<enreplacedy name=""adx_blogpost_tag"">
						<attribute name=""adx_blogpostid"" alias=""count"" aggregate=""count"" />
						<link-enreplacedy name=""adx_tag"" from=""adx_tagid"" to=""adx_tagid"">
							<attribute name=""adx_name"" groupby=""true"" alias=""tag"" />
						</link-enreplacedy>
						<link-enreplacedy name=""adx_blogpost"" from=""adx_blogpostid"" to=""adx_blogpostid"">
							<filter type=""and"">
								<condition attribute=""adx_published"" operator=""eq"" value=""true"" />
							</filter>
							<link-enreplacedy name=""adx_blog"" from=""adx_blogid"" to=""adx_blogid"">
								<filter type=""and"">
									<condition attribute=""adx_websiteid"" operator=""eq"" />
									{0}
								</filter>
							</link-enreplacedy>
						</link-enreplacedy>
					</enreplacedy>
				</fetch>", conditionalLanguageFilter));

			var websiteIdCondition = fetchXml.XPathSelectElement("//condition[@attribute='adx_websiteid']");

			if (websiteIdCondition == null)
			{
				throw new InvalidOperationException("Unable to select the adx_websiteid filter condition element.");
			}

			websiteIdCondition.SetAttributeValue("value", websiteId.ToString());

			var response = (serviceContext as IOrganizationService).RetrieveMultiple(Fetch.Parse(fetchXml.ToString()));

			return response.Enreplacedies.Select(e =>
			{
				var tag = (string)e.GetAttributeValue<AliasedValue>("tag").Value;
				var count = (int)e.GetAttributeValue<AliasedValue>("count").Value;

				return new Tuple<string, int>(tag, count);
			}).ToArray();
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

private static Enreplacedy GetPageTagByName(this OrganizationServiceContext context, string tagName)
		{
			return context.CreateQuery("adx_pagetag").ToList().Where(pt => TagName.Equals(pt.GetAttributeValue<string>("adx_name"), tagName)).FirstOrDefault();
		}

19 View Source File : BlogSecurityProvider.cs
License : MIT License
Project Creator : Adoxio

private bool TryreplacedertBlogPostComment(OrganizationServiceContext serviceContext, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies)
		{
			var blogPostReference = enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_blogpostid");

			if (blogPostReference == null)
			{
				return false;
			}

			var blogPost = serviceContext.RetrieveSingle(
				"adx_blogpost",
				new[] { "adx_blogid" },
				new Condition("adx_blogpostid", ConditionOperator.Equal, blogPostReference.Id));

			if (blogPost == null)
			{
				return false;
			}

			var approved = enreplacedy.GetAttributeValue<bool?>("adx_approved").GetValueOrDefault(false);

			return this.Tryreplacedert(
				serviceContext,
				blogPost,
				(right == CrmEnreplacedyRight.Read && approved ? CrmEnreplacedyRight.Read : CrmEnreplacedyRight.Change),
				dependencies);
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IOrderedEnumerable<Enreplacedy> GetOrderedWebLinks(this OrganizationServiceContext context, Enreplacedy webLinkSet)
		{
			webLinkSet.replacedertEnreplacedyName("adx_weblinkset");

			var webLinks = webLinkSet.GetRelatedEnreplacedies(context, "adx_weblinkset_weblink");
			return webLinks.OrderBy(wl => wl.GetAttributeValue<int?>("adx_displayorder"));
		}

19 View Source File : ActivityMimeAttachmentDataAdapter.cs
License : MIT License
Project Creator : Adoxio

private IAttachment GetAttachment(Enreplacedy enreplacedy)
		{
			return new Attachment(() => GetAttachmentFile(enreplacedy, enreplacedy.GetAttributeValue<EnreplacedyReference>("attachmentid").Id));
		}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TestParentPermit(OrganizationServiceContext context, Enreplacedy enreplacedy, CrmEnreplacedyRight right)
			{
				var contactid = enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_regardingcontact")
					?? enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_regardingcontactid");

				var portalContext = PortalCrmConfigurationManager.CreatePortalContext(PortalName);

				return right == CrmEnreplacedyRight.Read
						&& contactid != null
						&& portalContext != null
						&& portalContext.User != null
						&& contactid.Equals(portalContext.User.ToEnreplacedyReference());
			}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TestWebFile(OrganizationServiceContext context, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies)
			{
				if (enreplacedy == null)
				{
					return false;
				}

				var parentBlogPostReference = enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_blogpostid");

				if (parentBlogPostReference != null)
				{
					var post = context.RetrieveSingle(parentBlogPostReference, new ColumnSet());
					return this.TestBlogPost(context, post, right, dependencies);
					}

				return TestParentWebPage(context, enreplacedy, right, dependencies);
			}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IEnumerable<Tuple<int, int, int>> FetchBlogPostCountsGroupedByMonthInWebsite(this OrganizationServiceContext serviceContext, Guid websiteId)
		{
			// If multi-language is enabled, only select blog posts of blogs that are language-agnostic or match the current language.
			var contextLanguageInfo = HttpContext.Current.GetContextLanguageInfo();
			string conditionalLanguageFilter = contextLanguageInfo.IsCrmMultiLanguageEnabled
				? string.Format(@"<filter type=""or"">
						<condition attribute=""adx_websitelanguageid"" operator=""null"" />
						<condition attribute=""adx_websitelanguageid"" operator=""eq"" value=""{0}"" />
					</filter>", contextLanguageInfo.ContextLanguage.EnreplacedyReference.Id.ToString("D"))
				: string.Empty;

			var fetchXml = XDoreplacedent.Parse(string.Format(@"
				<fetch mapping=""logical"" aggregate=""true"" distinct=""false"">
					<enreplacedy name=""adx_blogpost"">
						<attribute name=""adx_blogpostid"" alias=""count"" aggregate=""count"" />
						<attribute name=""adx_date"" groupby=""true"" dategrouping=""month"" alias=""month"" />
						<attribute name=""adx_date"" groupby=""true"" dategrouping=""year"" alias=""year"" />
						<filter type=""and"">
							<condition attribute=""adx_published"" operator=""eq"" value=""true"" />
						</filter>
						<link-enreplacedy name=""adx_blog"" from=""adx_blogid"" to=""adx_blogid"">
							<filter type=""and"">
								<condition attribute=""adx_websiteid"" operator=""eq"" />
								{0}
							</filter>
						</link-enreplacedy>
					</enreplacedy>
				</fetch>", conditionalLanguageFilter));

			var websiteIdCondition = fetchXml.XPathSelectElement("//link-enreplacedy[@name='adx_blog']/filter/condition[@attribute='adx_websiteid']");

			if (websiteIdCondition == null)
			{
				throw new InvalidOperationException("Unable to select the adx_websiteid filter condition element.");
			}

			websiteIdCondition.SetAttributeValue("value", websiteId.ToString());

			var response = (serviceContext as IOrganizationService).RetrieveMultiple(Fetch.Parse(fetchXml.ToString()));

			return response.Enreplacedies.Select(e =>
			{
				var year = (int)e.GetAttributeValue<AliasedValue>("year").Value;
				var month = (int)e.GetAttributeValue<AliasedValue>("month").Value;
				var count = (int)e.GetAttributeValue<AliasedValue>("count").Value;

				return new Tuple<int, int, int>(year, month, count);
			});
		}

19 View Source File : ActivityEnabledEntityDataAdapter.cs
License : MIT License
Project Creator : Adoxio

private Enreplacedy CreateAlertEnreplacedy(EnreplacedyReference user, OrganizationServiceContext serviceContext)
		{
			if (user == null) throw new ArgumentNullException("user");

			if (user.LogicalName != "contact")
			{
                throw new ArgumentException(string.Format("Value must have logical name '{0}'", user.LogicalName), "user");
			}

            ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("Start: {0}:{1}", user.LogicalName, user.Id));


			var existingAlert = SelectAlert(serviceContext, user);

			if (existingAlert != null)
			{
                ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("End: {0}:{1}, Alert Exists", user.LogicalName, user.Id));

				return null;
			}

			var metadataRequest = new RetrieveEnreplacedyRequest
									  {
										  LogicalName = RecordReference.LogicalName,
										  EnreplacedyFilters = EnreplacedyFilters.Attributes
									  };

			var metadataResponse = (RetrieveEnreplacedyResponse)serviceContext.Execute(metadataRequest);

			var primaryIdFieldName = metadataResponse.EnreplacedyMetadata.PrimaryIdAttribute;

			var primaryNameFieldName = metadataResponse.EnreplacedyMetadata.PrimaryNameAttribute;

			var record = serviceContext.CreateQuery(RecordReference.LogicalName).FirstOrDefault(
				r => r.GetAttributeValue<Guid>(primaryIdFieldName) == RecordReference.Id);

			var contact =
				serviceContext.CreateQuery("contact").FirstOrDefault(c => c.GetAttributeValue<Guid>("contactid") == user.Id);

			var alert = new Enreplacedy("adx_alertsubscription");

			alert["regardingobjectid"] = RecordReference;

			//replacedign the contact to the customer s list
			var activityparty = new Enreplacedy("activityparty");

			activityparty["partyid"] = user;

			var particpant = new EnreplacedyCollection(new List<Enreplacedy> { activityparty });

			alert["customers"] = particpant;

			alert["subject"] = string.Format(ResourceManager.GetString("Subscription_Added_Alert_Message"), contact.GetAttributeValue<string>("fullname"),
			                                 record.GetAttributeValue<string>(primaryNameFieldName));
			return alert;
		}

19 View Source File : BlogSecurityProvider.cs
License : MIT License
Project Creator : Adoxio

private bool TryreplacedertBlog(OrganizationServiceContext serviceContext, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies, ContentMap map)
		{
			var pageReference = enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_parentpageid");
			if (pageReference == null)
			{
				return false;
			}

			var parentPage = serviceContext.RetrieveSingle(
				"adx_webpage",
				new[] { "adx_name" },
				new Condition("adx_webpageid", ConditionOperator.Equal, pageReference.Id));

			if (right == CrmEnreplacedyRight.Read)
			{
				return parentPage != null && this.WebPageSecurityProvider.Tryreplacedert(serviceContext, parentPage, right, dependencies);
			}

			if (!Roles.Enabled)
			{
				ADXTrace.Instance.TraceError(TraceCategory.Application, "Roles are not enabled for this application. Denying Change.");

				return false;
			}

			IEnumerable<Enreplacedy> authorRoles = new List<Enreplacedy>();
			EnreplacedyNode blogNode;
			if (!map.TryGetValue(enreplacedy, out blogNode))
			{
				return false;
			}

			if (blogNode is BlogNode)
			{
				authorRoles = ((BlogNode)blogNode).WebRoles.Select(wr => wr.ToEnreplacedy());
			}

			if (!authorRoles.Any())
			{
				return false;
			}

			dependencies.AddEnreplacedyDependencies(authorRoles);

			var userRoles = this.GetUserRoles();

			return authorRoles.Select(e => e.GetAttributeValue<string>("adx_name")).Intersect(userRoles, StringComparer.InvariantCulture).Any()
				|| (parentPage != null && this.WebPageSecurityProvider.Tryreplacedert(serviceContext, parentPage, right, dependencies));
		}

19 View Source File : ContentMapProvider.cs
License : MIT License
Project Creator : Adoxio

private static EnreplacedyNode Refresh(CrmDbContext context, ContentMap map, EnreplacedyReference reference)
		{
			reference.ThrowOnNull("reference");

			ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("LogicalName={0}, Id={1}", EnreplacedyNamePrivacy.GetEnreplacedyName(reference.LogicalName), reference.Id));

			EnreplacedyDefinition ed;

			if (map.Solution.Enreplacedies.TryGetValue(reference.LogicalName, out ed))
			{
				// retrieve a fresh enreplacedy which also acts as a backend validation

				var fetch = ed.CreateFetch();

				Enreplacedy enreplacedy = null;

				try
				{
					string primaryIdAttribute = EventHubBasedInvalidation.CrmChangeTrackingManager.Instance.TryGetPrimaryKey(reference.LogicalName);
					
					// The condition for the filter on primary key
					var primaryAttributeCondition = new Condition
					{
						Attribute = primaryIdAttribute,
						Operator = ConditionOperator.Equal,
						Value = reference.Id
					};

					var attributes = fetch.Enreplacedy.Attributes;
					var fQuery = new Fetch
					{
						Distinct = true,
						SkipCache = true,
						Enreplacedy = new FetchEnreplacedy
						{
							Name = reference.LogicalName,
							Attributes = attributes,
							Filters = new List<Filter>()
							{
								new Filter
								{
									Type = LogicalOperator.And,
									Conditions = new List<Condition>()
									{
										primaryAttributeCondition
									}
								}
							}
						}
					};

					enreplacedy = context.Service.RetrieveSingle(fQuery, true, true);
				}
				catch (FaultException<OrganizationServiceFault> fe)
				{
					// an exception occurs when trying to retrieve a non-existing enreplacedy

					if (!fe.Message.EndsWith("Does Not Exist"))
					{
						throw;
					}
				}

				// Check if the enreplacedy matches on the defined relationships.
				if (!ed.ShouldIncludeInContentMap(enreplacedy))
				{
					return null;
				}

				// check if the enreplacedy is inactive according to the definition
				var option = enreplacedy != null ? enreplacedy.GetAttributeValue<OptionSetValue>("statecode") : null;
				var isActive = ed.ActiveStateCode == null || (option != null && ed.ActiveStateCode.Value == option.Value);

				var node = map.Using(ContentMapLockType.Write, () => enreplacedy != null
					? (isActive
						? map.Replace(enreplacedy)
						: map.Deactivate(reference))
					: map.Remove(reference));

				return node;
			}

			ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("Unknown: logicalName={0}", EnreplacedyNamePrivacy.GetEnreplacedyName(reference.LogicalName)));

			return null;
		}

19 View Source File : WebsiteBlogAggregationDataAdapter.cs
License : MIT License
Project Creator : Adoxio

public IBlog Select(Guid blogId)
		{
			ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("Start: {0}", blogId));

			var blog = Select(e => e.GetAttributeValue<Guid>("adx_blogid") == blogId);

			if (blog == null)
			{
				ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Not Found");
			}

			ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("End: {0}", blogId));

			return blog;
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IEnumerable<Enreplacedy> GetVisibleChildPages(this OrganizationServiceContext context, Enreplacedy webPage)
		{
			webPage.replacedertEnreplacedyName("adx_webpage");

			var langContext = HttpContext.Current.GetContextLanguageInfo();
			var rootPage = langContext.GetRootWebPageEnreplacedy(context, webPage);
			var childPages = context.GetChildPages(rootPage);
			var visibleChildPages = childPages.Where(cp => !cp.GetAttributeValue<bool?>("adx_hiddenfromsitemap").GetValueOrDefault(false));
			return visibleChildPages;
		}

19 View Source File : CrmUser.cs
License : MIT License
Project Creator : Adoxio

public virtual void RemoveLogin(UserLoginInfo login)
		{
			if (!Enreplacedy.RelatedEnreplacedies.ContainsKey(UserConstants.ContactExternalIdenreplacedyRelationship)) return;

			var enreplacedies = Enreplacedy
				.RelatedEnreplacedies[UserConstants.ContactExternalIdenreplacedyRelationship].Enreplacedies
				.Where(e => e.GetAttributeValue<string>("adx_idenreplacedyprovidername") == login.LoginProvider && e.GetAttributeValue<string>("adx_username") == login.ProviderKey)
				.ToArray();

			foreach (var enreplacedy in enreplacedies)
			{
				Enreplacedy.RelatedEnreplacedies[UserConstants.ContactExternalIdenreplacedyRelationship].Enreplacedies.Remove(enreplacedy);
			}

			_logins = new Lazy<IEnumerable<CrmUserLogin>>(GetUserLogins);
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static Enreplacedy GetSiteSettingByName(this OrganizationServiceContext context, Enreplacedy website, string siteSettingName)
		{
			var siteSettings = context.GetSiteSettings(website);
			return (from s in siteSettings where s.GetAttributeValue<string>("adx_name") == siteSettingName select s).FirstOrDefault();
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IEnumerable<Enreplacedy> GetActiveCasesForContactByAccountId(this OrganizationServiceContext context, EnreplacedyReference contact, Guid accountid)
		{
			if (contact == null)
			{
				return Enumerable.Empty<Enreplacedy>();
			}

			// Get cases where the customer is the account of replacedigned to any caseaccess rule for the current contact that allows read and scoped to account
			var accountcases = from incident in context.CreateQuery("incident")
				join caseaccess in context.CreateQuery("adx_caseaccess")
				on incident.GetAttributeValue<EnreplacedyReference>("customerid") equals caseaccess.GetAttributeValue<EnreplacedyReference>("adx_accountid")
				where caseaccess.GetAttributeValue<EnreplacedyReference>("adx_contactid") == contact
					&& caseaccess.GetAttributeValue<bool?>("adx_read").GetValueOrDefault(false) && caseaccess.GetAttributeValue<OptionSetValue>("adx_scope") != null && caseaccess.GetAttributeValue<OptionSetValue>("adx_scope").Value == (int)CaseAccessScope.Account
					&& caseaccess.GetAttributeValue<EnreplacedyReference>("adx_accountid") == new EnreplacedyReference("account", accountid)
				where incident.GetAttributeValue<OptionSetValue>("statecode") != null && incident.GetAttributeValue<OptionSetValue>("statecode").Value == (int)IncidentState.Active
				select incident;

			// Get cases where the customer is a contact and where the parent customer of the contact is an account replacedigned to any caseaccess rule for the current contact that allows read and scoped to account
			var parentaccountcases = from incident in context.CreateQuery("incident")
				join c in context.CreateQuery("contact") on incident.GetAttributeValue<EnreplacedyReference>("customerid").Id equals c.GetAttributeValue<Guid>("contactid")
				join account in context.CreateQuery("account") on c.GetAttributeValue<EnreplacedyReference>("parentcustomerid").Id equals account.GetAttributeValue<Guid>("accountid")
				join caseaccess in context.CreateQuery("adx_caseaccess") on account.GetAttributeValue<Guid>("accountid") equals caseaccess.GetAttributeValue<EnreplacedyReference>("adx_accountid").Id
				where caseaccess.GetAttributeValue<EnreplacedyReference>("adx_contactid") == contact
					&& caseaccess.GetAttributeValue<bool?>("adx_read").GetValueOrDefault(false) && caseaccess.GetAttributeValue<OptionSetValue>("adx_scope") != null && caseaccess.GetAttributeValue<OptionSetValue>("adx_scope").Value == (int)CaseAccessScope.Account
					&& caseaccess.GetAttributeValue<EnreplacedyReference>("adx_accountid") == new EnreplacedyReference("account", accountid)
				where incident.GetAttributeValue<OptionSetValue>("statecode") != null && incident.GetAttributeValue<OptionSetValue>("statecode").Value == (int)IncidentState.Active
				select incident;

			var cases = accountcases.AsEnumerable().Union(parentaccountcases.AsEnumerable()).Distinct();

			return cases;
		}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TestShortcutTarget(OrganizationServiceContext context, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies)
			{
				if (enreplacedy == null)
				{
					return false;
				}

				if (!string.IsNullOrEmpty(enreplacedy.GetAttributeValue<string>("adx_externalurl")))
				{
					return true;
				}

				if (enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_webpageid") != null)
				{
					return this.TestWebPage(context, enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_webpageid"), right, dependencies);
				}

				if (enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_webfileid") != null)
				{
					var reference = enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_webfileid");
					var webfile = context.RetrieveSingle(
						"adx_webfile",
						new[] { "adx_blogpostid", "adx_parentpageid" },
						new Condition("adx_webfileid", ConditionOperator.Equal, reference.Id));

					return this.TestWebFile(context, webfile, right, dependencies);
				}

				if (enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_forumid") != null)
				{
					return this.TestForum(context, enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_forumid"), right, dependencies);
				}

				// legacy enreplacedies
				if (enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_surveyid") != null)
				{
					return TestSurvey(context, enreplacedy.GetRelatedEnreplacedy(context, "adx_survey_shortcut"), right, dependencies);
				}

				if (enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_eventid") != null)
				{
					return TestEvent(context, enreplacedy.GetRelatedEnreplacedy(context, "adx_event_shortcut"), right, dependencies);
				}

				return false;
			}

19 View Source File : ActivityMimeAttachmentDataAdapter.cs
License : MIT License
Project Creator : Adoxio

private IAttachment GetAttachmentFile(Enreplacedy activityMimeAttachment, Guid id)
		{
			ulong fileSize;
			if (!ulong.TryParse(activityMimeAttachment.GetAttributeValue<int>("filesize").ToString(), out fileSize))
			{
				fileSize = 0;
			}
			FileSize attachmentSize = new FileSize(fileSize);

			Enreplacedy attachment = null;
            if (activityMimeAttachment.Attributes.ContainsKey("attachmentid"))
			{
				attachment = new Enreplacedy("activitymimeattachment", activityMimeAttachment.GetAttributeValue<EnreplacedyReference>("attachmentid").Id);
			}

			return new Attachment
			{
				AttachmentContentType = activityMimeAttachment.GetAttributeValue<string>("mimetype"),
				AttachmentFileName = activityMimeAttachment.GetAttributeValue<string>("filename"),
				AttachmentIsImage =
					(new List<string> { "image/jpeg", "image/gif", "image/png" }).Contains(
						activityMimeAttachment.GetAttributeValue<string>("mimetype")),
				AttachmentSize = attachmentSize,
				AttachmentSizeDisplay = attachmentSize.ToString(),
				AttachmentUrl = attachment == null ? string.Empty : attachment.GetFileAttachmentUrl(_dependencies.GetWebsite()),
				AttachmentBody = GetAttachmentBody(activityMimeAttachment, activityMimeAttachment.Id),
				Enreplacedy = activityMimeAttachment
			};
		}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TestParentWebPage(OrganizationServiceContext context, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies)
			{
				return (enreplacedy != null) && TestWebPage(context, enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_parentpageid"), right, dependencies);
			}

19 View Source File : ActivityMimeAttachmentDataAdapter.cs
License : MIT License
Project Creator : Adoxio

private byte[] GetAttachmentBody(Enreplacedy attachment, Guid id)
		{
			if (!attachment.Attributes.ContainsKey("body"))
			{
				return null;
			}

			//Get the string representation of the attachment body
			var body = attachment.GetAttributeValue<string>("body");

			//Encode into a byte array and return
			return Convert.FromBase64String(body);
		}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TryGetParentPermit(OrganizationServiceContext context, Enreplacedy enreplacedy, out Enreplacedy parentPermit)
			{
				var permitReference = enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_permit") ??
									  enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_permitid");

				if (permitReference != null)
				{
					parentPermit = context.CreateQuery("adx_permit").FirstOrDefault(
							p => p.GetAttributeValue<Guid>("adx_permitid") == permitReference.Id);
					return true;
				}
				parentPermit = null;
				return false;
			}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TestFeedback(OrganizationServiceContext context, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies)
			{
				ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format(@"Testing right {0} on feedback ({1}).", right, enreplacedy.Id));

				dependencies.AddEnreplacedyDependency(enreplacedy);

				EnreplacedyReference relatedReference = enreplacedy.GetAttributeValue<EnreplacedyReference>("regardingobjectid");
				if (relatedReference == null)
				{
					return false;
				}

				// Determine the primary ID attribute of the regarding object
				var request = new RetrieveEnreplacedyRequest
				{
					LogicalName = relatedReference.LogicalName,
					EnreplacedyFilters = EnreplacedyFilters.Enreplacedy
				};

				var response = context.Execute(request) as RetrieveEnreplacedyResponse;
				if (response == null || response.EnreplacedyMetadata == null)
				{
					return false;
				}

				var primaryIdAttribute = response.EnreplacedyMetadata.PrimaryIdAttribute;

				// Retrieve the regarding object
				var relatedEnreplacedy = context.CreateQuery(relatedReference.LogicalName)
					.FirstOrDefault(e => e.GetAttributeValue<Guid>(primaryIdAttribute) == relatedReference.Id);

				if (relatedEnreplacedy == null)
				{
					return false;
				}

				var approved = enreplacedy.GetAttributeValue<bool?>("adx_approved").GetValueOrDefault(false);

				// If the right being replacederted is Read, and the comment is approved, replacedert whether the post is readable.
				if (right == CrmEnreplacedyRight.Read && approved)
				{
					return Tryreplacedert(context, relatedEnreplacedy, right, dependencies);
				}

				var author = enreplacedy.GetAttributeValue<EnreplacedyReference>("createdbycontact");

				// If there's no author on the post for some reason, only allow posts that are published, and preplaced the same replacedertion on the blog.
				if (author == null)
				{
					return approved && Tryreplacedert(context, relatedEnreplacedy, right, dependencies);
				}

				var portal = PortalCrmConfigurationManager.CreatePortalContext();

				// If we can't get a current portal user, only allow posts that are published, and preplaced the same replacedertion on the blog.
				if (portal == null || portal.User == null)
				{
					return approved && Tryreplacedert(context, relatedEnreplacedy, right, dependencies);
				}
				
				return Tryreplacedert(context, relatedEnreplacedy, right, dependencies);
			}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IEnumerable<Tuple<int, int, int>> FetchBlogPostCountsGroupedByMonth(this OrganizationServiceContext serviceContext, Guid blogId)
		{
			var fetchXml = XDoreplacedent.Parse(@"
				<fetch mapping=""logical"" aggregate=""true"" distinct=""false"">
					<enreplacedy name=""adx_blogpost"">
						<attribute name=""adx_blogpostid"" alias=""count"" aggregate=""count"" />
						<attribute name=""adx_date"" groupby=""true"" dategrouping=""month"" alias=""month"" />
						<attribute name=""adx_date"" groupby=""true"" dategrouping=""year"" alias=""year"" />
						<filter type=""and"">
							<condition attribute=""adx_blogid"" operator=""eq"" />
							<condition attribute=""adx_published"" operator=""eq"" value=""true"" />
						</filter>
					</enreplacedy>
				</fetch>");

			var websiteIdCondition = fetchXml.XPathSelectElement("//filter/condition[@attribute='adx_blogid']");

			if (websiteIdCondition == null)
			{
				throw new InvalidOperationException(string.Format("Unable to select {0} element.", "adx_blogid filter condition"));
			}

			websiteIdCondition.SetAttributeValue("value", blogId.ToString());

			var response = (serviceContext as IOrganizationService).RetrieveMultiple(Fetch.Parse(fetchXml.ToString()));

			return response.Enreplacedies.Select(e =>
			{
				var year = (int)e.GetAttributeValue<AliasedValue>("year").Value;
				var month = (int)e.GetAttributeValue<AliasedValue>("month").Value;
				var count = (int)e.GetAttributeValue<AliasedValue>("count").Value;

				return new Tuple<int, int, int>(year, month, count);
			});
		}

19 View Source File : PublishingStateTransitionSecurityProvider.cs
License : MIT License
Project Creator : Adoxio

public void replacedert(OrganizationServiceContext context, Enreplacedy website, Enreplacedy fromState, Enreplacedy toState)
		{
			if (!Tryreplacedert(context, website, fromState, toState))
			{
				throw new SecurityException(string.Format("Security replacedertion for transition from state {0} to {1} failed.",
					fromState.GetAttributeValue<string>("adx_name"), toState.GetAttributeValue<string>("adx_name")));
			}
		}

19 View Source File : BlogPostFactory.cs
License : MIT License
Project Creator : Adoxio

private IEnumerable<IBlogPostTag> GetTags(Enreplacedy post, IEnumerable<string> tagNames)
		{
			if (post == null) throw new ArgumentNullException("post");

			return tagNames == null
				? new IBlogPostTag[] { }
				: tagNames
					.Distinct(TagInfo.TagComparer)
					.OrderBy(name => name)
					.Select(name => new BlogPostTag(name, _archiveApplicationPathGenerator.GetTagPath(name, post.GetAttributeValue<EnreplacedyReference>("adx_blogid"))))
					.ToArray();
		}

19 View Source File : PublishingStateTransitionSecurityProvider.cs
License : MIT License
Project Creator : Adoxio

public bool Tryreplacedert(OrganizationServiceContext context, Enreplacedy website, Guid fromStateId, Guid toStateId)
		{
			// Windows Live ID Server decided to return null for an unauthenticated user's name
			// A null username, however, breaks the Roles.GetRolesForUser() because it expects an empty string.
			var currentUsername = (HttpContext.Current.User != null && HttpContext.Current.User.Idenreplacedy != null)
				? HttpContext.Current.User.Idenreplacedy.Name ?? string.Empty
				: string.Empty;

			var userRoles = Roles.GetRolesForUser(currentUsername).ToLookup(role => role);

			//Get publshing state transitional rules 
			var publishingStateRulesApplicable = context.CreateQuery("adx_publishingstatetransitionrule").Where(psr =>
				psr.GetAttributeValue<EnreplacedyReference>("adx_fromstate_publishingstateid") == new EnreplacedyReference("adx_publishingstate", fromStateId) &&
				psr.GetAttributeValue<EnreplacedyReference>("adx_tostate_publishingstateid") == new EnreplacedyReference("adx_publishingstate", toStateId) &&
				psr.GetAttributeValue<EnreplacedyReference>("adx_websiteid") == website.ToEnreplacedyReference()).ToList();

			var webRoles = publishingStateRulesApplicable.SelectMany(rule => rule.GetRelatedEnreplacedies(context, "adx_publishingstatetransitionrule_webrole")
				.Where(role => role.GetAttributeValue<EnreplacedyReference>("adx_websiteid") != null && role.GetAttributeValue<EnreplacedyReference>("adx_websiteid").Id == website.Id))
					.ToList().Select(role => role.GetAttributeValue<string>("adx_name"));

			// Determine if the user belongs to any of the roles that apply to this rule grouping
			// If the user belongs to one of the roles... or if there are no rules applicable
			return (!publishingStateRulesApplicable.Any()) || webRoles.Any(role => userRoles.Contains(role));
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IEnumerable<Tuple<string, int>> FetchBlogPostTagCounts(this OrganizationServiceContext serviceContext, Guid blogId)
		{
			var fetchXml = XDoreplacedent.Parse(@"
				<fetch mapping=""logical"" aggregate=""true"" distinct=""false"">
					<enreplacedy name=""adx_blogpost_tag"">
						<attribute name=""adx_blogpostid"" alias=""count"" aggregate=""count"" />
						<link-enreplacedy name=""adx_tag"" from=""adx_tagid"" to=""adx_tagid"">
							<attribute name=""adx_name"" groupby=""true"" alias=""tag"" />
						</link-enreplacedy>
						<link-enreplacedy name=""adx_blogpost"" from=""adx_blogpostid"" to=""adx_blogpostid"">
							<filter type=""and"">
								<condition attribute=""adx_blogid"" operator=""eq"" />
								<condition attribute=""adx_published"" operator=""eq"" value=""true"" />
							</filter>
						</link-enreplacedy>
					</enreplacedy>
				</fetch>");

			var websiteIdCondition = fetchXml.XPathSelectElement("//link-enreplacedy[@name='adx_blogpost']/filter/condition[@attribute='adx_blogid']");

			if (websiteIdCondition == null)
			{
				throw new InvalidOperationException(string.Format("Unable to select {0} element.", "adx_blogid filter condition"));
			}

			websiteIdCondition.SetAttributeValue("value", blogId.ToString());

			var response = (serviceContext as IOrganizationService).RetrieveMultiple(Fetch.Parse(fetchXml.ToString()));

			return response.Enreplacedies.Select(e =>
			{
				var tag = (string)e.GetAttributeValue<AliasedValue>("tag").Value;
				var count = (int)e.GetAttributeValue<AliasedValue>("count").Value;

				return new Tuple<string, int>(tag, count);
			}).ToArray();
		}

19 View Source File : AdDataAdapter.cs
License : MIT License
Project Creator : Adoxio

public IAd SelectAd(string adName)
		{
			if (string.IsNullOrEmpty(adName))
			{
				return null;
			}

            ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Start");

			var ad = SelectAd(e => e.GetAttributeValue<string>("adx_name") == adName);

			if (ad == null)
			{
                ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Not Found");
			}

            ADXTrace.Instance.TraceInfo(TraceCategory.Application, "End");

			return ad;
		}

19 View Source File : ActivityMimeAttachmentDataAdapter.cs
License : MIT License
Project Creator : Adoxio

private static void SetResponseParameters(HttpResponseBase response, HttpCacheability defaultCacheability,
			Enreplacedy attachment, Enreplacedy webfile, ICollection<byte> data)
		{
			response.StatusCode = (int)HttpStatusCode.OK;
			response.ContentType = attachment.GetAttributeValue<string>("mimetype");

			var contentDispositionText = "inline";

			if (webfile != null)
			{
				var contentDispositionOptionSetValue = webfile.GetAttributeValue<OptionSetValue>("adx_contentdisposition");

				if (contentDispositionOptionSetValue != null)
				{
					switch (contentDispositionOptionSetValue.Value)
					{
						case 756150000: // inline
							contentDispositionText = "inline";
							break;
						case 756150001: // attachment
							contentDispositionText = "attachment";
							break;
						default:
							contentDispositionText = "inline";
							break;
					}
				}
			}

			if (string.Equals(response.ContentType, "text/html", StringComparison.OrdinalIgnoreCase) ||
				string.Equals(response.ContentType, "application/octet-stream", StringComparison.OrdinalIgnoreCase))
			{
				contentDispositionText = "attachment";
			}

			var contentDisposition = new StringBuilder(contentDispositionText);

			AppendFilenameToContentDisposition(attachment, contentDisposition);

			response.AppendHeader("Content-Disposition", contentDisposition.ToString());
			response.AppendHeader("Content-Length", data.Count.ToString(CultureInfo.InvariantCulture));

			var section = PortalCrmConfigurationManager.GetPortalCrmSection();
			var policy = section.CachePolicy.Annotation;

			Utility.SetResponseCachePolicy(policy, response, defaultCacheability);
		}

19 View Source File : AdDataAdapter.cs
License : MIT License
Project Creator : Adoxio

public IAdPlacement SelectAdPlacement(string adPlacementName)
		{
			if (string.IsNullOrEmpty(adPlacementName))
			{
				return null;
			}

            ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Start");

			var adPlacement = SelectAdPlacement(e => e.GetAttributeValue<string>("adx_name") == adPlacementName);

			if (adPlacement == null)
			{
                ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Not Found");
			}

            ADXTrace.Instance.TraceInfo(TraceCategory.Application, "End");

            return adPlacement;
		}

19 View Source File : WebsiteBlogAggregationDataAdapter.cs
License : MIT License
Project Creator : Adoxio

public virtual IEnumerable<IBlog> SelectBlogs(int startRowIndex, int maximumRows = -1)
		{
			if (startRowIndex < 0)
			{
				throw new ArgumentException("Value must be a positive integer.", "startRowIndex");
			}

			if (maximumRows == 0)
			{
				return new IBlog[] { };
			}

			var serviceContext = Dependencies.GetServiceContext();
			var security = Dependencies.GetSecurityProvider();
			var urlProvider = Dependencies.GetUrlProvider();

			var query = SelectBlogEnreplacedies(serviceContext).ToList().OrderBy(blog => blog.GetAttributeValue<string>("adx_name"));

			if (maximumRows < 0)
			{
				return query.ToArray()
					.Where(e => security.Tryreplacedert(serviceContext, e, CrmEnreplacedyRight.Read))
					.Skip(startRowIndex)
					.Select(e => new Blog(e, urlProvider.GetApplicationPath(serviceContext, e), Dependencies.GetBlogFeedPath(e.Id)))
					.ToArray();
			}

			var pagedQuery = query;

			var paginator = new PostFilterPaginator<Enreplacedy>(
				(offset, limit) => pagedQuery.Skip(offset).Take(limit).ToArray(),
				e => security.Tryreplacedert(serviceContext, e, CrmEnreplacedyRight.Read),
				2);

			return paginator.Select(startRowIndex, maximumRows)
				.Select(e => new Blog(e, urlProvider.GetApplicationPath(serviceContext, e), Dependencies.GetBlogFeedPath(e.Id))).ToArray();
		}

19 View Source File : EntitySiteMapDisplayOrderComparer.cs
License : MIT License
Project Creator : Adoxio

public int Compare(Enreplacedy x, Enreplacedy y)
		{
			if (x == null && y == null)
			{
				return 0;
			}

			if (x == null)
			{
				return 1;
			}

			if (y == null)
			{
				return -1;
			}

			int? xDisplayOrder;
				
			// Try get a display order value for x.
			if (x.Attributes.Contains("adx_displayorder"))
			{
				try
				{
					xDisplayOrder = x.GetAttributeValue<int?>("adx_displayorder");
				}
				catch
				{
					xDisplayOrder = null;
				}
			}
			else
			{
				xDisplayOrder = null;
			}

			int? yDisplayOrder;
				
			// Try get a display order value for y.
			if (y.Attributes.Contains("adx_displayorder"))
			{
				try
				{
					yDisplayOrder = y.GetAttributeValue<int?>("adx_displayorder");
				}
				catch
				{
					yDisplayOrder = null;
				}
			}
			else
			{
				yDisplayOrder = null;
			}

			// If neither has a display order, they are ordered equally.
			if (!(xDisplayOrder.HasValue || yDisplayOrder.HasValue))
			{
				return 0;
			}

			// If x has no display order, and y does, order x after y.
			if (!xDisplayOrder.HasValue)
			{
				return 1;
			}

			// If x has a display order, and y does not, order y after x.
			if (!yDisplayOrder.HasValue)
			{
				return -1;
			}

			// If both have display orders, order by the comparison of that value.
			return xDisplayOrder.Value.CompareTo(yDisplayOrder.Value);
		}

19 View Source File : BlogSecurityProvider.cs
License : MIT License
Project Creator : Adoxio

private bool TryreplacedertBlogPost(OrganizationServiceContext serviceContext, Enreplacedy enreplacedy, CrmEnreplacedyRight right, CrmEnreplacedyCacheDependencyTrace dependencies)
		{
			var blogReference = enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_blogid");

			if (blogReference == null)
			{
				return false;
			}

			var blog = serviceContext.RetrieveSingle(
				"adx_blog",
				new[] { "adx_parentpageid", "adx_websiteid" },
				new Condition("adx_blogid", ConditionOperator.Equal, blogReference.Id));

			if (blog == null)
			{
				return false;
			}

			var published = enreplacedy.GetAttributeValue<bool?>("adx_published").GetValueOrDefault(false);

			return this.Tryreplacedert(
				serviceContext,
				blog,
				(right == CrmEnreplacedyRight.Read && published ? CrmEnreplacedyRight.Read : CrmEnreplacedyRight.Change),
				dependencies);
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static void AddTagToWebPageAndSave(this OrganizationServiceContext context, Guid pageId, string tagName)
		{
			if (context.MergeOption == MergeOption.NoTracking)
			{
				throw new ArgumentException("The OrganizationServiceContext.MergeOption cannot be MergeOption.NoTracking.", "context");
			}

			if (string.IsNullOrEmpty(tagName))
			{
				throw new ArgumentException("Can't be null or empty.", "tagName");
			}

			if (pageId == Guid.Empty)
			{
				throw new ArgumentException("Argument must be a non-empty GUID.", "pageId");
			}

			var page = context.CreateQuery("adx_webpage").Single(p => p.GetAttributeValue<Guid>("adx_webpageid") == pageId);

			var tag = context.GetPageTagByName(tagName);

			// If the tag doesn't exist, create it
			if (tag == null)
			{
				tag = new Enreplacedy("adx_pagetag");
				tag["adx_name"] = tagName;

				context.AddObject(tag);
				context.SaveChanges();
				context.ReAttach(page);
				context.ReAttach(tag);
			}

			if (!page.GetRelatedEnreplacedies(context, "adx_pagetag_webpage").Any(t => t.GetAttributeValue<Guid>("adx_pagetagid") == tag.Id))
			{
				context.AddLink(page, new Relationship("adx_pagetag_webpage"), tag);

				context.SaveChanges();
			}
		}

19 View Source File : WebsiteBlogAggregationDataAdapter.cs
License : MIT License
Project Creator : Adoxio

public IBlog Select(string blogName)
		{
			if (string.IsNullOrEmpty(blogName))
			{
				return null;
			}

            ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Start");

			var blog = Select(e => e.GetAttributeValue<string>("adx_name") == blogName);

			if (blog == null)
			{
				ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Not Found");
			}

			ADXTrace.Instance.TraceInfo(TraceCategory.Application, "End");

			return blog;
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

private static Guid? GetId(Enreplacedy survey)
			{
				return survey.GetAttributeValue<Guid?>("adx_surveyid");
			}

19 View Source File : CrmSdkController.cs
License : MIT License
Project Creator : Adoxio

public IActionResult MultipleCalls()
        {
            Trace.TraceInformation("Start MultipleCalls");

            WhoAmIResponse response = (WhoAmIResponse)OrgService.Execute(new WhoAmIRequest());
            Trace.TraceInformation("WhoAmI Executed");

            string responseText = $"{response.UserId} : ";

            List<string> contacts = null;
            contacts = ServiceContext.CreateQuery("contact").Select(a => a.GetAttributeValue<string>("fullname")).ToList();
            Trace.TraceInformation("Contact Query Executed");
            
            responseText += contacts != null ? string.Join(",", contacts) : "null";

            return View((object)responseText);
        }

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static Enreplacedy GetMembershipTypeByName(this OrganizationServiceContext context, Enreplacedy website, string membershipTypeName)
		{
			var membershipTypes = context.GetMembershipTypes(website);
			return membershipTypes.FirstOrDefault(mt => mt.GetAttributeValue<string>("adx_name") == membershipTypeName);
		}

19 View Source File : WebsiteBlogAggregationDataAdapter.cs
License : MIT License
Project Creator : Adoxio

private static bool IsActive(Enreplacedy enreplacedy)
		{
			if (enreplacedy == null)
			{
				return false;
			}

			var statecode = enreplacedy.GetAttributeValue<OptionSetValue>("statecode");

			return statecode != null && statecode.Value == 0;
		}

19 View Source File : OrganizationServiceContextExtensions.cs
License : MIT License
Project Creator : Adoxio

public static IQueryable<Enreplacedy> GetAllBlogPostsInWebsite(this OrganizationServiceContext serviceContext, Guid websiteId)
		{
			// If multi-language is enabled, only select blog posts of blogs that are language-agnostic or match the current language.
			var contextLanguageInfo = HttpContext.Current.GetContextLanguageInfo();
			var query = contextLanguageInfo.IsCrmMultiLanguageEnabled ?
				from post in serviceContext.CreateQuery("adx_blogpost")
					join blog in serviceContext.CreateQuery("adx_blog") on post.GetAttributeValue<EnreplacedyReference>("adx_blogid").Id equals blog.GetAttributeValue<Guid>("adx_blogid")
					where blog.GetAttributeValue<EnreplacedyReference>("adx_websiteid") != null && blog.GetAttributeValue<EnreplacedyReference>("adx_websiteid").Id == websiteId 
					where blog.GetAttributeValue<EnreplacedyReference>("adx_websitelanguageid") == null || blog.GetAttributeValue<EnreplacedyReference>("adx_websitelanguageid").Id == contextLanguageInfo.ContextLanguage.EnreplacedyReference.Id
					where post.GetAttributeValue<EnreplacedyReference>("adx_blogid") != null && post.GetAttributeValue<bool?>("adx_published") == true
					orderby post.GetAttributeValue<DateTime?>("adx_date") descending
					select post 
				:
				from post in serviceContext.CreateQuery("adx_blogpost")
					join blog in serviceContext.CreateQuery("adx_blog") on post.GetAttributeValue<EnreplacedyReference>("adx_blogid").Id equals blog.GetAttributeValue<Guid>("adx_blogid")
					where blog.GetAttributeValue<EnreplacedyReference>("adx_websiteid") != null && blog.GetAttributeValue<EnreplacedyReference>("adx_websiteid").Id == websiteId
					where post.GetAttributeValue<EnreplacedyReference>("adx_blogid") != null && post.GetAttributeValue<bool?>("adx_published") == true
					orderby post.GetAttributeValue<DateTime?>("adx_date") descending
					select post;
			return query;
		}

19 View Source File : CrmSdkController.cs
License : MIT License
Project Creator : Adoxio

public IActionResult Index()
        {
            var idenreplacedy = (ClaimsIdenreplacedy)User.Idenreplacedy;
            var contacts = ServiceContext.CreateQuery("contact").ToList();
            return View(model: string.Join(",", contacts.Select(a => a.GetAttributeValue<string>("fullname"))));
        }

19 View Source File : CrmSdkController.cs
License : MIT License
Project Creator : Adoxio

[Produces("application/json")]
        [Route("api/CrmSdk")]
        public IEnumerable<string> GetContacts()
        {
            var idenreplacedy = (ClaimsIdenreplacedy)User.Idenreplacedy;

            if (idenreplacedy.IsAuthenticated)
            {
                var contact = OrgService.GetContact(idenreplacedy);

                return new List<string> { contact.GetAttributeValue<string>("fullname") };
            }
            
            return ServiceContext.CreateQuery("contact").Select(a => a.GetAttributeValue<string>("fullname")).ToList();
        }

19 View Source File : BlogPostFactory.cs
License : MIT License
Project Creator : Adoxio

public IEnumerable<IBlogPost> Create(IEnumerable<Enreplacedy> blogPostEnreplacedies)
		{
			var posts = blogPostEnreplacedies.ToArray();
			var postIds = posts.Select(e => e.Id).ToArray();

			var extendedDatas = _serviceContext.FetchBlogPostExtendedData(postIds, BlogCommentPolicy.Closed, _website.Id);
			var commentCounts = _serviceContext.FetchBlogPostCommentCounts(postIds);

			return posts.Select(e =>
			{
				var path = _urlProvider.GetApplicationPath(_serviceContext, e);

				if (path == null)
				{
					return null;
				}

				Tuple<string, string, BlogCommentPolicy, string[], IRatingInfo> extendedDataValue;
				var extendedData = extendedDatas.TryGetValue(e.Id, out extendedDataValue)
					? extendedDataValue
					: new Tuple<string, string, BlogCommentPolicy, string[], IRatingInfo>(null, null, BlogCommentPolicy.Closed, new string[] { }, null);

				var authorReference = e.GetAttributeValue<EnreplacedyReference>("adx_authorid");
				var author = authorReference != null
					? new BlogAuthor(authorReference.Id, extendedData.Item1, extendedData.Item2, _archiveApplicationPathGenerator.GetAuthorPath(authorReference.Id, e.GetAttributeValue<EnreplacedyReference>("adx_blogid")))
					: new NullBlogAuthor() as IBlogAuthor;

				int commentCountValue;
				var commentCount = commentCounts.TryGetValue(e.Id, out commentCountValue) ? commentCountValue : 0;

				return new BlogPost(e, path, author, extendedData.Item3, commentCount, GetTags(e, extendedData.Item4), extendedData.Item5);
			})
			.Where(e => e != null)
			.ToArray();
		}

19 View Source File : ActivityMimeAttachmentDataAdapter.cs
License : MIT License
Project Creator : Adoxio

private static void AppendFilenameToContentDisposition(Enreplacedy attachment, StringBuilder contentDisposition)
		{
			var filename = attachment.GetAttributeValue<string>("filename");

			if (string.IsNullOrEmpty(filename))
			{
				return;
			}

			// Escape any quotes in the filename. (There should rarely if ever be any, but still.)
			var escaped = filename.Replace(@"""", @"\""");

			// Quote the filename parameter value.
			contentDisposition.AppendFormat(@";filename=""{0}""", escaped);
		}

19 View Source File : CmsCrmEntitySecurityProvider.cs
License : MIT License
Project Creator : Adoxio

protected virtual bool TestServiceRequest(OrganizationServiceContext context, Enreplacedy enreplacedy)
			{
				return (enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_servicerequest") ?? enreplacedy.GetAttributeValue<EnreplacedyReference>("adx_servicerequestid")) != null;
			}

See More Examples