138 lines
5.8 KiB
C#
138 lines
5.8 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Runtime.Serialization;
|
|||
|
|
using System.ServiceModel;
|
|||
|
|
using System.ServiceModel.Web;
|
|||
|
|
using System.Text;
|
|||
|
|
using Ultimus;
|
|||
|
|
using ULA.Cathay.IntegracionesEIK.Estructuras;
|
|||
|
|
|
|||
|
|
namespace ULA.Cathay.IntegracionesEIK
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public class IntegracionesConsultaEIK : IIntegracionesConsultaEIK
|
|||
|
|
{
|
|||
|
|
public UltimusTaskResponse LoadFilteredTasks(int nIncidentNo,
|
|||
|
|
int? nFiltersMask,
|
|||
|
|
string strProcessNameFilter,
|
|||
|
|
string[] strArrStepLabelFilter,
|
|||
|
|
string[] strArrUserName)
|
|||
|
|
{
|
|||
|
|
string strError = string.Empty;
|
|||
|
|
Ultimus.WFServer.Task Tsk = null;
|
|||
|
|
Ultimus.WFServer.Tasklist TskList = null;
|
|||
|
|
UltimusTaskResponse TskListResponse = null;
|
|||
|
|
Ultimus.WFServer.TasklistFilter TskListFilter = null;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
TskListResponse = new UltimusTaskResponse() { CodigoRespuesta = "EXITOSO" };
|
|||
|
|
|
|||
|
|
TskList = new Ultimus.WFServer.Tasklist();
|
|||
|
|
TskListFilter = new Ultimus.WFServer.TasklistFilter()
|
|||
|
|
{
|
|||
|
|
nIncidentNo = nIncidentNo,
|
|||
|
|
strProcessNameFilter = strProcessNameFilter,
|
|||
|
|
//nFiltersMask =
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (strArrStepLabelFilter != null && strArrStepLabelFilter.Length > 0)
|
|||
|
|
TskListFilter.strArrStepLabelFilter = strArrStepLabelFilter;
|
|||
|
|
|
|||
|
|
if (strArrUserName != null && strArrUserName.Length > 0)
|
|||
|
|
TskListFilter.strArrUserName = strArrUserName;
|
|||
|
|
|
|||
|
|
|
|||
|
|
switch(nFiltersMask)
|
|||
|
|
{
|
|||
|
|
case 1:
|
|||
|
|
TskListFilter.nFiltersMask = Ultimus.WFServer.Filters.nFilter_Current | Ultimus.WFServer.Filters.nFilter_Urgent;
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
TskListFilter.nFiltersMask = Ultimus.WFServer.Filters.nFilter_Complete | Ultimus.WFServer.Filters.nFilter_IncidentComplete;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (!TskList.LoadFilteredTasks(TskListFilter, out strError))
|
|||
|
|
{
|
|||
|
|
throw new Exception(string.Format("Ha ocurrido un problema al intentar cargar el incidente:{0}. Mensaje:{1}", nIncidentNo, strError));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (TskList != null && TskList.GetTasksCount() > 0)
|
|||
|
|
{
|
|||
|
|
Tsk = TskList.GetFirstTask();
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (Tsk != null) {
|
|||
|
|
do
|
|||
|
|
{
|
|||
|
|
TskListResponse.UltimusTasksList.Add(new UltimusTask()
|
|||
|
|
{
|
|||
|
|
CheckoutUser = Tsk.CheckoutUser,
|
|||
|
|
dCost = Tsk.dCost,
|
|||
|
|
dDelayTime = Tsk.dDelayTime,
|
|||
|
|
dEndTime = Tsk.dEndTime,
|
|||
|
|
dOverDueTime = Tsk.dOverDueTime,
|
|||
|
|
dQueueEndTime = Tsk.dQueueEndTime,
|
|||
|
|
dQueueStartTime = Tsk.dQueueStartTime,
|
|||
|
|
dStartTime = Tsk.dStartTime,
|
|||
|
|
dUrgentTime = Tsk.dUrgentTime,
|
|||
|
|
Mode = Tsk.Mode,
|
|||
|
|
nIncidentNo = Tsk.nIncidentNo,
|
|||
|
|
nPriority = Tsk.nPriority,
|
|||
|
|
nProcessVersion = Tsk.nProcessVersion,
|
|||
|
|
nRecipientType = Tsk.nRecipientType,
|
|||
|
|
nStepProperties = Tsk.nStepProperties,
|
|||
|
|
nStepType = Tsk.nStepType,
|
|||
|
|
nTaskRate = Tsk.nTaskRate,
|
|||
|
|
nTaskStatus = Tsk.nTaskStatus,
|
|||
|
|
nTaskSubStatus = Tsk.nTaskSubStatus,
|
|||
|
|
nTaskTime = Tsk.nTaskTime,
|
|||
|
|
strAssignedToUser = Tsk.strAssignedToUser,
|
|||
|
|
strAssignedToUserFullName = Tsk.strAssignedToUserFullName,
|
|||
|
|
strFormUrl = Tsk.strFormUrl,
|
|||
|
|
strGroupName = Tsk.strGroupName,
|
|||
|
|
strHelpUrl = Tsk.strHelpUrl,
|
|||
|
|
strProcessName = Tsk.strProcessName,
|
|||
|
|
strRecipient = Tsk.strRecipient,
|
|||
|
|
strRecipientFullName = Tsk.strRecipientFullName,
|
|||
|
|
strStepId = Tsk.strStepId,
|
|||
|
|
strStepName = Tsk.strStepName,
|
|||
|
|
strStepOrg = Tsk.strStepOrg,
|
|||
|
|
strSummary = Tsk.strSummary,
|
|||
|
|
strTaskId = Tsk.strTaskId,
|
|||
|
|
strTaskSharedToUser = "",
|
|||
|
|
strUser = Tsk.strUser,
|
|||
|
|
strUserFullName = Tsk.strUserFullName
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
Tsk = TskList.GetNextTask();
|
|||
|
|
} while (Tsk != null);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
TskListResponse.CodigoRespuesta = "ERROR";
|
|||
|
|
TskListResponse.DescripcionRespuesta = ex.Message;
|
|||
|
|
}
|
|||
|
|
finally
|
|||
|
|
{
|
|||
|
|
TskList = null;
|
|||
|
|
TskListFilter = null;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return TskListResponse;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|