public ActionResult Create(int?id, SequencingPostModel postModel) { JobType jobType = null; if (id.HasValue) { jobType = _repositoryFactory.JobTypeRepository.GetNullableById(id.Value); // check the job type // 2013-01-16 by kjt: Should be all 3 types of sequencing jobs as per Jong-Min if (!jobType.StandardSequencing && !jobType.CustomSequencing && !jobType.DNASequencing) { Message = "Invalid job type specified"; return(RedirectToAction("Create")); } // all job types are assignble except dna submission if (jobType.Id != (int)JobTypeIds.DnaSubmission) { postModel.JobType = jobType; } } var result = false; switch (jobType.Id) { case (int)JobTypeIds.BacterialClone: result = SaveBacterialClone(postModel); break; case (int)JobTypeIds.DnaSubmission: result = SaveDnaSubmission(postModel); break; case (int)JobTypeIds.UserRunSequencing: result = SaveUserRunSubmission(postModel); break; case (int)JobTypeIds.Sublibrary: result = SaveSublibrarySubmission(postModel); break; } if (result) { Message = "Your job request has been successfully submitted."; return(RedirectToAction("Index", "Authorized")); } var user = GetCurrentUser(); var viewModel = SequencingViewModel.Create(_repositoryFactory, user, jobType, postModel); return(View(viewModel)); }
/// <summary> /// Create a sequencing job submission /// </summary> /// <param name="id">Job Type Id</param> /// <returns></returns> public ActionResult Create(int?id) { JobType jobType = null; if (id.HasValue) { jobType = _repositoryFactory.JobTypeRepository.GetNullableById(id.Value); // check the job type // 2013-01-16 by kjt: Should be all 3 types of sequencing jobs as per Jong-Min if (!jobType.StandardSequencing && !jobType.CustomSequencing && !jobType.DNASequencing) { Message = "Invalid job type specified"; return(RedirectToAction("Create")); } } var user = GetCurrentUser(); var viewModel = SequencingViewModel.Create(_repositoryFactory, user, jobType); return(View(viewModel)); }