Пример #1
0
        public async Task <IActionResult> Edit(long id, [Bind("RsvpId,DinnerId,UserName")] Rsvp rsvp)
        {
            if (id != rsvp.RsvpId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(rsvp);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RsvpExists(rsvp.RsvpId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DinnerId"] = new SelectList(_context.Dinners, "DinnerId", "Address", rsvp.DinnerId);
            return(View(rsvp));
        }
Пример #2
0
        public IActionResult ToggleRsvp(int id)
        {
            User user = HttpContext.Session.Get <User>("user");

            if (user == null)
            {
                return(RedirectToAction("Login", "User"));
            }
            Rsvp rsvp = _db.Rsvps
                        .SingleOrDefault(r => r.UserId == user.UserId && r.WeddingId == id);

            if (rsvp == null)
            {
                Rsvp newRsvp = new Rsvp();
                newRsvp.UserId    = user.UserId;
                newRsvp.WeddingId = id;
                _db.Add(newRsvp);
            }
            else
            {
                _db.Remove(rsvp);
            }
            _db.SaveChanges();
            return(RedirectToAction("Weddings"));
        }
Пример #3
0
        public async Task <IActionResult> PostNewRsvp([FromBody] Rsvp rsvp)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values));
            }

            var exists = await ExistsAsync(rsvp.RsvpId);

            if (exists)
            {
                return(BadRequest(ErrorMessageContracts.IdConflict));
            }

            try
            {
                await _context.AddAsync(rsvp);

                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }

            return(CreatedAtAction(nameof(PostNewRsvp), rsvp.RsvpId));
        }
Пример #4
0
        public IActionResult Rsvp(int ventureId, int userId, string status)
        {
            User userInDb = LoggedIn();

            if (userInDb == null)
            {
                return(RedirectToAction("LogOut", "Home"));
            }
            if (status == "rsvp")
            {
                Rsvp going = new Rsvp();
                going.UserId    = userId;
                going.VentureId = ventureId;
                dbContext.Rsvps.Add(going);
                dbContext.SaveChanges();
            }
            else if (status == "backout")
            {
                Rsvp backout = dbContext.Rsvps.FirstOrDefault(r => r.VentureId == ventureId && r.UserId == userId);
                dbContext.Rsvps.Remove(backout);
                dbContext.SaveChanges();
            }
            else
            {
                return(RedirectToAction("Dashboard"));
            }
            return(RedirectToAction("Dashboard"));
        }
        public IActionResult JointWedding(int WeddingId)
        {
            if (HttpContext.Session.GetInt32("user_id") == null)
            {
                return(RedirectToAction("Login"));
            }
            //*** Retrive the user with all his tables
            User user = dbContext.Users.Include(u => u.Rsvps)
                        .ThenInclude(r => r.Wedding)
                        .FirstOrDefault(u => u.UserId == (int)HttpContext.Session.GetInt32("user_id"));

            //*** retrive the wedding with every table
            Wedding wedding = dbContext.Weddings.Include(w => w.Rsvps)
                              .ThenInclude(r => r.User).FirstOrDefault(w => w.WeddingId == WeddingId);

            //***Build RSVP and then import it in  the DB :)
            Rsvp newRVSP = new Rsvp
            {
                UserId    = user.UserId,
                User      = user,
                WeddingId = wedding.WeddingId,
                Wedding   = wedding,
                CreatedAt = DateTime.Now,
                UpdatedAt = DateTime.Now
            };

            //*** Now we have the newRsvp and is time to put it in DB
            dbContext.Add(newRVSP);
            dbContext.SaveChanges();
            return(RedirectToAction("Dashbord"));
        }
Пример #6
0
        public IActionResult AddRsvp(int id)
        {
            // if(HttpContext.Session.GetInt32("CurrentUser")== null)
            // {
            //     return RedirectToAction("index", "Home");
            // }
            int?    UserId         = HttpContext.Session.GetInt32("CurrentUser");
            Wedding CurrentWedding = dbContext.weddings
                                     .Include(wh => wh.Attendees)
                                     .ThenInclude(g => g.user)
                                     .FirstOrDefault(w => w.WeddingId == id);
            User CurrentUser   = dbContext.Users.FirstOrDefault(i => i.UserId == UserId);
            Rsvp WantingToRsvp = dbContext.Rsvping.Where(w => w.WeddingId == id && w.UserId == CurrentUser.UserId)
                                 .FirstOrDefault();

            if (WantingToRsvp != null)
            {
                CurrentWedding.Attendees.Remove(WantingToRsvp);
            }
            else
            {
                Rsvp NewRsvp = new Rsvp();
                {
                    NewRsvp.UserId    = (int)UserId;
                    NewRsvp.WeddingId = id;
                }
                CurrentWedding.Attendees.Add(NewRsvp);
            }
            dbContext.SaveChanges();
            return(Redirect($"/ShowWeddingDetail/{id}"));
        }
