コード例 #1
0
        public async Task <ActionResult <List <CheckoutResource> > > GetExpiredCheckoutsAndApplyTicket()
        {
            //Get Experid Checkouts
            var expiredCheckouts = _checkoutService.GetExpiredCheckouts();

            // For each checkout insert ticket. If checkout already has a ticket then do nothing
            var expiredCheckoutsResource = _mapper.Map <List <Checkout>, List <CheckoutResource> >(expiredCheckouts);


            foreach (var expiredCheckoutResource in expiredCheckoutsResource)
            {
                var ticketCheckout = await _ticketService.GetAllWithCheckoutsByCheckoutsId(expiredCheckoutResource.Id);

                if (ticketCheckout == null)
                {
                    SaveTicketResource saveTicketResource = new SaveTicketResource();
                    saveTicketResource.CheckoutId = expiredCheckoutResource.Id;
                    saveTicketResource.Date       = DateTime.Now;
                    saveTicketResource.PaymentId  = 1;
                    saveTicketResource.Price      = 5;
                    saveTicketResource.State      = true;

                    var saveTicket = _mapper.Map <SaveTicketResource, Ticket>(saveTicketResource);
                    var newTicket  = await _ticketService.CreateTicket(saveTicket);
                }
            }
            return(Ok(expiredCheckoutsResource));
        }
コード例 #2
0
        // FUNCTION FOR INTERNAL USE ONLY
        private async Task <Ticket> GetExpiredCheckoutsAndApplyTicketByCheckoutId(int checkoutId, bool isCheckoutJustUpdated)
        {
            // THIS FUNCTION IS NEEDED WHEN SOME CHECKOUT SUFFERS AN UPDATE OR A FUNCTION NEEDS TO KNOW IF CHECKOUT IS EXPIRED
            // BECAUSE IF SO, A NEW TICKET NEEDS TO BE INSERTED IN THE DATABASE

            Checkout expiredCheckout = new Checkout();


            //Check If Checkout Is Expired
            expiredCheckout = _checkoutService.GetExpiredCheckoutById(checkoutId);

            // Check if the expired checkout has a ticket applied
            var ticketCheckout = await _ticketService.GetAllWithCheckoutsByCheckoutsIdAndState(checkoutId, true);

            // If the expired checkout has no ticket applied, then create ticket
            if (ticketCheckout == null && expiredCheckout.Id != 0)
            {
                SaveTicketResource saveTicketResource = new SaveTicketResource();
                saveTicketResource.CheckoutId = expiredCheckout.Id;
                saveTicketResource.Date       = DateTime.Now;
                saveTicketResource.PaymentId  = 1;
                saveTicketResource.Price      = 5;
                saveTicketResource.State      = true;

                var saveTicket = _mapper.Map <SaveTicketResource, Ticket>(saveTicketResource);
                ticketCheckout = await _ticketService.CreateTicket(saveTicket);
            }
            else
            {
                expiredCheckout.Id = checkoutId;
            }


            // If this parameter is true, then close the ticket
            if (isCheckoutJustUpdated && ticketCheckout != null)
            {
                ticketCheckout.PaymentDate = DateTime.Now;
                ticketCheckout.State       = false;

                await _ticketService.UpdateTicket(ticketCheckout);
            }

            return(ticketCheckout);
        }