private HttpResponseMessage HandleInvokeMessages(Activity activity) { var activityValue = activity.Value.ToString(); if (activity.Name == "task/fetch") { Models.BotFrameworkCardValue <string> action; try { action = JsonConvert.DeserializeObject <Models.TaskModuleActionData <string> >(activityValue).Data; } catch (Exception) { action = JsonConvert.DeserializeObject <Models.BotFrameworkCardValue <string> >(activityValue); } Models.TaskInfo taskInfo = GetTaskInfo(action.Data); Models.TaskEnvelope taskEnvelope = new Models.TaskEnvelope { Task = new Models.Task() { Type = Models.TaskType.Continue, TaskInfo = taskInfo } }; return(Request.CreateResponse(HttpStatusCode.OK, taskEnvelope)); } else if (activity.Name == "task/submit") { ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); Activity reply = activity.CreateReply("Received = " + activity.Value.ToString()); connector.Conversations.ReplyToActivity(reply); } return(new HttpResponseMessage(HttpStatusCode.Accepted)); }
// Helper function for building the TaskInfo object based on the incoming request private static Models.TaskInfo GetTaskInfo(string actionInfo) { Models.TaskInfo taskInfo = new Models.TaskInfo(); switch (actionInfo) { case TaskModuleIds.YouTube: taskInfo.Url = taskInfo.FallbackUrl = ApplicationSettings.BaseUrl + "/" + TaskModuleIds.YouTube; SetTaskInfo(taskInfo, TaskModuleUIConstants.YouTube); break; case TaskModuleIds.MsStream: taskInfo.Url = taskInfo.FallbackUrl = ApplicationSettings.BaseUrl + "/" + TaskModuleIds.MsStream; SetTaskInfo(taskInfo, TaskModuleUIConstants.MsStream); break; case TaskModuleIds.PowerApp: taskInfo.Url = taskInfo.FallbackUrl = ApplicationSettings.BaseUrl + "/" + TaskModuleIds.PowerApp; SetTaskInfo(taskInfo, TaskModuleUIConstants.PowerApp); break; case TaskModuleIds.CustomForm: taskInfo.Url = taskInfo.FallbackUrl = ApplicationSettings.BaseUrl + "/" + TaskModuleIds.CustomForm; SetTaskInfo(taskInfo, TaskModuleUIConstants.CustomForm); break; case TaskModuleIds.AdaptiveCard: taskInfo.Card = AdaptiveCardHelper.GetAdaptiveCard(); SetTaskInfo(taskInfo, TaskModuleUIConstants.AdaptiveCard); break; default: break; } return(taskInfo); }
public static Common.Tasks.AbstractBaseTask CreateNewTask(short application_id, short task_id) { lock (lockObj) { Models.TaskInfo taskInfo = Common.GyomuDataAccess.SelectTaskInfo(application_id, task_id); return(CreateNewTask(taskInfo, Common.BaseConfigurator.GetInstance())); } }
public static List <Common.Tasks.AbstractBaseTask> ListupDelegatedTasks(short application_id, short task_id, Common.Configurator config) { List <Models.TaskData> taskDataList = Common.GyomuDataAccess.SelectTaskDataByApplicationIDTaskIDStatusUserList (application_id, task_id, Common.Tasks.AbstractBaseTask.STATUS_DELEGATE, new List <string>() { config.User.UserID }); List <Common.Tasks.AbstractBaseTask> lstTask = new List <Common.Tasks.AbstractBaseTask>(); Models.TaskInfo taskInfo = Common.GyomuDataAccess.SelectTaskInfo(application_id, task_id); foreach (Models.TaskData taskData in taskDataList) { Common.Tasks.AbstractBaseTask task = OpenTask(taskInfo.assembly_name, taskInfo.class_name, config ?? Common.BaseConfigurator.GetInstance(), taskData.id); lstTask.Add(task); } return(lstTask); }
private static void SetTaskInfo(Models.TaskInfo taskInfo, UIConstants uIConstants) { taskInfo.Height = uIConstants.Height; taskInfo.Width = uIConstants.Width; taskInfo.Title = uIConstants.Title.ToString(); }
internal static Common.Tasks.AbstractBaseTask CreateNewTask(Models.TaskInfo taskInfo, Common.Configurator config) { return(CreateInstance(taskInfo.assembly_name, taskInfo.class_name, config)); }
private static void SetTaskInfo(Models.TaskInfo taskInfo, UIConstants uIConstants) { taskInfo.Height = uIConstants.Height; taskInfo.Width = uIConstants.Width; }