Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        /// <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));
        }