public JsonResult ReassignmentConfirm(ReassignmentViewModel model) { bool isSuccess = true; string msg = string.Empty; try { ActivityRepository repository = new ActivityRepository(false); var settingTask = repository.GetSettingTasks(st => st.Id == model.Id).FirstOrDefault(); if (settingTask != null) { settingTask.ExecutorId = Guid.Parse(model.ExecutorId.Id); //settingTask.TaskTypeId = model.TaskTypeId; repository.UpdateSettingTask(settingTask); } else { var activityDicId = repository.GetActivityTypeIdByCode(model.ActivityTypeCode); var taskTypeDicId = repository.GetTaskTypeIdByCode(model.TaskTypeCode); var parentSettingTask = repository.GetSettingTasks(st => st.EXP_AgreementProcSettingsActivities.ActivityTypeId == activityDicId && st.TaskTypeId == taskTypeDicId) .OrderByDescending(st => st.OrderNum).FirstOrDefault(); Guid?activityId = null; if (parentSettingTask == null) { activityId = repository.GetSettingActivities(psa => psa.ActivityTypeId == activityDicId) .Select(psa => psa.Id) .FirstOrDefault(); } settingTask = new EXP_AgreementProcSettingsTasks() { Id = Guid.NewGuid(), ActivityId = parentSettingTask?.ActivityId ?? activityId.Value, TaskTypeId = taskTypeDicId.Value, ExecutorId = Guid.Parse(model.ExecutorId.Id), ParentTaskId = parentSettingTask?.Id, OrderNum = parentSettingTask?.OrderNum + 1 ?? 1 }; repository.AddSettingTask(settingTask); } repository.Save(); } catch (Exception e) { isSuccess = false; msg = e.ToString(); } return(Json(new { IsSuccess = isSuccess, msg }, JsonRequestBehavior.AllowGet)); }
public ActionResult ReassignmentDialog(Guid id, string documentTypeCode, string activityTypeCode = null, string taskTypeCode = null) { ActivityRepository repository = new ActivityRepository(false); var settingTask = repository.GetSettingTasks(st => st.Id == id).FirstOrDefault(); var rvm = new ReassignmentViewModel() { Id = settingTask?.Id ?? Guid.NewGuid(), ExecutorId = new Item() { Id = settingTask?.ExecutorId.ToString() }, ExecutionDate = DateTime.Now, DocumentTypeCode = documentTypeCode, ActivityTypeCode = activityTypeCode ?? AgreementController.GetActivityTypeByDocTypeCode(documentTypeCode), TaskTypeCode = string.IsNullOrEmpty(taskTypeCode) ? Dictionary.ExpTaskType.Agreement: taskTypeCode, }; return(PartialView(rvm)); }