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); }
    }
  • 相关阅读:
    Haproxy 【转载】
    Nginx介绍
    Day 13 进程和线程
    运维第一课
    面试bb
    Day 12 字符串和正则表达式
    Day 11 文件和异常
    Day10 图形用户界面和游戏开发
    Day9 面向对象进阶
    day8 面向对象编程基础
  • 原文地址:https://www.cnblogs.com/bennylam/p/9920678.html
Copyright © 2011-2022 走看看