private static decimal GetOptaltbeloebSum(IDynamicsCrmConnection dynamicsCrmConnection, XElement filter) { XDocument xDocument = new XDocument ( new XElement("fetch", new XAttribute("aggregate", "true"), new XElement("entity", new XAttribute("name", "account"), new XElement("attribute", new XAttribute("name", "new_optaltbeloeb"), new XAttribute("alias", "value"), new XAttribute("aggregate", "sum")) ) ) ); if (filter != null) { xDocument.Element("fetch").Element("entity").Add(filter); } IEnumerable <Money> sums = StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, xDocument, (lDynamicsCrmConnection, entity) => new SingleValueEntity <Money>(lDynamicsCrmConnection, entity, "account", "accountid")).Select(valueEntity => valueEntity.value); if (sums.Any() == false) { return(0); } Money sum = sums.SingleOrDefault(); if (sum == null) { return(0); } return(sum.Value); }
public Account(IDynamicsCrmConnection connection, Entity entity) : base(connection, entity) { if (entity.Attributes.Any(attribute => attribute.Key == "statecode")) { State = (StateEnum)((OptionSetValue)entity.Attributes["statecode"]).Value; } }
public static List <dynamic> ReadFromFetchXml(IDynamicsCrmConnection dynamicsCrmConnection, XDocument xDocument, PagingInformation pagingInformation) { if (pagingInformation.FirstRun == false) { if (pagingInformation.MoreRecords == false) { return(new List <dynamic>()); } XmlHelper.SetAttributeValue(xDocument, "fetch", "paging-cookie", pagingInformation.PagingCookie); XmlHelper.SetAttributeValue(xDocument, "fetch", "page", pagingInformation.Page); } pagingInformation.FirstRun = false; FetchExpression fetchExpression = new FetchExpression(xDocument.ToString()); EntityCollection entityCollection = dynamicsCrmConnection.Service.RetrieveMultiple(fetchExpression); if (entityCollection.Entities.Count == 0) { return(new List <dynamic>()); } List <dynamic> crmEntities = entityCollection.Entities.Select(entity => GetFromEntity(entity)).ToList(); pagingInformation.MoreRecords = entityCollection.MoreRecords; pagingInformation.PagingCookie = entityCollection.PagingCookie; pagingInformation.Page++; return(crmEntities); }
public static Contact Create(IDynamicsCrmConnection dynamicsCrmConnection, Dictionary <string, string> allContent) { Contact contact = new Contact(dynamicsCrmConnection); CreateFromContent(dynamicsCrmConnection, contact, allContent); return(contact); }
public static List <Field> ReadAllFields(IDynamicsCrmConnection dynamicsCrmConnection) { return(StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, new List <string>() { "new_fieldid", "new_entity" }, new Dictionary <string, string>(), null, (connection, entity) => new Field(connection, entity), new PagingInformation())); }
public static List <CrmType> ReadFromFetchXml <CrmType>(IDynamicsCrmConnection dynamicsCrmConnection, XDocument xDocument, Func <IDynamicsCrmConnection, Entity, CrmType> CrmTypeConstructor, PagingInformation pagingInformation) { if (pagingInformation.FirstRun == false) { if (pagingInformation.MoreRecords == false) { return(new List <CrmType>()); } xDocument.Element("fetch").Add(new XAttribute("paging-cookie", pagingInformation.PagingCookie)); xDocument.Element("fetch").Add(new XAttribute("page", pagingInformation.Page)); } pagingInformation.FirstRun = false; FetchExpression fetchExpression = new FetchExpression(xDocument.ToString()); EntityCollection entityCollection = dynamicsCrmConnection.Service.RetrieveMultiple(fetchExpression); if (entityCollection.Entities.Count == 0) { return(new List <CrmType>()); } List <CrmType> crmEntities = entityCollection.Entities.Select(entity => CrmTypeConstructor(dynamicsCrmConnection, entity)).ToList(); pagingInformation.MoreRecords = entityCollection.MoreRecords; pagingInformation.PagingCookie = entityCollection.PagingCookie; pagingInformation.Page++; return(crmEntities); }
public static void WriteIndbetalingsum(IDynamicsCrmConnection dynamicsCrmConnection, Guid id, decimal amount) { Update(dynamicsCrmConnection, "new_byarbejde", "new_byarbejdeid", id, new Dictionary <string, object>() { { "new_indbetalingsum", new Money(amount) } }); }
public static List <Byarbejde> Read(IDynamicsCrmConnection connection, string name) { ConditionExpression equalsNameExpression = new ConditionExpression { AttributeName = "new_name", Operator = ConditionOperator.Equal, }; equalsNameExpression.Values.Add(name); FilterExpression filterExpression = new FilterExpression(); filterExpression.Conditions.Add(equalsNameExpression); QueryExpression query = new QueryExpression("new_byarbejde") { ColumnSet = ColumnSetByarbejde, }; query.Criteria.AddFilter(filterExpression); EntityCollection ByarbejdeEntities = connection.Service.RetrieveMultiple(query); List <Byarbejde> byarbejder = ByarbejdeEntities.Entities.Select(entity => new Byarbejde(connection, entity)).ToList(); return(byarbejder); }
public void UpdateMailrelaygroupid(IDynamicsCrmConnection dynamicsCrmConnection) { Update(dynamicsCrmConnection, entityName, idName, Id, new Dictionary <string, object>() { { "new_mailrelaygroupid", new_mailrelaygroupid } }); }
public void UpdateContactMailrelaycheck(IDynamicsCrmConnection dynamicsCrmConnection) { Update(dynamicsCrmConnection, "contact", "contactid", contactid.Value, new Dictionary <string, object>() { { "new_mailrelaycheck", new_mailrelaycheck } }); }
public static IEnumerable <Indbetaling> GetIndbetalingOnIban(IDynamicsCrmConnection dynamicsCrmConnection, string iban) { XDocument xDocument = new XDocument( new XElement("fetch", new XElement("entity", new XAttribute("name", "new_indbetaling"), new XElement("attribute", new XAttribute("name", "new_amount")), new XElement("attribute", new XAttribute("name", "new_bankid")), new XElement("attribute", new XAttribute("name", "new_byarbejdeid")), new XElement("attribute", new XAttribute("name", "new_campaignid")), new XElement("attribute", new XAttribute("name", "new_indsamlingskoordinatorid")), new XElement("attribute", new XAttribute("name", "new_indsamlingsstedid")), new XElement("attribute", new XAttribute("name", "new_kilde")), new XElement("attribute", new XAttribute("name", "new_kontoid")), new XElement("link-entity", new XAttribute("name", "new_konto"), new XAttribute("from", "new_kontoid"), new XAttribute("to", "new_kontoid"), new XAttribute("link-type", "inner"), new XElement("filter", new XAttribute("type", "and"), new XElement("condition", new XAttribute("attribute", "new_iban"), new XAttribute("operator", "eq"), new XAttribute("value", iban)) ) ) ) ) ); IEnumerable <Indbetaling> indbetalingCollection = StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, xDocument, (lDynamicsCrmConnection, entity) => new Indbetaling(lDynamicsCrmConnection, entity)); return(indbetalingCollection); }
public static List <Lead> ReadAllLeadIds(IDynamicsCrmConnection dynamicsCrmConnection) { return(StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, new List <string>() { "leadid" }, new Dictionary <string, string>(), null, (connection, entity) => new Lead(connection, entity), new PagingInformation())); }
public static List <Group> Read(IDynamicsCrmConnection connection, string name) { ConditionExpression equalsNameExpression = new ConditionExpression { AttributeName = "new_name", Operator = ConditionOperator.Equal, }; equalsNameExpression.Values.Add(name); FilterExpression filterExpression = new FilterExpression(); filterExpression.Conditions.Add(equalsNameExpression); QueryExpression query = new QueryExpression("new_group") { ColumnSet = ColumnSetGroup, }; query.Criteria.AddFilter(filterExpression); EntityCollection GroupEntities = connection.Service.RetrieveMultiple(query); List <Group> groups = GroupEntities.Entities.Select(EntityToGroup).ToList(); return(groups); }
public static void UpdateSubscriberId(IDynamicsCrmConnection dynamicsCrmConnection, Guid leadId, int subscriberId) { AbstractCrm.Update(dynamicsCrmConnection, "lead", "leadid", leadId, new Dictionary <string, object>() { { "new_mailrelaysubscriberid", subscriberId }, }); }
public void UpdateContactMailrelaySubscriberid(IDynamicsCrmConnection dynamicsCrmConnection) { Update(dynamicsCrmConnection, "contact", "contactid", contactid.Value, new Dictionary <string, object>() { { "new_mailrelaysubscriberid", new_mailrelaysubscriberid } }); }
public Contact(IDynamicsCrmConnection connection, Entity contactEntity) : base(connection, contactEntity) { if (contactEntity.Attributes.Any(attribute => attribute.Key == "statecode")) { State = (StateEnum)((OptionSetValue)contactEntity.Attributes["statecode"]).Value; } }
public void SetDynamicsCrmConnectionIfEmpty(IDynamicsCrmConnection dynamicsCrmConnection) { if (_dynamicsCrmConnection == null) { _dynamicsCrmConnection = dynamicsCrmConnection; } }
public static List <Campaign> ReadCampaignsToImportStubDataTo(IDynamicsCrmConnection dynamicsCrmConnection) { return(StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, new List <string>() { "campaignid", "new_redirecttarget", "new_collecttype", "new_mailrelaygroupid", "name", "ownerid" }, new Dictionary <string, string>(), null, (connection, entity) => new Campaign(connection, entity), new PagingInformation())); }
public static List <Campaign> ReadAllCampaignsWithIdAndLeadtarget(IDynamicsCrmConnection dynamicsCrmConnection) { return(StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, new List <string>() { "campaignid", "new_leadtarget" }, new Dictionary <string, string>(), null, (connection, entity) => new Campaign(connection, entity), new PagingInformation())); }
private static void WriteMoneyByName(IDynamicsCrmConnection dynamicsCrmConnection, Guid id, decimal amount, string name) { Update(dynamicsCrmConnection, "campaign", "campaignid", id, new Dictionary <string, object>() { { name, new Money(amount) } }); }
public AbstractValueEntity(IDynamicsCrmConnection connection, Entity crmEntity, string entityName, string idName) : base(connection) { _idName = idName; _entityName = entityName; InitializeFromEntity(crmEntity); }
public static MarketingList GetListForMailrelayUpdate(IDynamicsCrmConnection dynamicsCrmConnection, PagingInformation pagingInformation, Guid?crmListId) { List <string> fields = new List <string>() { "new_mailrelaygroupid", "listname", "query", "new_mailrelaycheck", "createdfromcode", }; Dictionary <string, string> search = new Dictionary <string, string>() { { "new_controlmailrelaygroup", true.ToString() } }; if (crmListId.HasValue) { search.Add("listid", crmListId.Value.ToString()); } IEnumerable <MarketingList> lists = StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, "list", fields, search, 1, (connection, entity) => new MarketingList(connection, entity), pagingInformation); return(lists.SingleOrDefault()); }
public static Lead Create(IDynamicsCrmConnection dynamicsCrmConnection, Dictionary <string, string> allContent) { Lead lead = new Lead(dynamicsCrmConnection); CreateFromContent(dynamicsCrmConnection, lead, allContent); return(lead); }
public static Materiale ReadCalculationNeed(IDynamicsCrmConnection dynamicsCrmConnection, Func <string, string> getResourcePath) { string path = getResourcePath("Dynamics/Crm/FetchXml/Materiale/MaterialeNeedingUpdate.xml"); Materiale materiale = StaticCrm.ReadFromFetchXml(dynamicsCrmConnection, path, (connection, entity) => new Materiale(connection, entity), new PagingInformation()).FirstOrDefault(); return(materiale); }
public static SystemUser Read(IDynamicsCrmConnection connection, Guid userid) { Entity userEntity = connection.Service.Retrieve("systemuser", userid, ColumnSetUser); SystemUser contact = new SystemUser(connection, userEntity); return(contact); }
public static Byarbejde Read(IDynamicsCrmConnection dynamicsCrmConnection, Guid byarbejdeid) { Entity contactEntity = dynamicsCrmConnection.Service.Retrieve("new_byarbejde", byarbejdeid, ColumnSetByarbejde); Byarbejde byarbejde = new Byarbejde(dynamicsCrmConnection, contactEntity); return(byarbejde); }
public static MarketingList Read(IDynamicsCrmConnection connection, Guid marketinglistId) { Entity marketingListEntity = connection.Service.Retrieve("list", marketinglistId, ColumnSetMarketinglist); MarketingList marketingList = new MarketingList(connection, marketingListEntity); return(marketingList); }
public static Group Read(IDynamicsCrmConnection connection, Guid groupid) { Entity contactEntity = connection.Service.Retrieve("new_group", groupid, ColumnSetGroup); Group group = EntityToGroup(contactEntity); return(group); }
protected void SetDynamicsCrmConnectionIfEmpty(string urlLoginName) { if (_dynamicsCrmConnection == null) { DatabaseUrlLogin login = DatabaseUrlLogin.GetUrlLogin(Connection, urlLoginName); _dynamicsCrmConnection = DynamicsCrmConnection.GetConnection(login.Url, login.Username, login.Password); } }
public static Address Read(IDynamicsCrmConnection connection, Guid addressid) { Entity contactEntity = connection.Service.Retrieve("customeraddress", addressid, ColumnSetAddress); Address address = EntityToAddress(contactEntity); return(address); }