Ejemplo n.º 1
0
        public async Task <IActionResult> CreateAsync(
            [FromBody] Wppod.Models.User user)
        {
            Cloud.Result <Wppod.Models.User> result =
                new Cloud.Result <Wppod.Models.User>();

            try
            {
                if (!ModelState.IsValid)
                {
                    result.SetFail("Invalid model state");
                }
                else
                {
                    string status = string.Format("User Create request, received by Nest-{0}.{1} at {2}",
                                                  _runtime.NestTag, _runtime.CushionIndex, DateTime.Now.ToString("t"));
                    _logger.LogInformation(status);

                    _cafeContext.Users.Add(user);
                    await _cafeContext.SaveChangesAsync();

                    result.SetSuccess("user", user);
                }
            }
            catch (System.Exception e)
            {
                result.SetFail(e, "CreateAsync");
            }

            return(Ok(result));
        }
Ejemplo n.º 2
0
        //POST : /Register
        public async Task <Object> PostOrder(WebModels.Order order)
        {
            var accessToken   = Request.Headers[HeaderNames.Authorization];
            var tokenHandler  = new JwtSecurityTokenHandler();
            var securityToken = tokenHandler.ReadToken(accessToken) as JwtSecurityToken;

            var stringClaimValue = securityToken.Claims.First(claim => claim.Type == "UserID").Value;

            var newOrder = new Models.Order();

            newOrder.UserId      = stringClaimValue;
            newOrder.OrderPlaced = DateTime.Now;
            newOrder.AddressId   = Int32.Parse(order.AddressId);
            newOrder.DishOrders  = new List <DishOrder>();
            foreach (var item in order.DishOrders)
            {
                newOrder.DishOrders.Add(new Models.DishOrder()
                {
                    DishId = Int32.Parse(item.DishId), Quantity = Int32.Parse(item.Quantity)
                });
            }
            _db.Orders.Add(newOrder);
            var result = await _db.SaveChangesAsync();

            return(result);

            //order.UserId =
            //_db.DishOrders.AddRange(dishOrders);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> CreateAsync(int menu_id, [FromBody] MenuItem item)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(422, ModelState));
                }

                Cloud.Result <MenuItem> result = new Cloud.Result <MenuItem>();

                Menu menu = _cafeContext.Menus.FirstOrDefault(
                    searchMenu => searchMenu.Id == menu_id);

                if (menu == null)
                {
                    result.SetFail("Menu not found");
                }
                else
                {
                    item.Menu = menu;

                    string status;
                    status = string.Format("Menu Item Create request, received by Nest {0}.{1} at {2}",
                                           _runtime.NestTag,
                                           _runtime.CushionIndex,
                                           DateTime.Now.ToString("t"));
                    _logger.LogInformation(status);

                    status = string.Format("Create under Menu id {0}, the Menu Item {1}",
                                           menu_id, JsonConvert.SerializeObject(item));
                    _logger.LogInformation(status);

                    _cafeContext.MenuItems.Add(item);
                    await _cafeContext.SaveChangesAsync();

                    _runtime.SendToNest(
                        JsonConvert.SerializeObject(item),
                        "stockallocator");

                    result.SetSuccess("menu_item", item);
                }

                return(Ok(result));
            }
            catch (System.Exception e)
            {
                return(StatusCode(500, e));
            }
        }
Ejemplo n.º 4
0
        public async Task <Object> AddAddress(Address address)
        {
            var accessToken   = Request.Headers[HeaderNames.Authorization];
            var tokenHandler  = new JwtSecurityTokenHandler();
            var securityToken = tokenHandler.ReadToken(accessToken) as JwtSecurityToken;

            var stringClaimValue = securityToken.Claims.First(claim => claim.Type == "UserID").Value;

            address.Email = stringClaimValue;
            _db.Addresses.Add(address);
            var result = await _db.SaveChangesAsync();

            return(address);

            //order.UserId =
            //_db.DishOrders.AddRange(dishOrders);
        }