コード例 #1
0
        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);

    
        }
コード例 #2
0
        public ActionResult _SendState(int id, string mode)
        {
            ViewBag.TaskId = id;
            SendTaskViewModel model = helper.getSendTask(id, User.Identity.Name);

            model.ViewMode = mode;
            return(PartialView(model));
        }
コード例 #3
0
 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 }));
     }
 }
コード例 #4
0
 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));
     }
 }
コード例 #5
0
        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);
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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);
        }