public BaseResponse ReklamVer(ReklamVerRequest reklamVerRequest)
        {
            BaseResponse baseResponse = new BaseResponse();
            HttpClient   client2      = new HttpClient();

            client2.BaseAddress = new Uri("https://api.coinbase.com/v2/prices/");
            HttpResponseMessage responseMessage2 = client2.GetAsync("spot?currency=USD").Result;

            responseMessage2.EnsureSuccessStatusCode();
            var        responseBody = responseMessage2.Content.ReadAsStringAsync();
            CoinKurAll emp          = responseMessage2.Content.ReadAsAsync <CoinKurAll>().Result;


            string today = "http://www.tcmb.gov.tr/kurlar/today.xml";

            var xmlDoc = new XmlDocument();

            xmlDoc.Load(today);
            string USD_Alis = xmlDoc.SelectSingleNode("Tarih_Date/Currency[@Kod='USD']/BanknoteBuying").InnerXml;
            float  dolarKur = float.Parse(USD_Alis, CultureInfo.InvariantCulture.NumberFormat);

            Kullanicilar kullanicilar = _kullanicilarRepository.Find(x => x.KullaniciAdi == reklamVerRequest.KullaniciAdi);

            if ((emp.data.amount * kullanicilar.Bakiye * dolarKur) < reklamVerRequest.Tarife)
            {
                baseResponse.durum = true;
                baseResponse.mesaj = "Reklam verecek yeter kadar bakiyeniz bulunmamaktadır.";
            }
            else
            {
                kullanicilar.Bakiye -= (float)Math.Round(reklamVerRequest.Tarife / (emp.data.amount * dolarKur), 4);
                string    blogBaslik = _makalelerRepository.Find(x => x.Id == reklamVerRequest.BlogId).Baslik;
                string    blogResim  = _makalelerRepository.Find(x => x.Id == reklamVerRequest.BlogId).Resim;
                string    blogTarih  = _makalelerRepository.Find(x => x.Id == reklamVerRequest.BlogId).Tarih;
                string    blogSlug   = _makalelerRepository.Find(x => x.Id == reklamVerRequest.BlogId).Slug;
                Reklamlar reklamlar  = new Reklamlar();
                reklamlar.AdSoyad   = kullanicilar.Ad + " " + kullanicilar.Soyad;
                reklamlar.Baslik    = blogBaslik;
                reklamlar.Resim     = blogResim;
                reklamlar.Slug      = blogSlug;
                reklamlar.Tarih     = blogTarih;
                reklamlar.Tur       = reklamVerRequest.Tarife;
                reklamlar.YayinOnay = false;
                _reklamlarRepository.Insert(reklamlar);

                baseResponse.durum = true;
                baseResponse.mesaj = "Yönetici Onayından Sonra Reklamınız Verilecektir.";
            }
            return(baseResponse);
        }
예제 #2
0
        public IActionResult PostReklamVer(ReklamVerRequest reklamVerRequest)
        {
            var baseResponse = _kullaniciMakalelerAppService.ReklamVer(reklamVerRequest);

            return(Ok(baseResponse));
        }