示例#1
0
        public async Task <IActionResult> Post([FromBody] LikesViewModel crypto)
        {
            if (ModelState.IsValid)
            {
                var newLike = Mapper.Map <Likes>(crypto);
                newLike.UserName = User.Identity.Name;
                _repositiry.AddLikes(newLike);

                if (await _repositiry.SaveChangesAsync())
                {
                    return(Created($"api/Crypto/{crypto.Name}", Mapper.Map <LikesViewModel>(crypto)));
                }
            }
            return(BadRequest("Failed to save like"));
        }
示例#2
0
        public async Task <IActionResult> Post(string cryptoName, [FromBody] StoreViewModel vm)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newStore = Mapper.Map <Store>(vm);
                    var client   = new CoinMarketCapClient();
                    var result   = await client.GetTickerAsync();

                    //if (!result)
                    //{
                    //	_logger.LogError("Cant find it");
                    //}
                    //else
                    {
                        newStore.Price      = result.Data.LastUpdated;
                        newStore.supply     = result.Data.MaxSupply;
                        newStore.CryptoName = result.Data.Name;

                        _repositiry.AddStore(cryptoName, newStore, User.Identity.Name);

                        if (await _repositiry.SaveChangesAsync())
                        {
                            return(Created($"/api/Likes/{cryptoName}/Store/{newStore.CryptoName}",
                                           Mapper.Map <StoreViewModel>(newStore)));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to save new like: {0}", ex);
            }
            return(BadRequest("Failed"));
        }