public static WorklistItem ConvertToWFWorklistItem(Mgt.WorklistItem origObj)
        {
            if (origObj == null)
            {
                return null;
            }
            WorklistItem wlItem = new WorklistItem();
            wlItem.ID = origObj.ID;

            wlItem.ProcInstID = origObj.ProcInstID;
            wlItem.ActInstDestID = origObj.ActInstDestID;
            wlItem.ActInstID = origObj.ActInstID;
            wlItem.ActID = origObj.ActID;
            wlItem.EventID = origObj.EventID;
            wlItem.Destination = origObj.Destination;
            wlItem.StartDate = origObj.StartDate.ToString("yyyy-MM-dd HH:mm");
            wlItem.Status = (WorklistStatus)(int)origObj.Status;
            wlItem.ActivityName = origObj.ActivityName;
            wlItem.ActivityDispName = origObj.ActivityName;
            wlItem.FullName = origObj.ProcName;
            wlItem.ProcDispName = origObj.ProcName;
            wlItem.Folio = origObj.Folio;
            wlItem.ProcInstStatus = (ProcInstStatus)(int)origObj.ProcessInstanceStatus;

            return wlItem;
        }
        public static ProcessInstance ConvertToWFProcessInstance(Mgt.ProcessInstance origObj, bool loadDataFields)
        {
            if (origObj == null)
            {
                return null;
            }
            ProcessInstance procInst = new ProcessInstance();
            procInst.ID = origObj.ID;
            procInst.ProcID = origObj.ProcID;
            procInst.ProcSetID = origObj.ProcSetID;
            procInst.FullName = origObj.ProcSetFullName;
            if (origObj.Process != null)
            {
                procInst.FullName = origObj.Process.FullName;
            }

            procInst.Folio = origObj.Folio;
            procInst.Originator = origObj.Originator;
            procInst.Status = (ProcInstStatus)Enum.Parse(typeof(ProcInstStatus), origObj.Status);
            procInst.Priority = origObj.Priority;
            procInst.ExpectedDuration = origObj.ExpectedDuration;
            procInst.StartDate = origObj.StartDate.ToString("yyyy-MM-dd HH:mm");
            procInst.FinishDate = origObj.FinishDate.ToString("yyyy-MM-dd HH:mm");
            if (loadDataFields && origObj.Process != null && origObj.Process.DataFields != null)
            {
                Dictionary<string, DataField> dicFields = new Dictionary<string, DataField>();
                foreach (Client.DataField field1 in origObj.Process.DataFields)
                {
                    DataField field = new DataField();
                    field.Name = field1.Name;
                    //field.Type = origObj.DataFields[fieldName].Type.ToString();
                    field.Value = field1.Value;
                    //field.Category = origObj.DataFields[fieldName].Category;
                    dicFields.Add(field.Name, field);
                }
                procInst.DataFields = dicFields;
            }
            return procInst;
        }