예제 #1
0
        public ActionResult Subscribe(FormCollection form)
        {

            var alreadySubscribed = false;
            using (var context = new ContentStorage())
            {

                var subscriber = new Customers {Guid = Guid.NewGuid().ToString()};
                TryUpdateModel(subscriber, new[] { "Name", "Email", "SubscribeType" });

                var email = form["Email"];
                byte subscrType = Convert.ToByte(form["SubscribeType"]);

                var existedEmail = context.Customers.FirstOrDefault(c => c.Email == email && c.SubscribeType == subscrType);
                if (existedEmail == null)
                {
                    context.AddToCustomers(subscriber);
                    context.SaveChanges();
                }
                else
                {
                    alreadySubscribed = true;
                }
            }

            if (!string.IsNullOrEmpty(form["redirectUrl"]) && form["redirectUrl"] == "sbscrList")
                return RedirectToAction("Subscribers", "Subscribe");

            return RedirectToAction(alreadySubscribed ? "AlreadySubscribed" : "ThankYou");
        }