Пример #7
0
        public IActionResult postactivity(ActivityCenter.Models.Activity activity)
        {
            activity.UserId  = HttpContext.Session.GetInt32("User").GetValueOrDefault();
            activity.Planner = dbContext.Users.FirstOrDefault(user => user.UserId == HttpContext.Session.GetInt32("User"));
            if (ModelState.IsValid)
            {
                DateTime combined = activity.Datetime.Add(activity.time);
                System.Console.WriteLine(combined);
                if (combined < DateTime.Now)
                {
                    ModelState.AddModelError("Datetime", "Date and Time must be in the future");
                    return(View("addactivity"));
                }


                dbContext.Add(activity);
                dbContext.SaveChanges();

                ViewBag.UserId = HttpContext.Session.GetInt32("User");

                Rsvp thisrsvp = new Rsvp
                {
                    UserId     = ViewBag.UserId,
                    ActivityId = activity.ActivityId
                };
                dbContext.Add(thisrsvp);
                dbContext.SaveChanges();
                return(RedirectToAction("home"));
            }
            else
            {
                System.Console.WriteLine("Return to Create");
                return(View("addactivity"));
            }
        }
Пример #8
0
        private static void SendEmail(Rsvp rsvp)
        {
            using (var message = new MailMessage())
            {
                message.To.Add(new MailAddress(ConfigurationManager.AppSettings["RsvpEmailRecipient"]));
                message.From    = new MailAddress(ConfigurationManager.AppSettings["RsvpEmailSender"]);
                message.Subject = "RSVP received from " + rsvp.GuestName;

                var sb = new StringBuilder();
                sb.AppendLine(String.Format("ID: {0}", rsvp.Id));
                sb.AppendLine(String.Format("Received on {0:d} {0:t}", rsvp.ReceivedOn));
                sb.AppendLine(rsvp.Accepted ? "Accepted" : "Declined");
                sb.AppendLine(String.Format("Guest name: {0}", rsvp.GuestName));
                sb.AppendLine(String.Format("Additional Guest(s): {0}", rsvp.AdditionalGuestNames));
                sb.AppendLine(String.Format("Song request: {0}", rsvp.SongRequest));
                sb.AppendLine(String.Format("Comments or questions: {0}", rsvp.Comments));
                message.Body = sb.ToString();

                using (var smtp = new SmtpClient())
                {
                    smtp.Host        = ConfigurationManager.AppSettings["SmtpServer"];
                    smtp.Port        = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]);
                    smtp.EnableSsl   = (ConfigurationManager.AppSettings["SmtpUseSSL"] == "true");
                    smtp.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["SmtpUsername"],
                                                             ConfigurationManager.AppSettings["SmtpPassword"]);

                    smtp.Send(message);
                }
            }
        }
Пример #9
0
        public PartialViewResult Rsvp(RsvpViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var context = new OurWeddingContext())
                {
                    var rsvp = new Rsvp
                    {
                        Accepted             = model.Accepted == "Yes" ? true : false,
                        GuestName            = model.GuestName,
                        AdditionalGuestNames = model.AdditionalGuestNames,
                        SongRequest          = model.SongRequest,
                        Comments             = model.Comments,
                        ReceivedOn           = DateTimeOffset.UtcNow
                    };
                    context.Rsvps.Add(rsvp);
                    context.SaveChanges();

                    SendEmail(rsvp);

                    return(new PartialViewResult {
                        ViewName = "RsvpSuccess"
                    });
                }
            }

            return(new PartialViewResult {
                ViewName = "RsvpError"
            });
        }
Пример #10
0
        public Rsvp CreateRsvp(long dinnerId, string userName)
        {
            Rsvp rsvp = null;

            var dinner = GetDinner(dinnerId);

            if (dinner != null)
            {
                if (dinner.IsUserRegistered(userName))
                {
                    rsvp = dinner.Rsvps.SingleOrDefault(r => string.Equals(r.UserName, userName, StringComparison.OrdinalIgnoreCase));
                }
                else
                {
                    rsvp = new Rsvp
                    {
                        UserName = userName
                    };

                    dinner.Rsvps.Add(rsvp);
                    _context.Add(rsvp);
                    _context.SaveChanges();
                }
            }

            return(rsvp);
        }
