public void UpdateAssignmentModel(Guid assignmentId) { var am = new AssignmentInfoModel(); TryUpdateModel(am); if (!ModelState.IsValid) { return; } if (am.FormAction == "Create") { var id = Guid.NewGuid(); var form = new AssignmentCreationForm() { AssignmentCode = am.AssignmentCode, DeadlineToComplete = am.DeadlineToComplete == null ? (DateTime?)null : DateTime.Parse(am.DeadlineToComplete), DeadlineToStart = am.DeadlineToStart == null ? (DateTime?)null : DateTime.Parse(am.DeadlineToStart), Description = am.Description, Executor = ((Guid)am.Executor).ToString(), Id = id, IsActive = true, Name = am.Name, Observers = am.Observers?.Select(x => x.Key.ToString()).ToList() ?? new List <string>(), Tags = am.Tags ?? new List <string>() }; bool result = WorkflowInit.Runtime.AssignmentApi.CreateAssignmentAsync(am.ProcessId, form).Result; Response.Redirect($"~/Document/AssignmentInfo/{form.Id}"); } else { var a = WorkflowInit.Runtime.PersistenceProvider.GetAssignmentAsync((Guid)am.AssignmentId).Result; a.Description = am.Description; a.Executor = am.Executor.ToString(); a.Name = am.Name; a.StatusState = am.StatusState; a.DeadlineToComplete = am.DeadlineToComplete == null ? (DateTime?)null : DateTime.Parse(am.DeadlineToComplete); a.DeadlineToStart = am.DeadlineToStart == null ? (DateTime?)null : DateTime.Parse(am.DeadlineToStart); bool result = WorkflowInit.Runtime.AssignmentApi.UpdateAssignmentAsync(a).Result; Response.Redirect($"~/Document/AssignmentInfo/{am.AssignmentId}"); } }
public ActionResult AssignmentCreateOrUpdate(AssignmentInfoModel am) { if (am.FormAction == "Create") { var id = Guid.NewGuid(); var form = new AssignmentCreationForm() { AssignmentCode = am.AssignmentCode, DeadlineToComplete = am.DeadlineToComplete, DeadlineToStart = am.DeadlineToStart, Description = am.Description, Executor = ((Guid)am.Executor).ToString(), Id = id, IsActive = true, Name = am.Name, Observers = am.Observers?.Select(x => x.Key.ToString()).ToList() ?? new List <string>(), Tags = am.Tags ?? new List <string>() }; bool result = WorkflowInit.Runtime.AssignmentApi.CreateAssignmentAsync(am.ProcessId, form).Result; return(RedirectToAction("AssignmentInfo", new { id = id })); } else { var a = WorkflowInit.Runtime.PersistenceProvider.GetAssignmentAsync((Guid)am.AssignmentId).Result; a.Description = am.Description; a.Executor = am.Executor.ToString(); a.Name = am.Name; a.StatusState = am.StatusState; a.DeadlineToComplete = am.DeadlineToComplete; a.DeadlineToStart = am.DeadlineToStart; bool result = WorkflowInit.Runtime.AssignmentApi.UpdateAssignmentAsync(a).Result; return(RedirectToAction("AssignmentInfo", new { id = a.AssignmentId })); } }