zoukankan      html  css  js  c++  java
  • Microsoft Dynamics CRM 4.0 Plugin 取值,赋值,查询

                DynamicEntity postImageEntity = (DynamicEntity)context.PostEntityImages["PostImage"];
    
                if (postImageEntity != null)
                {
    
                    Guid new_accountId = Guid.Empty;
                    decimal new_book_credit = 0M;
                    CrmDateTime new_expiry_date = new CrmDateTime(DateTime.Now.ToString());
    
                    int new_status = 0;
    
                    //状态
                    if (postImageEntity.Properties.Contains("new_status"))
                    {
                        new_status = ((Picklist)postImageEntity.Properties["new_status"]).Value;
                    }
    
                    //经销商GUID
                    if (postImageEntity.Properties.Contains("new_account"))
                    {
                        new_accountId = ((Lookup)postImageEntity.Properties["new_account"]).Value;
                    }
    
                    decimal new_credit_line = 0M;
                    decimal new_remaining_credits = 0M;
    
                    //ColumnSet cols = new ColumnSet(new string[] { "new_credit_line", "new_remaining_credits" });
                    //account acc_entity = (account)crmService.Retrieve("account", new_accountId, cols);//这里和CRM2011不一样,
    返回的为BusinessEntity,并且这里只能取account得系统字段的值。
    //查询条件 QueryExpression query = new QueryExpression(); query.EntityName = "account"; query.ColumnSet = new ColumnSet(); query.ColumnSet.AddColumns(new string[] { "new_credit_line", "new_remaining_credits" }); //条件表达式 ConditionExpression condition = new ConditionExpression(); condition.AttributeName = "accountid"; condition.Values = new string[] { new_accountId.ToString() }; //筛选 FilterExpression filter = new FilterExpression(); filter.FilterOperator = LogicalOperator.And; filter.Conditions.Add(condition); query.Criteria.Filters.Add(filter); //查询 RetrieveMultipleRequest request = new RetrieveMultipleRequest(); request.Query = query; request.ReturnDynamicEntities = true; //响应 RetrieveMultipleResponse response = (RetrieveMultipleResponse)crmService.Execute(request); BusinessEntityCollection entityCollection = response.BusinessEntityCollection; if (entityCollection.BusinessEntities.Count == 0) return; DynamicEntity acc_entity = (DynamicEntity)entityCollection.BusinessEntities[0]; //期初信用额度 if (acc_entity.Properties.Contains("new_credit_line")) { new_credit_line = cu.RoundDecimal(((CrmMoney)acc_entity.Properties["new_credit_line"]).Value); } //剩余信用额度 if (acc_entity.Properties.Contains("new_remaining_credits")) { new_remaining_credits = cu.RoundDecimal(((CrmMoney)acc_entity.Properties["new_remaining_credits"]).Value); } cu.WriteLog("new_remaining_credits:" + new_remaining_credits); //赊销额度 if (postImageEntity.Properties.Contains("new_book_credit")) { new_book_credit = cu.RoundDecimal(((CrmMoney)postImageEntity.Properties["new_book_credit"]).Value); } cu.WriteLog("new_book_credit:" + new_book_credit); //赊销变更效期 if (postImageEntity.Properties.Contains("new_expiry_date")) { new_expiry_date = ((CrmDateTime)postImageEntity.Properties["new_expiry_date"]); } DynamicEntity accountEntity = new DynamicEntity("account"); if (!string.IsNullOrEmpty(new_book_credit.ToString())) { //信用额度 accountEntity.Properties.Add(new CrmMoneyProperty("new_credit_line", new CrmMoney(cu.RoundDecimal(new_book_credit)))); } if (!string.IsNullOrEmpty(new_expiry_date.ToString())) { //信用额度截止日期 accountEntity.Properties.Add(new CrmDateTimeProperty("new_expiration_date", new_expiry_date)); } decimal totalnew_credit_line = 0M; decimal totalnew_remaining_credits = 0M; if (string.IsNullOrEmpty(new_credit_line.ToString())) { new_credit_line = 0M; } if (string.IsNullOrEmpty(new_book_credit.ToString())) { new_book_credit = 0M; } //经销商【期初信用额度】= 起初的经销商【期初信用额度】 + 【赊销额度】 totalnew_credit_line = new_credit_line + new_book_credit; //经销商【剩余信用额度】= 起初的经销商【剩余信用额度】 + 【赊销额度】 totalnew_remaining_credits = new_remaining_credits + new_book_credit; //期初信用额度 accountEntity.Properties.Add(new CrmMoneyProperty("new_credit_line", new CrmMoney(totalnew_credit_line))); //剩余信用额度 accountEntity.Properties.Add(new CrmMoneyProperty("new_remaining_credits", new CrmMoney(totalnew_remaining_credits))); if (new_accountId != Guid.Empty) { accountEntity.Properties.Add(new KeyProperty("accountid", new Key(new_accountId))); } if (new_status == 10) { crmService.Update(accountEntity);//更新操作 } }
  • 相关阅读:
    最大子数组问题(分治策略实现)
    Solving the Detached Many-to-Many Problem with the Entity Framework
    Working With Entity Framework Detached Objects
    Attaching detached POCO to EF DbContext
    如何获取qq空间最近访问人列表
    Health Monitoring in ASP.NET 2.0
    problem with displaying the markers on Google maps
    WebMatrix Database.Open… Close() and Dispose()
    Accessing and Updating Data in ASP.NET: Retrieving XML Data with XmlDataSource Control
    Create web setup project that has crystal reports and sql script run manually on client system
  • 原文地址:https://www.cnblogs.com/allenhua/p/3292493.html
Copyright © 2011-2022 走看看