public async Task <IActionResult> CreateSample(CreateSampleViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest()); } var commandRequestId = await commandBus.Publish(viewModel.ToCreateSampleCommand()); return(Ok(commandRequestId)); }
public void TestGetClaimSampleFromDefaultView() { var sut = new PatService(); var vm = new CreateSampleViewModel(); vm.UseDummyValues(); var csvm = sut.ExtractClaims(vm.Criteria); Assert.AreEqual(string.Empty, csvm.ErrorMessage); Assert.IsNotNull(csvm.Claims); Console.WriteLine("Claim sample call found {0} claims", csvm.Claims.Count); sut.SaveExtract(vm.SessionKey, csvm.Claims, "UnitTest"); }
public CreateSampleViewModel Create(CreateSampleFormModel model = null) { CreateSampleViewModel result = new CreateSampleViewModel(); CreateSampleResponse response = _sampleService.CreateSample(new CreateSampleRequest() { Name = result.Name, Size = result.Size }); if (response.HasError) { result.Messages = response.Messages; return(result); } return(result); }
public ActionResult Create(CreateSampleViewModel vm) { try { CustomCriteraValidation(vm); if (ModelState.IsValid) { // get data from MF var claimSample = PatService.ExtractClaims(vm.Criteria); // put data into temporary store (session or even database) if (claimSample.Claims == null) { if (string.IsNullOrEmpty(claimSample.ErrorMessage)) { TempData[CommonConstants.FlashMessageTypeWarning] = "No Claims found with these criteria"; } else { TempData[CommonConstants.FlashMessageTypeWarning] = claimSample.ErrorMessage; } } else { if (claimSample.Claims.Count > 0) { PatService.SaveExtract(vm.SessionKey, claimSample.Claims, HttpContext.User.Identity.Name.RemoveDomain()); return(RedirectToAction("ClaimList", new { sessionKey = vm.SessionKey, id = vm.ProjectId, due = vm.SampleDueDate })); } TempData[CommonConstants.FlashMessageTypeWarning] = "No Claims found with these criteria"; } } // Invalid model state redisplay with errors return(View(vm)); } catch (Exception ex) { ErrorLog.GetDefault(null).Log(new Error(ex)); return(View("Error", new HandleErrorInfo(ex, "Sample", "Create"))); } }
public ActionResult Create(int id) { var loggedInUser = new PatUser(Request.LogonUserIdentity); if (HttpContext.Session != null) { var vm = new CreateSampleViewModel(); var project = PatService.GetProject(id); if (project != null) { vm.ProjectId = id; vm.ProjectName = project.ProjectName; vm.ContractMonitoringOrContractSiteVisitProject = PatService.ProjectIsContractMonitoringOrContractSiteVisit(id); vm.SampleStartDate = DateTime.Now.Date; vm.SampleDueDate = DateTime.Now.AddDays(4 * 7).Date; vm.SampleMessage = PatService.GetSampleMessage(HttpContext.Session.SessionID); vm.IsAdministrator = loggedInUser.IsAdministrator(); vm.Criteria = new SampleCriteria { MaxSampleSize = 20, RequestingUser = loggedInUser.FullName }; vm.SessionKey = HttpContext.Session.SessionID; if (HttpContext.Session != null) { var sessionKey = HttpContext.Session.SessionID; AppHelper.SetSessionProjectId(Session, id); vm.SessionKey = sessionKey; } } return(View(vm)); } return(View(new CreateSampleViewModel { SampleMessage = "No Session available" })); }
public ActionResult Create() { CreateSampleViewModel model = _controllerHandler.Create(); return(View(model)); }
private void CustomCriteraValidation(CreateSampleViewModel vm) { vm.SampleStartDate = DateTime.Now.Date; if (vm.Criteria.Organisation != null && vm.Criteria.Organisation.Length > 3) { vm.Criteria.OrgCode = vm.Criteria.Organisation.Substring(0, 4); } else { if (!string.IsNullOrEmpty(vm.Criteria.Organisation)) { ModelState.AddModelError("Organisation", "Invalid Organisation."); } } if (vm.Criteria.Esa != null && vm.Criteria.Esa.Length > 3) { vm.Criteria.EsaCode = vm.Criteria.Esa.Substring(0, 4); } else { if (!string.IsNullOrEmpty(vm.Criteria.Esa)) { ModelState.AddModelError("Esa", "Invalid ESA."); } } if (vm.Criteria.ClaimTypeDescription != null && vm.Criteria.ClaimTypeDescription.Length > 3) { vm.Criteria.ClaimType = vm.Criteria.ClaimTypeDescription.Substring(0, 4); } else { if (!string.IsNullOrEmpty(vm.Criteria.ClaimTypeDescription)) { ModelState.AddModelError("ClaimTypeDescription01", "Invalid Claim Type"); } } if (vm.Criteria.Site != null && vm.Criteria.Site.Length > 3) { vm.Criteria.SiteCode = vm.Criteria.Site.Substring(0, 4); } if (vm.ContractMonitoringOrContractSiteVisitProject) { if (vm.SampleDueDate < vm.SampleStartDate) { ModelState.AddModelError("SampleDueDate", "Sample Due Date cannot be before Sample Start Date."); } } if (vm.Criteria.ToClaimDate < vm.Criteria.FromClaimDate) { ModelState.AddModelError("Criteria.ToClaimDate", "Claim To Date cannot be before Claim From Date."); } if (vm.Criteria.FromClaimDate == new DateTime(1, 1, 1)) { vm.Criteria.FromClaimDate = DateTime.Now.Date.Subtract(new TimeSpan(365, 0, 0, 0)); } if (vm.Criteria.ToClaimDate == new DateTime(1, 1, 1)) { vm.Criteria.ToClaimDate = DateTime.Now.Date; } if ((vm.Criteria.MaxSampleSize == null) || vm.Criteria.MaxSampleSize < 1) { vm.Criteria.MaxSampleSize = 20; } else { if (vm.Criteria.MaxSampleSize > 50) { ModelState.AddModelError("MaxSampleSize", "The field Number of Claims to Extract must be a maximum of 50."); } } }
public static CreateSampleCommand ToCreateSampleCommand(this CreateSampleViewModel model) => model.Adapt <CreateSampleCommand>();