public ActionResult Recover()
        {
            var model = new Recover();

            if (Request.Form["email"] != null)
            {
                model.Email = Request.Form["email"].Trim();
                using (var ctx = new campdata())
                {
                    var regids = (from r in ctx.Registrations
                                  where r.ContactEmail.Trim().Equals(model.Email, StringComparison.InvariantCultureIgnoreCase)
                                  select r.RegistrationId).ToList();
                    model.Registrations = new List <Tuple <int, string> >();
                    foreach (var regid in regids)
                    {
                        var reg = ctx.Registrations.Include("Camps").Include("Campers").FirstOrDefault(r => r.RegistrationId == regid);
                        model.Registrations.Add(new Tuple <int, string>(regid, reg.GetSummary()));
                    }
                }
                if (model.Registrations.Count == 1)
                {
                    Response.Redirect("/register/index/" + model.Registrations[0].Item1);
                }
            }
            return(View(model));
        }
        public ActionResult Save()
        {
            var newreg     = ParseRequest(Request.Form);
            var currentreg = new Registration();
            var model      = new Save();

            using (var ctx = new campdata())
            {
                if (newreg.RegistrationId != 0)
                {
                    currentreg = ctx.Registrations.Find(newreg.RegistrationId);
                    currentreg.Update(newreg, ctx);
                }
                else
                {
                    currentreg = Registration.CreateNew(newreg, ctx);
                    ctx.Registrations.Add(currentreg);
                }
                model.CurrentReg = currentreg;
                ctx.SaveChanges();
            }
            model.Cost = currentreg.Campers.Count * model.CurrentReg.Camps.Count * 450;
            if (model.CurrentReg.Campers.Count > 1 || model.CurrentReg.Camps.Count > 1)
            {
                model.Cost -= 50;
            }
            return(View(model));
        }
Exemple #3
0
 protected List <Camp> GetCamps()
 {
     if (HttpContext.Current.Cache["camps"] == null)
     {
         using (var ctx = new campdata())
         {
             HttpContext.Current.Cache["camps"] = ctx.Camps.ToList();
         }
     }
     return((List <Camp>)HttpContext.Current.Cache["camps"]);
 }
        // GET: Register
        public ActionResult Index(int?id)
        {
            if (id.HasValue && id.Value != 0)
            {
                using (var ctx = new campdata()
                {
                    Configuration = { LazyLoadingEnabled = false }
                })
                {
                    var reg = new Register()
                    {
                        CurrentReg = ctx.Registrations.Include("Campers").Include("Camps").FirstOrDefault(r => r.RegistrationId == id.Value)
                    };
                    return(View(reg));
                }
                //return View(new Register()
                //{
                //  CurrentReg = new Registration()
                //  {
                //    RegistrationId = id.Value,
                //    ContactName = "Todd Gray",
                //    ContactEmail = "*****@*****.**",
                //    ContactPhone = "425-555-1212",
                //    Camps = new List<Camp>()
                //      {
                //        new Camp() { Id="session1", Name = "Session 1", StartDate = DateTime.Now, EndDate=DateTime.Now}
                //      },
                //    Campers = new List<Camper>()
                //      {
                //        new Camper() {Id = 1, Name = "Jasmine Gray", Email = "*****@*****.**", RiderLevel=5}
                //      }
                //  }
                //});
            }

            return(View(new Register()));
        }