Esempio n. 1
0
        public async Task <SonucModel <YazarKayitViewModel> > YazarKaydetGuncelle(YazarKayitViewModel model)
        {
            var sonuc = new SonucModel <YazarKayitViewModel>
            {
                Tip        = SonucTip.Belirsiz,
                HataMesaji = "Kategori Kaydetme İşlemi Gerçekleştirilmedi."
            };

            if (model.YazarKey > 0)
            {
                var guncellenecekYazar = await _yazarRepository.GetByIdAsync(model.YazarKey);

                guncellenecekYazar.Ad            = model.Ad;
                guncellenecekYazar.YazarHakkinda = model.Hakkinda;
                var guncellemeSonuc = await _yazarRepository.UpdateAsync(guncellenecekYazar);

                if (guncellemeSonuc > 0)
                {
                    sonuc.HataMesaji = $"Yazar Bilgileri Güncellenmiştir.";
                    sonuc.Tip        = SonucTip.Basarili;
                    sonuc.Data       = model;
                    return(sonuc);
                }
            }
            else
            {
                Yazar yazar = new Yazar()
                {
                    Ad            = model.Ad,
                    YazarHakkinda = model.Hakkinda
                };

                var eklemeSonuc = await _yazarRepository.InsertAsync(yazar);

                var eklenenYazar = await _yazarRepository.FindAsync(x => x.Ad == model.Ad);

                if (eklemeSonuc > 0)
                {
                    sonuc.HataMesaji = $"{model.Ad} Yazar Olarak Eklenmiştir.";
                    sonuc.Tip        = SonucTip.Basarili;
                    sonuc.Data       = new YazarKayitViewModel()
                    {
                        YazarKey = eklenenYazar.YazarKey,
                        Ad       = eklenenYazar.Ad,
                        Hakkinda = eklenenYazar.YazarHakkinda
                    };

                    return(sonuc);
                }
            }

            return(sonuc);
        }
        public async Task <SonucModel <KitapKayitViewModel> > KitapKaydetGuncelle(KitapKayitViewModel model)
        {
            var sonuc = new SonucModel <KitapKayitViewModel>
            {
                Tip        = SonucTip.Belirsiz,
                HataMesaji = "Kitap Kaydetme İşlemi Gerçekleştirilmedi."
            };

            var yazar = await _yazarRepository.FindAsync(x => x.Ad == model.Yazar.Ad);

            var yayinevi = await _yayineviRepository.FindAsync(x => x.Ad == model.Yayinevi.Ad);

            // Eğer autocomplete'te olmayan bir yazar veya yayinevi girildiyse ekle.
            if (yazar == null)
            {
                yazar = new Yazar
                {
                    Ad = model.Yazar.Ad
                };
                await _yazarRepository.InsertAsync(yazar);

                yazar = await _yazarRepository.FindAsync(x => x.Ad == model.Yazar.Ad);
            }

            if (yayinevi == null)
            {
                yayinevi = new Yayinevi
                {
                    Ad = model.Yayinevi.Ad
                };
                await _yayineviRepository.InsertAsync(yayinevi);

                yayinevi = await _yayineviRepository.FindAsync(x => x.Ad == model.Yayinevi.Ad);
            }

            if (model.KitapKey > 0)
            {
                var guncellenecekKitap = await _kitapRepository.GetByIdAsync(model.KitapKey);

                guncellenecekKitap.Ad                = model.Ad;
                guncellenecekKitap.Isbn              = model.Isbn;
                guncellenecekKitap.YazarKey          = yazar.YazarKey;
                guncellenecekKitap.YayineviKey       = yayinevi.YayineviKey;
                guncellenecekKitap.KitapHakkindaOzet = model.KitapHakkindaOzet;
                guncellenecekKitap.SayfaSayisi       = Convert.ToInt32(model.SayfaSayisi);
                var guncellemeSonuc = await _kitapRepository.UpdateAsync(guncellenecekKitap);

                if (guncellemeSonuc > 0)
                {
                    sonuc.HataMesaji = $"Kitap Bilgileri Güncellenmiştir.";
                    sonuc.Tip        = SonucTip.Basarili;
                    sonuc.Data       = model;
                    return(sonuc);
                }
            }
            else
            {
                Kitap kitap = new Kitap()
                {
                    Ad                = model.Ad,
                    KitapDurumKey     = (int)KitapDurum.Kutuphanede,
                    Isbn              = model.Isbn,
                    KitapHakkindaOzet = model.KitapHakkindaOzet,
                    SayfaSayisi       = Convert.ToInt32(model.SayfaSayisi),
                    YazarKey          = yazar.YazarKey,
                    YayineviKey       = yayinevi.YayineviKey,
                };

                var eklemeSonuc = await _kitapRepository.InsertAsync(kitap);

                var eklenenKitap = await _kitapRepository.FindAsync(x => x.Ad == model.Ad);

                if (eklemeSonuc > 0)
                {
                    eklenenKitap.DemirbasNo = DemirbasNoUret(eklenenKitap.KitapKey);

                    var eklenenKitabiGuncelle = await _kitapRepository.UpdateAsync(eklenenKitap);

                    if (eklenenKitabiGuncelle > 0)
                    {
                        sonuc.HataMesaji = $"{model.Ad} Kitap Olarak Eklenmiştir.";
                        sonuc.Tip        = SonucTip.Basarili;
                        sonuc.Data       = new KitapKayitViewModel()
                        {
                            KitapKey          = eklenenKitap.KitapKey,
                            Ad                = eklenenKitap.Ad,
                            Isbn              = eklenenKitap.Isbn,
                            SayfaSayisi       = Convert.ToString(eklenenKitap.SayfaSayisi),
                            KitapHakkindaOzet = eklenenKitap.KitapHakkindaOzet,
                            KitapDurumKey     = eklenenKitap.KitapDurumKey
                        };
                    }

                    return(sonuc);
                }
            }

            return(sonuc);
        }