Esempio n. 1
0
        public async Task <int> CreateOrder(int userid, CreateorderPayload createorderPayload)
        {
            List <Task> addticketstoorder = new List <Task>();
            var         order             = new Order();

            order.Orderitems = createorderPayload.Ordertoreserve;
            var occurrencedateintid = await WithConnection(async c =>
            {
                return(c.Query <int>("select Activity_occurrence_id from Activity_occurrence where Activity_id = @activityid and Start_datetime = @activitydate",
                                     new { activityid = createorderPayload.Activityid, @activitydate = createorderPayload.Activityoccurrencedate }, commandType: CommandType.Text).FirstOrDefault());
            });

            var orderid = await WithConnection(async c =>
            {
                DynamicParameters parameters = new DynamicParameters();
                parameters.Add("@activityoccurrenceid", occurrencedateintid, DbType.Int32);
                parameters.Add("@userid", userid, DbType.Int32);
                parameters.Add("@amount", order.Orderamount, DbType.Int32);
                parameters.Add("@output", DbType.Int32, direction: ParameterDirection.Output);
                await c.ExecuteAsync("Createorder", parameters, commandType: CommandType.StoredProcedure);
                int output = parameters.Get <int>("@output");
                return(output);
            });

            foreach (var ticket in createorderPayload.Ordertoreserve)
            {
                ICurrency currency = null;
                await new TicketRepository(_config).AddTickettoorder(occurrencedateintid, orderid, ticket.Id, ticket.Quantity);
            }
            //await Task.WhenAll(addticketstoorder);
            return(orderid);
        }
Esempio n. 2
0
        public async Task <IActionResult> Createorder([FromBody] CreateorderPayload value)
        {
            if (ModelState.IsValid)
            {
                int orderid;
                var sessionId = HttpContext.Session.Id;
                if (User.Identity.Name != null)
                {
                    int userid = int.Parse(User.Identity.Name);
                    orderid = await _orderRepository.CreateOrder(userid, value);

                    return(RedirectToAction("Get", new { id = orderid, userid = userid }));
                }

                else
                {
                    var user = new AppUser {
                        UserName = Guid.NewGuid().ToString()
                    };
                    //var Usercreated = await _userManager.CreateAsync(user, Guid.NewGuid().ToString());
                    orderid = await _orderRepository.CreateOrder(user.Id, value);

                    return(RedirectToAction("Get", new { id = orderid, userid = user.Id }));
                }
            }
            else
            {
                return(BadRequest(modelState: ModelState));
            }
        }