public async Task <ActionResult <OrderEntity> > CreateOrderEntity(OrderCreateResource createResource, string userId) { var creatingEntitiesResult = await GetCreatingEntities(createResource, userId); if (creatingEntitiesResult.Value == null) { return(creatingEntitiesResult.Result); } return(GetOrderEntity(creatingEntitiesResult.Value)); }
private async Task <ActionResult <OrderCreatingEntities> > GetCreatingEntities(OrderCreateResource createResource, string userId) { var creatingEntities = new OrderCreatingEntities(); creatingEntities.User = await usersRepository.Get(userId); if (creatingEntities.User == null) { return(new UnauthorizedResult()); } //TODO //creatingEntities.Address = creatingEntities.User.Adresses.FirstOrDefault(ad => ad.Id == createResource.AddressId); if (creatingEntities.Address == null) { return(NotFound(createResource.AddressId)); } creatingEntities.Cart = await cartsRepository.Get(createResource.CartId); if (creatingEntities.Cart == null) { return(NotFound(createResource.CartId)); } creatingEntities.DeliveryWindow = await deliveryWindowsRepository.Get(createResource.DeliveryWindowId); if (creatingEntities.DeliveryWindow == null) { return(NotFound(createResource.DeliveryWindowId)); } creatingEntities.DeliveryWindow.Orders = null; return(creatingEntities); }