public async Task<HttpResponseMessage> sendTask(SendTaskViewModel stm, string id) { string url = baddr + "/TaskServiceAPI/SendTask/" + id; return await HttpMagic(new StringContent(JsonConvert.SerializeObject(stm), System.Text.Encoding.UTF8, "application/json"), url); }
public ActionResult _SendState(int id, string mode) { ViewBag.TaskId = id; SendTaskViewModel model = helper.getSendTask(id, User.Identity.Name); model.ViewMode = mode; return(PartialView(model)); }
public ActionResult _SendState(SendTaskViewModel model) { helper.setSendTask(model, User.Identity.Name); if (model.ViewMode.Equals("mobile")) { return(RedirectToAction("Mobile", new { id = model.Id })); } else { return(RedirectToAction("Index", new { id = -1 })); } }
public HttpResponseMessage PostSendTask(SendTaskViewModel model, int id) { model.Id = id; if (helper.setSendTask(model, User.Identity.Name)) { return(new HttpResponseMessage(HttpStatusCode.Accepted)); } else { return(new HttpResponseMessage(HttpStatusCode.Forbidden)); } }
public bool setSendTask(SendTaskViewModel stviewmodel, string username) { initService(); initCore(); if (CanUserAccessTask(stviewmodel.Id, username)) { if (stviewmodel.ToMultiSubject && stviewmodel.SelectedUsers != null) { string toAll = null; List <string> recipients = stviewmodel.SelectedUsers.ToList <string>(); foreach (string user in recipients) { if (!user.Contains('|')) { toAll = user; } } if (toAll == null) { stviewmodel.selectedRecipient = ""; recipients.ForEach(i => stviewmodel.selectedRecipient = stviewmodel.selectedRecipient + i + ","); stviewmodel.selectedRecipient = stviewmodel.selectedRecipient.Remove(stviewmodel.selectedRecipient.Length - 1, 1); } else { stviewmodel.selectedRecipient = toAll; } } Dictionary <string, dynamic> editableparameters = new Dictionary <string, dynamic>(); stviewmodel.EditableParameters.ForEach(tp => editableparameters.Add(tp.Name, tp.Value)); core.submitSendTaskAnswer(stviewmodel.Id, stviewmodel.selectedRecipient, encodeEditableParameters(stviewmodel.Id, editableparameters), username); return(true); } return(false); }
public async Task <HttpResponseMessage> sendTask(SendTaskViewModel stm, string id) { string url = baddr + "/TaskServiceAPI/SendTask/" + id; return(await HttpMagic(new StringContent(JsonConvert.SerializeObject(stm), System.Text.Encoding.UTF8, "application/json"), url)); }
public Models.JobsViewModels.SendTaskViewModel getSendTask(int id, string username) { initService(); if (CanUserAccessTask(id, username)) { T_Task task = taskStore.getTaskById(id); if (task.Type.Equals("S")) { var processInstance = _db.P_ProcessInstance.Find(task.P_ProcessInstance_Id); var process = _db.P_Processes.Find(processInstance.P_Process_Id); bool tout = false; if (task.SubmittedTaskProperties != null) { if (task.SubmittedTaskProperties.Equals("TimeOut!")) { tout = true; } } DateTime doneDate = new DateTime(); if (task.DateSubmitted != null) { doneDate = task.DateSubmitted.Value; } SendTaskViewModel model = new SendTaskViewModel() { Id = task.Id, Name = task.Name, Done = task.Done, DoneDate = doneDate, Seen = task.Seen, ProcessStartDate = processInstance.DateStarted.Value, StartedByUser = processInstance.StartedByUser, TaskCreatedDate = task.DateCreated.Value, Timedout = tout, Version = process.WS_Project_Version, ProcessName = process.WS_Project.Name }; model.ToMultiSubject = task.ToMultiSubject; model.selectedRecipient = ""; string editableParametersString = ""; if (task.Done) { if (!tout) { editableParametersString = task.SubmittedEditableParameters; model.selectedRecipient = task.SubmittedTaskProperties; } } else { editableParametersString = task.EditableParameters; task.TaskProperties.ForEach(tp => model.Recipients.Add(new SelectListItem { Selected = false, Value = tp.Value, Text = tp.Value })); if (model.ToMultiSubject) { foreach (var user in task.TaskProperties) { if (!user.Value.Contains('|')) { model.selectedRecipient = user.Value; } } } } //var readableParameters = Json.Decode<IDictionary<string, dynamic>>(task.ReadableParameters); IDictionary <string, dynamic> readableParameters = Newtonsoft.Json.JsonConvert.DeserializeObject <IDictionary <string, dynamic> >(task.ReadableParameters); if (readableParameters != null) { foreach (var i in readableParameters) { model.ReadableParameters.Add(new TaskParameter(i.Key, i.Value));// { Name = i.Key, Value = i.Value }); } } if (editableParametersString == null) { editableParametersString = ""; } // var editableParameters = Json.Decode<Dictionary<string, JObject>>(task.EditableParameters); IDictionary <string, dynamic> editableParameters = Newtonsoft.Json.JsonConvert.DeserializeObject <IDictionary <string, dynamic> >(editableParametersString); if (editableParameters != null) { foreach (var i in editableParameters) { model.EditableParameters.Add(new TaskParameter(i.Key, i.Value));// { Name = i.Key, Value = i.Value }); } } return(model); } } return(null); }