public async Task <long> ScheduleInspection(long id, CaseScheduleInspectionParam data) { return(await _requestProvider.BuildUpon(_url) .Uri($"/api/case/{id}/inspection") .Method(HttpMethod.Post) .Content(new JsonContent(data)) .AddInterceptor(new JsonDeserializerInterceptor()) .Execute <long>()); }
public async Task <long> ScheduleInspection(long caseID, CaseScheduleInspectionParam data, Officer officer) { var @case = await _apiClient.CaseSdk.GetCaseByID(caseID); var premise = @case.Premises.Where(x => x.ID == data.PremiseID).FirstOrDefault(); var lineItems = new List <JobOrderLineItem>(); var certificates = @case.Certificates.Where(x => x.PremiseID == data.PremiseID).GroupBy(x => x.Scheme).Select(x => x.FirstOrDefault()).ToList(); foreach (var caseLineItem in certificates) { var checklist = _apiClient.ChecklistSdk.GetLatest(caseLineItem.Scheme); lineItems.Add(new JobOrderLineItem { Scheme = caseLineItem.Scheme, SubScheme = caseLineItem.SubScheme, ChecklistHistoryID = checklist.Id }); } var jobOrder = new ScheduleJobOrderParam { RefID = caseID, Type = data.Type, Status = JobOrderStatus.Pending, ScheduledOn = data.ScheduledOn, ScheduledOnTo = data.ScheduledOnTo, Notes = data.Notes, Officer = new Officer { ID = officer.ID, Name = officer.Name }, Customer = new Model.Customer { ID = @case.Offender.ID, Name = @case.Offender.Name }, Premises = new List <Premise> { premise }, LineItems = lineItems }; data.JobOrderID = (await _apiClient.JobOrderSdk.Submit(jobOrder)).ID; var result = await _apiClient.CaseSdk.ScheduleInspection(caseID, data); return(result); }
public ScheduleInspectionCommand(long caseID, CaseScheduleInspectionParam data, Officer user) { _data = data; _user = user; _caseID = caseID; }
public async Task <long> Inspection(long id, CaseScheduleInspectionParam data, Guid userID, string username) { return(await _caseService.ScheduleInspection(id, data, new Officer(userID, username))); }
public async Task <long> ScheduleInspection(long id, [FromBody] CaseScheduleInspectionParam data) { return(await _caseService.ScheduleInspection(id, data, new Officer(User.GetUserId(), User.GetName()))); }
public async Task <long> ScheduleInspection(long caseID, CaseScheduleInspectionParam data, Officer user) { return(await Execute(new ScheduleInspectionCommand(caseID, data, user))); }