26 Mart 2016 Cumartesi

E bülten kayıt Form Json

    public class HomeController : Controller
    {
    public JsonResult EbultenKayit(string Eposta, string dil)
        {
            using (var db = new Models.DataBaseDB())
            {
                var sonuc = new EbultenSonucModel();
                if (!string.IsNullOrEmpty(Eposta))
                {

                    var epostaVarmi = db.EBultenler.Count(x => x.Eposta == Eposta) > 0;

                    if (epostaVarmi)
                    {
                        sonuc.Durum = false;

                        if (dil.ToLower() == "en")
                            sonuc.Mesaj = "E-mail address is already available.";
                        else
                            sonuc.Mesaj = "Bu eposta zaten mevcut";

                    }
                    else
                    {

                        if (IsValid(Eposta))
                        {
                            var M = new Models.EBulten();
                            M.Eposta = Eposta;
                            M.GelisTarih = DateTime.Now;
                            M.IpAdres = Request.UserHostAddress;

                            db.EBultenler.Add(M);
                            db.SaveChanges();
                            sonuc.Durum = true;
                            if (dil.ToLower() == "en")
                                sonuc.Mesaj = "Your operation has been successfully completed.";
                            else
                                sonuc.Mesaj = "İşlem başarılı";
                        }
                        else
                        {
                            sonuc.Durum = false;
                            if (dil.ToLower() == "en")
                                sonuc.Mesaj = "Invalid e-mail.";
                            else
                                sonuc.Mesaj = "Geçersiz Eposta." + dil;
                        }
                    }
                }
                else
                {
                    sonuc.Durum = false;
                    if (dil.ToLower() == "en")
                        sonuc.Mesaj = "It is required to fill in e-mail section";
                    else
                        sonuc.Mesaj = "Eposta boş geçilemez";
                }
                return Json(sonuc, JsonRequestBehavior.AllowGet);
            }
        }

        public class EbultenSonucModel
        {
            public string Mesaj { get; set; }
            public bool Durum { get; set; }
        }
        public bool IsValid(string emailaddress)
        {
            try
            {
                MailAddress m = new MailAddress(emailaddress);
                return true;
            }
            catch
            {
                return false;
            }
        }}

namespace ProjeAdi.Models
{

    [Table("EBultenler")]
    public class EBulten
    {
        [Key]
        public int EBultenId { get; set; }

        [Required(ErrorMessage = "Boş Geçilemez")]
        [EmailAddress(ErrorMessage = "Geçerli Bir Eposta Giriniz")]
        public string Eposta { get; set; }

        public DateTime GelisTarih { get; set; }
        public string IpAdres { get; set; }
    }
}

html -------------------------------------
        <form class="form-inline form-newsletter">
                    <div class="form-group">
                        <label for="signUp">E-bülten</label>
                        <input type="text" id="Eposta" class="input-email form-control" placeholder="E-posta adresinizi giriniz">
                        <button type="button" onclick="EbultenSave()" class="btn btn-submit btn-primary"><i class="fa fa-angle-right icon-submit"></i></button>
                        <div class="ebultenmesaj">
                            <div class="alert alert-danger alert-dismissible fade in" role="alert">
                                <button type="button" onclick="EbultenSave()" class="close" data-dismiss="alert" aria-label="Close">
                               
                                </button>
                                <p> </p>
                            </div>
                            <div class="alert alert-success alert-dismissible fade in" role="alert">
                                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                               
                                </button>
                                <p></p>
                            </div>
                        </div>
                    </div><!-- /.form-group -->
                </form><!-- /.form-newsletter -->
html -------------------------------------!
script --------------------------
   <script type="text/javascript">
        $('.ebultenmesaj .alert-success').hide();
        $('.ebultenmesaj .alert-danger').hide();
        function EbultenSave() {
            var url = "/@dil/EbultenKayit";
            var eposta = $('#Eposta').val();
            $.getJSON(url, { Eposta: eposta }, function (data) {
                console.log(data)
                if (data.Durum) {
                    $('.ebultenmesaj .alert-danger').hide();
                    $('.ebultenmesaj .alert-success').show().find('p').html(data.Mesaj);
                    $('#Eposta').val('');
                }
                else {
                    $('.ebultenmesaj .alert-success').hide();
                    $('.ebultenmesaj .alert-danger').show().find('p').html(data.Mesaj);
                }

            });
        }
    </script>