public async Task <T> UpdateWorkOrder <T>(IOrganizationAccountManager accountManager, Guid orderId, UpdateWorkOrderInput input) where T : ProviderWorkOrderOutput { var workOrder = await Repository.Queryable() .Where(x => x.AccountManagerId == accountManager.AccountManagerId && x.Id == orderId) .FirstAsync(); return(await UpdateWorkOrder <T>(workOrder, input)); }
private async Task <T> UpdateWorkOrder <T>(WorkOrder workOrder, UpdateWorkOrderInput input = null) where T : WorkOrderOutput { if (input != null) { workOrder.InjectFrom(input); } workOrder.Updated = DateTimeOffset.UtcNow; var result = await Repository.UpdateAsync(workOrder, true); return(Repository.Queryable().Where(x => x.Id == workOrder.Id) .ProjectTo <T>(ProjectionMapping) .FirstOrDefault()); }
public async Task <IActionResult> UpdateWorkOrder([FromRoute] Guid organizationId, [FromRoute] Guid workOrderId, [FromBody] UpdateWorkOrderInput input) { var order = await _workOrderService.UpdateWorkOrder <ProviderWorkOrderOutput>(_accountManager, workOrderId, input); return(Ok(order)); }
public async Task <T> UpdateWorkOrder <T>(IOrganizationCustomer customer, Guid orderId, UpdateWorkOrderInput input) where T : BuyerWorkOrderOutput { var workOrder = await Repository.Queryable() .Where(x => x.CustomerId == customer.CustomerId && x.Id == orderId) .FirstAsync(); return(await UpdateWorkOrder <T>(workOrder, input)); }