Пример #1
0
        public async Task <IActionResult> CreateOrder([FromBody] CreateCreditCardOrderDto model)
        {
            var user = await _userService.GetFromIdentityAsync(User.Identity.Name);

            if (user.Status == DataHolderStatus.Unauthorized)
            {
                return(Unauthorized());
            }

            var createResult = await _creditCardService.CreateOrderAsync(model, user.Data);

            if (createResult.Status == DataHolderStatus.Failure)
            {
                return(BadRequest(createResult.Message));
            }

            return(Ok(_mapper.Map <CreditCardOrder, CreditCardOrderDto>(createResult.Data)));
        }
Пример #2
0
        public async Task <DataHolder <CreditCardOrder> > CreateOrderAsync(CreateCreditCardOrderDto dto, User user)
        {
            var creditCardOrder = _mapper.Map <CreateCreditCardOrderDto, CreditCardOrder>(dto);

            if (creditCardOrder.DeliveryType == CreditCardOrderDeliveryType.Address &&
                (string.IsNullOrWhiteSpace(dto.City) ||
                 string.IsNullOrWhiteSpace(dto.FlatNumber) ||
                 string.IsNullOrWhiteSpace(dto.HouseNumber)))
            {
                return(DataHolder <CreditCardOrder> .CreateFailure("City or flat number order house number is empty"));
            }

            creditCardOrder.Status = CreditCardOrderStatus.New;
            creditCardOrder.User   = user;

            var insertResult = await _creditCardOrderRepository.InsertAsync(creditCardOrder);

            if (insertResult < 0)
            {
                return(DataHolder <CreditCardOrder> .CreateFailure("Cant create order"));
            }

            return(DataHolder <CreditCardOrder> .CreateSuccess(creditCardOrder));
        }