Beispiel #1
0
        public IHttpActionResult PostVoucherModel(VoucherModel voucher)
        {
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}

            //VoucherModel createdVoucher = voucherService.CreateVoucher(voucherModel);

            //return CreatedAtRoute("SingleVoucherById", new { id = createdVoucher.id }, createdVoucher);
            if (!ModelState.IsValid || voucher.offerId == null || voucher.userId == null)
            {
                return(BadRequest(ModelState));
            }

            OfferModel offer = offerService.GetOffer((int)voucher.offerId);
            UserModel  buyer = userService.GetUser((int)voucher.userId);

            if (offer == null || buyer == null)
            {
                return(NotFound());
            }

            if (buyer.user_role != UserModel.UserRoles.ROLE_CUSTOMER)
            {
                return(BadRequest("User's role must be ROLE_CUSTOMER"));
            }

            voucher.offerModel = offer;
            voucher.userModel  = buyer;
            VoucherModel createdVoucher = voucherService.CreateVoucher(voucher);

            return(CreatedAtRoute("PostVoucher", new { id = createdVoucher.id }, createdVoucher));
        }
Beispiel #2
0
        public async Task <ActionResult <object> > CreateVoucher([FromBody] VoucherRequest voucherReq)
        {
            var createdVoucher = await baseVoucherService.CreateVoucher(voucherReq);

            var voucherType = voucherReq.VoucherType;

            //TODO:provide better status code to client on internal error
            if (createdVoucher == null)
            {
                return(new StatusCodeResult(500));                        //(new {Message = "Could not create the vouchers"});
            }
            switch (voucherType.ToUpper())
            {
            case "GIFT": return(CreatedAtAction(nameof(GetAllGiftVouchers),
                                                new { VoucherCreated = createdVoucher, Message = $"Created {createdVoucher} Vouchers" }));

            case "DISCOUNT": return(CreatedAtAction(nameof(GetAllDiscountVouchers),
                                                    new { VoucherCreated = createdVoucher, Message = $"Created {createdVoucher} Vouchers" }));

            case "VALUE": return(CreatedAtAction(nameof(GetAllValueVouchers), new { value = "value/all" },
                                                 new { VoucherCreated = createdVoucher, Message = $"Created {createdVoucher} Vouchers" }));

            default: return(BadRequest(new { Message = "Invalid Voucher type" }));
            }
        }
Beispiel #3
0
        public async Task <IActionResult> Create([FromForm] VoucherCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var idVoucher = await _VoucherService.CreateVoucher(request);


            var product = await _VoucherService.GetById(idVoucher);

            return(CreatedAtAction(nameof(GetById), new { id = idVoucher }, product));
        }
        private void CreateAndPostOrder(IVoucherService voucherService)
        {
            var createVoucher = new CreateVoucherDTO
            {
                vouchertypeId  = Properties.Settings.Default.VoucherTypeId,
                maxRedemptions = 0,
                firstName      = _customerDetailViewModel.FirstName,
                lastName       = _customerDetailViewModel.SecondName,
                email          = _customerDetailViewModel.Email
            };

            foreach (var itemLine in _cart.Lines)
            {
                var attribute = new AttributeDTO
                {
                    attributeId = itemLine.Experience.Code,
                    value       = itemLine.Quantity.ToString(),
                };
                createVoucher.attributes.Add(attribute);
            }

            var voucherDetail = voucherService.CreateVoucher(createVoucher).Result;

            _cart.Clear();

            var model = new VoucherDetailViewModel
            {
                VoucherToken       = voucherDetail.voucherToken,
                VoucherDescription = voucherDetail.voucherDescription,
                Name = voucherDetail.name,
                VoucherPurchasedOn = voucherDetail.voucherPurchasedOn,
                UsedOn             = voucherDetail.usedOn
            };

            _voucherDetailViewModel = null;
            _voucherDetailViewModel = model;
        }
Beispiel #5
0
        public string CreateVoucher(ref AddEditVoucherViewModel viewModel)
        {
            var voucher = new Voucher();

            return(VoucherService.CreateVoucher(voucher));;
        }