예제 #1
0
        public async Task <IActionResult> OduncVer(int demirbasNo, int uyeKey)
        {
            OduncVerViewModel model = new OduncVerViewModel()
            {
                DemirbasNo = demirbasNo,
                UyeKey     = uyeKey
            };

            var sonuc = await _uyeServis.OduncVer(model);

            return(Json(sonuc));
        }
예제 #2
0
        public async Task <SonucModel <OduncSonucViewModel> > OduncVer(OduncVerViewModel model)
        {
            var sonuc = new SonucModel <OduncSonucViewModel>
            {
                Tip        = SonucTip.Belirsiz,
                HataMesaji = "Ödünç Verme İşlemi Başarısız"
            };

            var uye = await _uyeRepository.FindAsync(u => u.UyeKey == model.UyeKey);

            if (uye == null)
            {
                sonuc.HataMesaji = "Üye Bulunamadı";
                sonuc.Tip        = SonucTip.Basarisiz;
                return(sonuc);
            }

            var kitap = await _kitapRepository.FindAsync(k => k.DemirbasNo == model.DemirbasNo);

            if (kitap == null)
            {
                sonuc.HataMesaji = "Kitap Bulunamadı";
                sonuc.Tip        = SonucTip.Basarisiz;
                return(sonuc);
            }

            if (kitap.KitapDurumKey == (int)KitapDurum.Okuyucuda)
            {
                sonuc.HataMesaji = "Ödünç Verilmek İstenen Kitap Okuyucuda Bulunmaktadır";
                sonuc.Tip        = SonucTip.Basarisiz;
                return(sonuc);
            }


            KitapOdunc odunc = new KitapOdunc()
            {
                KitapKey        = kitap.KitapKey,
                UyeKey          = uye.UyeKey,
                KitapOduncDurum = (int)KitapDurum.Okuyucuda,
                AlisTarihi      = DateTime.Now
            };

            var kayitSonuc = await _kitapOduncRepository.InsertAsync(odunc);

            if (kayitSonuc > 0)
            {
                var oduncVerilen = _kitapOduncRepository.SelectIncludeMany(k => k.Kitap.Yazar).Where(o => o.KitapKey == kitap.KitapKey).FirstOrDefault();
                kitap.KitapDurumKey = (int)KitapDurum.Okuyucuda;
                var guncellemeSonuc = await _kitapRepository.UpdateAsync(kitap);

                if (guncellemeSonuc > 0)
                {
                    sonuc.HataMesaji = $"{kitap.Ad} kitabı {uye.Ad} {uye.Soyad}'e ödünç verilmiştir";
                    sonuc.Tip        = SonucTip.Basarili;
                    sonuc.Data       = new OduncSonucViewModel()
                    {
                        DemirbasNo = oduncVerilen.Kitap.DemirbasNo,
                        KitapAd    = oduncVerilen.Kitap.Ad,
                        OduncKey   = oduncVerilen.KitapOduncKey,
                        Yazar      = oduncVerilen.Kitap.Yazar.Ad,
                    };

                    return(sonuc);
                }
            }
            return(sonuc);
        }