Esempio n. 1
0
        public HttpResponseMessage UpdateUserTask([FromBody] UserTask uTask)
        {
            try
            {
                var lstTaskPreviousData = new List <UserTaskEmail>();

                if (uTask.TaskID > 0)
                {
                    lstTaskPreviousData = TaskServices.GetTaskDetailsForSendingEmail(uTask.TaskID.ToString(), uTask.SiteID, uTask.ProgramID, uTask.UpdatedByUserID, true);
                }

                var lstTask = TaskServices.UpdateUserTask(uTask.TaskID, uTask.TaskName, uTask.TaskTypeID, uTask.SiteID,
                                                          uTask.ProgramID, uTask.AssignedDate, uTask.AssignedToUserID, uTask.AssignedByUserID,
                                                          uTask.TaskDetails, uTask.CCUserIDs, uTask.DueDate, uTask.TaskStatus, uTask.UpdatedByUserID, uTask.CreatedByUserID,
                                                          uTask.TracerCustomID, uTask.TracerResponseID, uTask.TracerQuestionID, uTask.TracerQuestionAnswerID, uTask.EPTextID,
                                                          uTask.CMSStandardID, uTask.ReminderEmailRequired, uTask.TaskResolution, uTask.CompleteDate, uTask.LstUsers);

                Task.Factory.StartNew(() => TaskServices.SendTaskEmailAfterSave(lstTask, uTask.SiteID, uTask.ProgramID, uTask.UpdatedByUserID, lstTaskPreviousData, uTask.ObservationTitle));

                if (uTask.TaskID > 0)
                {
                    Task.Factory.StartNew(() => TaskServices.DisableTaskNotificationScheduleType(DisableTaskNotificationScheduleType.TaskChanged, uTask.SiteID, uTask.UpdatedByUserID, lstTask));
                }

                return(Request.CreateResponse(HttpStatusCode.OK, lstTask));
            }
            catch (Exception ex)
            {
                ex.Data.Add("HTTPReferrer", "JCRAPI/TaskInfo/UpdateUserTask");
                WebExceptionHelper.LogException(ex, null);
                return(Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, ex.ToString()));
            }
        }