zoukankan      html  css  js  c++  java
  • Case Helper

    using System;
    using Microsoft.Xrm.Sdk;
    using Microsoft.Crm.Sdk.Messages;
    using Microsoft.Xrm.Sdk.Query;
    
    /// <summary>
    /// 案例
    /// </summary>
    public class IncidentHelper
    {
        public static readonly string entityName = "incident";
        public Guid incidentId = Guid.Empty;
        public IOrganizationService service;
    
        /// <summary>
        /// 创建案例
        /// </summary>
        public void Create()
        {
            Entity en = new Entity() { LogicalName = entityName };
            en["name"] = "案例测试";
            incidentId = service.Create(en);
        }
    
        /// <summary>
        /// 计算在案例上花费的总时间
        /// </summary>
        public void CalculateTotalTimeIncident()
        {
            CalculateTotalTimeIncidentRequest request = new CalculateTotalTimeIncidentRequest();
            request.IncidentId = incidentId;
            CalculateTotalTimeIncidentResponse response = (CalculateTotalTimeIncidentResponse)service.Execute(request);
            long time = response.TotalTime;
        }
    
        /// <summary>
        /// 将案例的状态设置为“已结束”
        /// </summary>
        /// <param name="status">结束的状态</param>
        public void CloseIncident(int status)
        {
            CloseIncidentRequest request = new CloseIncidentRequest();
            request.IncidentResolution = new Entity() { LogicalName = entityName, Id = incidentId };
            request.Status = new OptionSetValue(status);
            CloseIncidentResponse response = (CloseIncidentResponse)service.Execute(request);
        }
    
        /// <summary>
        /// 验证是否可随时结束案例
        /// </summary>
        /// <param name="state">Active,Resolved,Canceled</param>
        /// <param name="status">InProgress:1,OnHold:2,WaitingforDetails:3,Researching:4</param>
        /// <param name="status">ProblemSolved:5,InformationProvided:1000,Canceled:6</param>
        public void IsValidStateTransition(string state, int status)
        {
            IsValidStateTransitionRequest request = new IsValidStateTransitionRequest();
            request.Entity = new EntityReference() { LogicalName = entityName, Id = incidentId };
            request.NewState = state;
            request.NewStatus = status;
            IsValidStateTransitionResponse response = (IsValidStateTransitionResponse)service.Execute(request);
            bool isValid = response.IsValid;
        }
    
        /// <summary>
        /// 删除指定安全主体(用户或团队)对案例的所有访问权限
        /// </summary>
        /// <param name="revokee">用户或团队引用</param>
        public void RevokeAccess(EntityReference revokee)
        {
            RevokeAccessRequest request = new RevokeAccessRequest();
            request.Target = new EntityReference() { LogicalName = entityName, Id = incidentId };
            request.Revokee = revokee;
            RevokeAccessResponse response = (RevokeAccessResponse)service.Execute(request);
        }
    
        /// <summary>         /// 
        /// 删除案例         /// 
        /// </summary>         
        public void Delete() { service.Delete(entityName, incidentId); }
    }
  • 相关阅读:
    django加载静态文件
    计算机网络-划分子网
    接口定义一个Kye.保证其安全性
    GridView中几个显示数据时! 数据停靠(靠左 or 居中)的问题!
    数据库SQL Case...when...then...end的用法!
    利用jQuery发送ajax异步请求
    利用索引进行数据查询优化(转载!)
    身份证的合法验证
    DataTable判断列是否为空!(实用)
    窗体美化,IrisSkin2.dll的使用!
  • 原文地址:https://www.cnblogs.com/bennylam/p/9920678.html
Copyright © 2011-2022 走看看