Esempio n. 1
0
        public async Task <IActionResult> PostAsync([FromBody] PurchaseModel purchaseModel, Guid shopId)
        {
            if (shopId == Guid.Empty)
            {
                return(BadRequest($"{nameof(shopId)} is invalid!"));
            }


            using (var db = new ShopAndUserContext())
            {
                var user = db.Users.Find(purchaseModel.UserId);

                if (user == null)
                {
                    return(BadRequest($"user with {purchaseModel.UserId} not found!"));
                }

                Purchase purchase = new Purchase();
                purchase.ShopId         = shopId;
                purchase.UserId         = purchaseModel.UserId;
                purchase.PurchaseAmount = purchaseModel.PurchaseAmount;

                #region MyRegion если нужно дёрнуть api user

                string url  = "http://localhost:55692/user/" + purchaseModel.UserId.ToString().ToUpper();
                string data = "PurchaseAmount=" + purchaseModel.PurchaseAmount.ToString();

                UserModel userOne = new UserModel();
                userOne.PurchaseAmount = purchaseModel.PurchaseAmount;

                using (HttpClient client = new HttpClient())
                {
                    HttpResponseMessage response = await client.PostAsJsonAsync(url, userOne);

                    response.EnsureSuccessStatusCode();
                }

                #endregion


                db.Purchase.Add(purchase);
                db.SaveChanges();
                return(Ok());
            }
        }
Esempio n. 2
0
        public IActionResult Post([FromBody] UserModel userModel, Guid userId)
        {
            if (userId == Guid.Empty)
            {
                return(BadRequest($"{nameof(userId)} is invalid!"));
            }

            using (var db = new ShopAndUserContext())
            {
                var user = db.Users.Find(userId);

                if (user == null)
                {
                    return(BadRequest($"user with {userId} not found!"));
                }

                decimal cashBack = userModel.PurchaseAmount / 100 * 15;
                user.Balance = user.Balance - userModel.PurchaseAmount + cashBack;

                db.SaveChanges();

                return(Ok());
            }
        }