예제 #1
0
 /// <summary>
 /// 批量获取审批实例id
 /// </summary>
 /// <param name="accessToken">accessToken</param>
 /// <param name="processCode">审批流的唯一码</param>
 /// <param name="useridlist">发起人用户id列表</param>
 /// <param name="starttime">查询开始时间</param>
 /// <returns></returns>
 public static List <string> GetListIds(string accessToken, string processCode, string useridlist, DateTime starttime)
 {
     try
     {
         DefaultDingTalkClient             client  = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/listids");
         OapiProcessinstanceListidsRequest request = new OapiProcessinstanceListidsRequest();
         request.ProcessCode = processCode;
         request.StartTime   = DingTalkUtils.DateTimeToTimeStamp(starttime);         //开始时间。Unix时间戳
         request.EndTime     = DingTalkUtils.DateTimeToTimeStamp(DateTime.Now);      //结束时间,默认取当前时间。Unix时间戳
         request.Size        = 10L;                                                  //分页参数,每页大小,最多传10,默认值:10
         request.Cursor      = 0L;                                                   //分页查询的游标,最开始传0,后续传返回参数中的next_cursor值,默认值:0
         request.UseridList  = useridlist;                                           //发起人用户id列表,用逗号分隔,最大列表长度:10
         OapiProcessinstanceListidsResponse response = client.Execute(request, accessToken);
         if (response.Errcode == 0)
         {
             return(response.Result.List);
         }
         else
         {
             throw new Exception(response.Errcode.ToString());
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
예제 #2
0
 /// <summary>
 /// 获取用户待办事项
 /// </summary>
 /// <param name="accessToken"></param>
 /// <param name="userId"></param>
 /// <returns></returns>
 public static List <Workrecord> getWorkRecordbyUserid(string accessToken, string userId)
 {
     try
     {
         IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/workrecord/getbyuserid");
         OapiWorkrecordGetbyuseridRequest req = new OapiWorkrecordGetbyuseridRequest();
         req.Userid = userId;
         req.Offset = 0L; //分页游标,从0开始
         req.Limit  = 0L; //分页大小,最多50
         req.Status = 0L; //待办事项状态,0表示未完成,1表示完成
         OapiWorkrecordGetbyuseridResponse response = client.Execute(req, accessToken);
         if (response.Errcode == 0)
         {
             List <Workrecord> list = new List <Workrecord>();
             OapiWorkrecordGetbyuseridResponse.PageResultDomain result = new OapiWorkrecordGetbyuseridResponse.PageResultDomain();
             result = response.Records;
             if (result.List.Count > 0)
             {
                 foreach (OapiWorkrecordGetbyuseridResponse.WorkRecordVoDomain record in result.List)
                 {
                     Workrecord model = new Workrecord();
                     model.RecordId         = record.RecordId;
                     model.CreateTime       = DingTalkUtils.TimeStampToDateTime(record.CreateTime);
                     model.forms[0]         = new Workrecord.FormsModel();
                     model.forms[0].Title   = record.Forms[0].Title;
                     model.forms[0].Content = record.Forms[0].Content;
                     list.Add(model);
                 }
             }
             return(null);
         }
         else
         {
             return(null);
         }
     }
     catch
     {
         throw new Exception("发送出错");
     }
 }