Пример #11
0
        public Rsvp Create(Rsvp rsvp)
        {
            // validation
            if (string.IsNullOrWhiteSpace(rsvp.Email))
            {
                throw new AppException("Email is required");
            }

            Rsvp existing = GetByEmailAndECardId(rsvp.Email, rsvp.Id_EcardDetail);

            if (existing == null)
            {
                // check if local is not null
                if (existing != null)                 // I'm using a extension method
                {
                    // detach
                    _context.Entry(existing).State = EntityState.Detached;
                }

                _context.Rsvp.Add(rsvp);
                _context.SaveChanges();
            }
            else
            {
                Update(rsvp);
            }

            return(rsvp);
        }
Пример #12
0
 public IActionResult RSVP(int weddingId, int userId, string status)
 {
     if (HttpContext.Session.GetString("UserEmail") == null)
     {
         return(RedirectToAction("LogOut", "Home"));
     }
     else
     {
         if (status == "add")
         {
             Rsvp response = new Rsvp();
             response.UserId    = userId;
             response.WeddingId = weddingId;
             dbContext.Rsvps.Add(response);
             dbContext.SaveChanges();
         }
         if (status == "remove")
         {
             Rsvp remove = dbContext.Rsvps.FirstOrDefault(r => r.WeddingId == weddingId && r.UserId == userId);
             dbContext.Rsvps.Remove(remove);
             dbContext.SaveChanges();
         }
         return(RedirectToAction("Dashboard"));
     }
 }
Пример #13
0
 public IActionResult RSVP(int weddingId, string status)
 {
     if (HttpContext.Session.GetInt32("UserId") == null)
     {
         return(RedirectToAction("Logout", "Home"));
     }
     else
     {
         User userInDb = dbContext.Users.FirstOrDefault(u => u.UserId == HttpContext.Session.GetInt32("UserId"));
         if (status == "add")
         {
             Rsvp newRsvp = new Rsvp();
             newRsvp.WeddingId = weddingId;
             newRsvp.UserId    = userInDb.UserId;
             dbContext.Rsvps.Add(newRsvp);
             dbContext.SaveChanges();
         }
         else if (status == "remove")
         {
             Rsvp delete = dbContext.Rsvps.FirstOrDefault(r => r.UserId == userInDb.UserId && r.WeddingId == weddingId);
             dbContext.Rsvps.Remove(delete);
             dbContext.SaveChanges();
         }
         return(RedirectToAction("Dashboard"));
     }
 }
Пример #14
0
        public async Task <IActionResult> UpdateRsvp(int id, [FromBody] Rsvp rsvp)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values));
            }

            var exists = await ExistsAsync(id);

            if (exists)
            {
                return(BadRequest(ErrorMessageContracts.IdConflict));
            }

            if (id != rsvp.RsvpId)
            {
                return(BadRequest(ErrorMessageContracts.MismatchedId));
            }

            try
            {
                _context.Entry(rsvp).State = EntityState.Modified;
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }

            return(NoContent());
        }
Пример #15
0
        public IActionResult Rsvp(int userId, bool IsRsvp, int wedId)
        {
            Rsvp newRsvp = new Rsvp()
            {
                UserId    = userId,
                WeddingId = wedId,
                IsRsvp    = IsRsvp
            };

            Rsvp existingRsvp = dbContext.Rsvps.FirstOrDefault(r => r.WeddingId == wedId && r.UserId == userId);

            if (existingRsvp == null)
            {
                dbContext.Rsvps.Add(newRsvp);
                dbContext.SaveChanges();
            }
            else
            {
                if (existingRsvp.IsRsvp != IsRsvp)
                {
                    existingRsvp.IsRsvp    = IsRsvp;
                    existingRsvp.UpdatedAt = DateTime.Now;
                    dbContext.Rsvps.Update(existingRsvp);
                    dbContext.SaveChanges();
                }
            }

            return(RedirectToAction("Dashboard"));
        }
        public IActionResult Reservation(int weddingId, int userId, string status)
        {
            User userInDb = UserWithRsvps();

            if (userInDb == null)
            {
                return(RedirectToAction("Logout", "Home"));
            }
            if (status == "rsvp")
            {
                Rsvp going = new Rsvp();
                going.UserId    = userId;
                going.WeddingId = weddingId;
                dbContext.Rsvps.Add(going);
                dbContext.SaveChanges();
            }
            else if (status == "unrsvp")
            {
                Rsvp backout = dbContext.Rsvps.FirstOrDefault(r => r.WeddingId == weddingId && r.UserId == userId);
                dbContext.Rsvps.Remove(backout);
                dbContext.SaveChanges();
            }
            else
            {
                return(RedirectToAction("Logout", "Home"));
            }
            return(RedirectToAction("Index"));
        }
        public virtual async Task <Rsvp> CreateRsvpAsync(Dinner dinner, string userName)
        {
            Rsvp rsvp = null;

            if (dinner != null)
            {
                if (dinner.IsUserRegistered(userName))
                {
                    rsvp = dinner.Rsvps.SingleOrDefault(r => string.Equals(r.UserName, userName, StringComparison.OrdinalIgnoreCase));
                }
                else
                {
                    rsvp = new Rsvp
                    {
                        UserName = userName
                    };

                    dinner.Rsvps.Add(rsvp);
                    _database.Add(rsvp);
                    await _database.SaveChangesAsync();
                }
            }

            return(rsvp);
        }
