Пример #1
0
        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));
        }
Пример #2
0
        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());
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }