public ActionResult Edit(Buy buy)
 {
     try
     {
         _buyService.Update(new  Buy
         {
             //TODO:Alanlar buraya yazılacak Id alanı en altta olacak unutmayın!!!
             //Örn:BrandName = brand.BrandName,
             //BrandId = brand.BrandId
             BuyId = buy.BuyId
         });
         SuccessNotification("Kayıt Güncellendi");
         return(RedirectToAction("BuyIndex"));
     }
     catch
     {
         return(View());
     }
 }
        public ActionResult Edit(BuyViewModel buy)
        {
            var brand    = _giftQueryableRepository.Table.AsNoTracking().FirstOrDefault(x => x.GiftId == buy.GiftId);
            var userMail = _userQueryableRepository.Table.AsNoTracking().FirstOrDefault(x => x.UserId == buy.UserId);

            if (!ModelState.IsValid)
            {
                ErrorNotification("Bir Hata Oluştu");
                return(RedirectToAction("BuyIndex"));
            }
            try
            {
                if (buy.BuyState == BuyState.IncelemeBekliyor)
                {
                    ErrorNotification("Hediye Talebini İnceleme Bekliyor Durumunda Bıraktınız! Başka Bir İşlem Yapmak İster misiniz?");
                    return(RedirectToAction("BuyIndex"));
                }

                if (buy.BuyState == BuyState.HediyeKarsilanamiyor)
                {
                    // TODO: Add update logic here
                    _buyService.Update(new Buy
                    {
                        UserId          = buy.UserId,
                        ApprovedDate    = DateTime.Now,
                        BuyAmount       = buy.BuyAmount,
                        BuyDate         = buy.BuyDate,
                        EditUserId      = Convert.ToInt32(GeneralHelpers.GetUserId()),
                        GiftId          = buy.GiftId,
                        IsApproved      = false,
                        BuyState        = buy.BuyState,
                        NotApproved     = true,
                        NotApprovedDate = DateTime.Now,
                        BrandId         = brand.BrandId,
                        Reason          = "Hediye İsteği Firmadan Karşılanamıyor.Puanlar iade Edildi.",
                        BuyId           = buy.BuyId
                    });

                    var mailEnable = System.Configuration.ConfigurationManager.AppSettings["MailEnable"];
                    if (mailEnable == "true")
                    {
                        var mail = MailHelper.SendMail($"Hediye İsteğiniz Karşılanamıyor, Harcadığınız Puanların İadesi Gerçekleştirildi.<br/>Durum için gerçekten çok üzgünüz. Lütfen bayipuan.com üzerinde takip ediniz.", $"{userMail.Email}", "Hediye İsteğinizle İlgili Üzücü Bir Gelişme Oldu!", true);
                        if (mail)
                        {
                            SuccessNotification("Mail Gönderildi");
                        }
                        else
                        {
                            ErrorNotification("Mail Gönderilemedi!");
                        }
                    }


                    ErrorNotification("Hediye Talebi Karşılanamıyor. Talep Reddedildi!!! <br/> Harcanan Puanların İadesi Gerçekleştirildi.");
                    return(RedirectToAction("BuyIndex"));
                }
                _buyService.Update(new Buy
                {
                    UserId       = buy.UserId,
                    ApprovedDate = DateTime.Now,
                    BuyAmount    = buy.BuyAmount,
                    BuyDate      = buy.BuyDate,
                    EditUserId   = Convert.ToInt32(GeneralHelpers.GetUserId()),
                    GiftId       = buy.GiftId,
                    IsApproved   = true,
                    BuyState     = buy.BuyState,
                    BrandId      = brand.BrandId,
                    BuyId        = buy.BuyId
                });
                var mailEnablex = System.Configuration.ConfigurationManager.AppSettings["MailEnable"];
                if (mailEnablex == "true")
                {
                    var Onaymail =
                        MailHelper.SendMail($"Tebrikler Hediye İsteğiniz Onaylandı. Lütfen bayipuan.com üzerinde takip ediniz.",
                                            $"{userMail.Email}", "Tebrikler Hediye İsteğiniz Onaylandı!", true);
                    if (Onaymail)
                    {
                        SuccessNotification("Mail Gönderildi");
                    }
                    else
                    {
                        ErrorNotification("Mail Gönderilemedi!");
                    }
                }

                SuccessNotification("Seçilen Hediye Onaylandı.");
                return(RedirectToAction("BuyIndex"));
            }
            catch (Exception ex)
            {
                return(View(ex.ToString()));
            }
        }