Пример #18
0
        public IActionResult UnRsvp(int W_Id)
        {
            Rsvp rsvp = _context.rsvps.Where(r => r.weddingid == W_Id).Where(r => r.userid == (int)HttpContext.Session.GetInt32("Id")).ToList().First();

            _context.rsvps.Remove(rsvp);
            _context.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
Пример #19
0
        public ActionResult DeleteConfirmed(int id)
        {
            Rsvp rsvp = _db.Rsvp.Find(id);

            _db.Rsvp.Remove(rsvp);
            _db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #20
0
        public IActionResult rsvplist(int activityId)
        {
            int  id       = (HttpContext.Session.GetInt32("User")).GetValueOrDefault();
            Rsvp thisrsvp = dbContext.Rsvps.SingleOrDefault(rsvp => rsvp.ActivityId == activityId && rsvp.UserId == id);

            dbContext.Rsvps.Remove(thisrsvp);
            dbContext.SaveChanges();
            return(RedirectToAction("home"));
        }
Пример #21
0
        public HttpResponseMessage PutRSVP(Rsvp rsvp)
        {
            rsvp.IpAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            rsvp.Date      = DateTime.UtcNow;

            _repo.Rsvp(rsvp);

            return(Request.CreateResponse(HttpStatusCode.NoContent));
        }
Пример #22
0
        public IActionResult DeleteRsvp(int id)
        {
            List <Rsvp> canceled = dbContext.Rsvps.Where(a => a.WeddingId == id).ToList();
            Rsvp        first    = canceled.FirstOrDefault(a => a.UserId == HttpContext.Session.GetInt32("userInSession"));

            dbContext.Remove(first);
            dbContext.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
Пример #23
0
        public IActionResult rsvp(int wedding)
        {
            int  ID      = (int)HttpContext.Session.GetInt32("Id");
            Rsvp newRSVP = new Rsvp(ID, wedding);

            dbContext.Add(newRSVP);
            dbContext.SaveChanges();
            return(RedirectToAction("Registry"));
        }
Пример #24
0
        public IActionResult unrsvp(int wedding)
        {
            int  ID       = (int)HttpContext.Session.GetInt32("Id");
            Rsvp targeted = dbContext.Rsvps.Where(r => r.UserId == ID && r.WeddingId == wedding).FirstOrDefault();

            dbContext.Rsvps.Remove(targeted);
            dbContext.SaveChanges();
            return(RedirectToAction("Registry"));
        }
Пример #25
0
        // GET: Rsvp/Create
        public IActionResult Create(long id)
        {
            Rsvp rsvp = new Rsvp {
                DinnerId = id, UserName = _userManager.GetUserName(User)
            };

            _context.Add(rsvp);
            _context.SaveChanges();
            return(View(rsvp));
        }
Пример #26
0
        public void Delete(int id)
        {
            Rsvp rsvp1 = _context.Rsvp.Find(id);

            if (rsvp1 != null)
            {
                _context.Rsvp.Remove(rsvp1);
                _context.SaveChanges();
            }
        }
Пример #27
0
        public IActionResult Leave(int num)
        {
            int?uid = HttpContext.Session.GetInt32("userid");

            Rsvp removing = _context.RSVPs.SingleOrDefault(rs => rs.WeddingId == num && rs.UserId == uid);

            _context.RSVPs.Remove(removing);
            _context.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
Пример #28
0
 public ActionResult Edit(Rsvp rsvp)
 {
     if (ModelState.IsValid)
     {
         _db.Entry(rsvp).State = EntityState.Modified;
         _db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(rsvp));
 }
Пример #29
0
        public ActionResult <Rsvp> Create(Rsvp r)
        {
            AthenaDataLayer data = new AthenaDataLayer();

            System.Diagnostics.Debug.WriteLine(r.ToString());

            data.RSVP_Function(r);

            return(CreatedAtAction(nameof(GetRSVPS_ById), new { id = r.R_id }, r));
        }
Пример #30
0
        public IActionResult Rsvp(int W_Id)
        {
            Rsvp rsvp = new Rsvp();

            rsvp.Attending = 1;
            rsvp.userid    = (int)HttpContext.Session.GetInt32("Id");
            rsvp.weddingid = W_Id;
            _context.rsvps.Add(rsvp);
            _context.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }