示例#1
0
        public ActionResult Edit(EditEventViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                var context = new CheckInDbContext();
                ViewBag.States = context.States.ToList();
                return(View(viewModel));
            }

            using (var context = new CheckInDbContext())
            {
                var eventDb = context.Events.Include(s => s.Address).FirstOrDefault(x => x.Id == viewModel.Id);
                eventDb.Address.AddressName = viewModel.Address;
                eventDb.Address.StateId     = viewModel.StateId;
                eventDb.Address.CityName    = viewModel.City;
                eventDb.Address.ZipCode     = viewModel.ZipCode;
                eventDb.Date         = Convert.ToDateTime(string.Format("{0},{1}", viewModel.Date, viewModel.Time));
                eventDb.PlaceOfEvent = viewModel.PlaceOfEvent;
                eventDb.Name         = viewModel.NameOfEvent;
                eventDb.ModifiedOn   = DateTime.Now;
                eventDb.Modifiedby   = User.Identity.GetUserId();

                context.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Confirm(IList <GuestViewModel> viewModel)
        {
            //do poprawy
            using (var context = new CheckInDbContext())
            {
                var viewModelIRN = viewModel[0].InvitationRecordNumber;
                var invitations  = context.Invitations.Include(s => s.Guests)
                                   .FirstOrDefault(x => x.InvitationRecordNumber == viewModelIRN);

                foreach (var guestDb in invitations.Guests)
                {
                    foreach (var guestViewModel in viewModel)
                    {
                        if (guestDb.Id == guestViewModel.Id)
                        {
                            guestDb.IsConfirmedMainGuest  = guestViewModel.IsConfirmedMainGuest;
                            guestDb.IsConfirmedExtraGuest = guestViewModel.IsConfirmedExtraGuest;
                        }
                    }
                }

                context.SaveChanges();
            }
            return(RedirectToAction("Index", "Home"));
        }
示例#3
0
        // GET: Invitations
        public ActionResult Index()
        {
            var context = new CheckInDbContext();

            var allInvitations = context.InvitationCards.Include(s => s.InvitationImage).ToList();

            return(View(allInvitations));
        }
示例#4
0
        // GET: MyEvents
        public ActionResult Index()
        {
            var context  = new CheckInDbContext();
            var myEvents = context.Events.Include("Address").ToList <Event>();



            return(View(myEvents));
        }
示例#5
0
        public ActionResult AddEvent()
        {
            AddEventViewModel addEvent = new AddEventViewModel();
            CheckInDbContext  context  = new CheckInDbContext();

            ViewBag.States     = context.States.ToList();
            ViewBag.EventTypes = context.EventTypes.OrderBy(s => s.EventTypeName).ToList();

            return(View(addEvent));
        }
示例#6
0
        // GET: AddEvent
        public ActionResult Index()
        {
            var context     = new CheckInDbContext();
            var currentUser = User.Identity.GetUserId();
            var events      = context.Events.Include(s => s.Address).Where(s => s.CreatedBy == currentUser && s.IsActive == true)
                              .ToList();

            events.ForEach(s => s.Invitations = s.Invitations.Where(x => x.IsActive == true).ToList());
            return(View(events));
        }
示例#7
0
 public void DeleteInvitation(int id)
 {
     using (var context = new CheckInDbContext()){
         var customer = context.Invitations.FirstOrDefault(s => s.Id == id);
         customer.IsActive   = false;
         customer.Modifiedby = User.Identity.GetUserId();
         customer.ModifiedOn = DateTime.Now;
         context.SaveChanges();
     }
 }
示例#8
0
        public ActionResult AddInvitation(int eventId)
        {
            var context = new CheckInDbContext();

            ViewBag.States = context.States.ToList();
            var newInviation = new AddGuestViewModel();

            newInviation.EventId = eventId;
            return(View(newInviation));
        }
示例#9
0
 public void DeleteEvent(int id)
 {
     using (var contex = new CheckInDbContext())
     {
         var currentEvent = contex.Events.FirstOrDefault(s => s.Id == id);
         currentEvent.IsActive   = false;
         currentEvent.ModifiedOn = DateTime.Now;
         currentEvent.Modifiedby = User.Identity.GetUserId();
         contex.SaveChanges();
     }
 }
示例#10
0
        public ActionResult _InvitationPartial(int id)
        {
            var context    = new CheckInDbContext();
            var invitation = context
                             .Invitations
                             .Include(x => x.Address)
                             .Include(x => x.Guests)
                             .FirstOrDefault(x => x.Id == id);

            invitation.Guests.Select(x => x.IsActive == true);

            return(PartialView(invitation));
        }
示例#11
0
        public ActionResult Paging(int id = 1, string filterBy = "")
        {
            var pageNumber      = id;
            var skipIndex       = (pageNumber * 9) - 9;
            var context         = new CheckInDbContext();
            var invitationCards = context.InvitationCards.Include(s => s.InvitationImage).ToList();

            //Filtering Invitaions
            switch (filterBy)
            {
            case "All":
                break;

            case "Weeding":
                invitationCards = invitationCards.Where(s => s.EventType.EventTypeName == "Weeding").ToList();
                break;

            case "BabyShower":
                invitationCards = invitationCards.Where(s => s.EventType.EventTypeName == "Baby Shower").ToList();
                break;

            case "BridalShower":
                invitationCards = invitationCards.Where(s => s.EventType.EventTypeName == "Bridal Shower").ToList();
                break;
            }
            //Number of Pages
            var numberOfPages = ((int)(invitationCards.Count / 9));

            if (numberOfPages % 9 != 0)
            {
                numberOfPages++;
            }
            ViewBag.NumberOfPages = numberOfPages;

            // Calculating TakIndex
            var takeIndex = 0;

            if (invitationCards.Count < pageNumber * 9)
            {
                takeIndex = invitationCards.Count - (pageNumber * 9);
            }
            takeIndex = 9;

            invitationCards = invitationCards.Skip(skipIndex).Take(takeIndex).ToList();

            //Filter By To Keep Value
            ViewBag.FilterBy    = filterBy;
            ViewBag.CurrentPage = id;
            return(PartialView(invitationCards));
        }
示例#12
0
        public ActionResult AddInvatition(AddGuestViewModel viewModel)
        {
            var modelContext = new CheckInDbContext();

            if (!ModelState.IsValid)
            {
                ViewBag.States = modelContext.States.ToList();
                return(View("AddInvitation"));
            }

            using (var context = new CheckInDbContext())
            {
                string invitationNumber;

                do
                {
                    invitationNumber = InivationNumberGenerator.InvitationNumber();
                } while (context.InvitationNumbersLists.Any(x => x.InvitationNumber == invitationNumber));


                var newInvitation = new Invitation()
                {
                    CreatedBy  = User.Identity.GetUserId(),
                    Modifiedby = User.Identity.GetUserId(),
                    CreatedOn  = DateTime.Now,
                    ModifiedOn = DateTime.Now,
                    GroupName  = viewModel.GroupName,
                    Address    = new Address()
                    {
                        AddressName = viewModel.Address,
                        CityName    = viewModel.City,
                        StateId     = viewModel.StateId,
                        ZipCode     = viewModel.ZipCode
                    },
                    Guests   = viewModel.Guest.ToList(),
                    EventId  = viewModel.EventId,
                    IsActive = true,
                    InvitationRecordNumber = invitationNumber,
                };
                context.Invitations.Add(newInvitation);
                InvitationNumbersList newNumber = new InvitationNumbersList {
                    InvitationNumber = invitationNumber
                };
                context.InvitationNumbersLists.Add(newNumber);
                context.SaveChanges();
            }

            return(RedirectToAction("Index", new { eventId = viewModel.EventId }));
        }
示例#13
0
        // GET: AddGuest
        public ActionResult Index(int?eventId)
        {
            var context = new CheckInDbContext();
            //var allInvitations = context.Invitations.Include("Address").ToList();

            var invitation = context.Invitations.Where(x => x.IsActive && x.EventId == eventId).ToList();

            invitation.ForEach(x =>
            {
                x.Guests = x.Guests.Where(g => g.IsActive).ToList();
            });
            ViewBag.EventId = eventId;
            ViewBag.States  = context.States.ToList();

            return(View(invitation));
        }
        public ActionResult _FindInvitation(int id, string lastName = "")
        {
            var contex = new CheckInDbContext();

            var invitation = contex.Invitations.Include(x => x.Guests)
                             .FirstOrDefault(s => s.InvitationRecordNumber == id.ToString());

            if (invitation == null)
            {
                return(Content("Wrong Number"));
            }

            IList <GuestViewModel> guests = new List <GuestViewModel>();

            var lastNameMatches = 0;

            foreach (var guest in invitation.Guests)
            {
                if (guest.IsActive == true)
                {
                    if (guest.LastName.ToLower() == lastName.ToLower())
                    {
                        lastNameMatches++;
                    }
                    GuestViewModel tempGuest = new GuestViewModel
                    {
                        Id = guest.Id,
                        IsConfirmedMainGuest  = guest.IsConfirmedMainGuest,
                        IsConfirmedExtraGuest = guest.IsConfirmedExtraGuest,
                        IsExtraGuest          = guest.IsExtraGuest,
                        FirstName             = guest.FirstName,
                        LastName               = guest.LastName,
                        GuestFirstName         = guest.ExtraGuestFirstName,
                        GuestLastName          = guest.ExtraGuestLastName,
                        InvitationRecordNumber = id.ToString()
                    };
                    guests.Add(tempGuest);
                }
            }

            if (lastNameMatches == 0)
            {
                return(Content("Last Name and Invitation Number does not match"));
            }
            return(PartialView(guests));
        }
示例#15
0
        public ActionResult Edit(int id)
        {
            var context    = new CheckInDbContext();
            var invitation = context.Invitations.Include("Address").Where(s => s.Id == id).FirstOrDefault <Invitation>();
            var viewModel  = new EditGuestViewModel()
            {
                Id        = invitation.Id,
                GroupName = invitation.GroupName,
                Address   = invitation.Address.AddressName,
                City      = invitation.Address.CityName,
                StateId   = invitation.Address.StateId,
                ZipCode   = invitation.Address.ZipCode,
                Guest     = invitation.Guests
            };

            ViewBag.States = context.States.ToList();

            return(View(viewModel));
        }
示例#16
0
        public ActionResult AddEvent(AddEventViewModel viewModel)
        {
            AddEventViewModel addEvent     = new AddEventViewModel();
            CheckInDbContext  contextModel = new CheckInDbContext();

            if (!ModelState.IsValid)
            {
                ViewBag.States     = (from o in contextModel.States select o).ToList();
                ViewBag.EventTypes = (from o in contextModel.EventTypes select o).ToList();

                return(View("AddEvent", addEvent));
            }
            using (var context = new CheckInDbContext())
            {
                var newEvent = new Event
                {
                    CreatedBy    = User.Identity.GetUserId(),
                    Modifiedby   = User.Identity.GetUserId(),
                    CreatedOn    = DateTime.Now,
                    ModifiedOn   = DateTime.Now,
                    Name         = viewModel.NameOfEvent,
                    Date         = Convert.ToDateTime(string.Format("{0},{1}", viewModel.Date, viewModel.Time)),
                    PlaceOfEvent = viewModel.PlaceOfEvent,
                    EventTypeId  = viewModel.EventTypeId,
                    IsActive     = true,
                    Address      = new Address()
                    {
                        AddressName = viewModel.Address,
                        ZipCode     = viewModel.ZipCode,
                        CityName    = viewModel.City,
                        StateId     = viewModel.StateId
                    }
                };
                context.Events.Add(newEvent);
                context.SaveChanges();
            }


            return(RedirectToAction("Index"));
        }
示例#17
0
        public ActionResult Edit(EditGuestViewModel viewModel)
        {
            var contex = new CheckInDbContext();

            if (!ModelState.IsValid)
            {
                ViewBag.States = contex.States.ToList();
                return(View(viewModel));
            }
            // To Do I have to
            using (var context = new CheckInDbContext())
            {
                var invitation = context.Invitations.Where(s => s.Id == viewModel.Id)
                                 .FirstOrDefault();
                var temp = invitation.Guests.Count - 1 < viewModel.Guest.Count;

                if (invitation.Guests.Count - 1 < viewModel.Guest.Count)
                {
                    invitation.Guests.AddRange(viewModel.Guest.Skip(Convert.ToInt32(invitation.Guests.Count)));
                }

                invitation.GroupName           = viewModel.GroupName;
                invitation.Address.AddressName = viewModel.Address;
                invitation.Address.CityName    = viewModel.City;
                invitation.Address.StateId     = viewModel.StateId;

                for (int i = 0; i < viewModel.Guest.Count; i++)
                {
                    invitation.Guests[i].FirstName    = viewModel.Guest[i].FirstName;
                    invitation.Guests[i].LastName     = viewModel.Guest[i].LastName;
                    invitation.Guests[i].IsActive     = viewModel.Guest[i].IsActive;
                    invitation.Guests[i].IsExtraGuest = viewModel.Guest[i].IsExtraGuest;
                }

                context.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
示例#18
0
        public ActionResult Edit(int id)
        {
            var context   = new CheckInDbContext();
            var eventDB   = context.Events.Include(s => s.Address).SingleOrDefault(s => s.Id == id);
            var viewModel = new EditEventViewModel
            {
                Id           = eventDB.Id,
                Address      = eventDB.Address.AddressName,
                City         = eventDB.Address.CityName,
                Date         = eventDB.Date.ToLongDateString(),
                Time         = eventDB.Date.ToLongTimeString(),
                EventTypeId  = eventDB.EventTypeId,
                NameOfEvent  = eventDB.Name,
                PlaceOfEvent = eventDB.PlaceOfEvent,
                StateId      = eventDB.Address.StateId,
                ZipCode      = eventDB.Address.ZipCode
            };

            ViewBag.States = context.States.ToList();
            ViewBag.Events = context.Events.ToList();

            return(View(viewModel));
        }
示例#19
0
        public ActionResult ListOfGuests(int id)
        {
            var contex = new CheckInDbContext();

            var listOfInvitations = contex.Invitations
                                    .Where(s => s.EventId == id && s.IsActive == true)
                                    .ToList();
            IList <Guest> Guests = new List <Guest>();

            foreach (var invitaion in listOfInvitations)
            {
                foreach (var guest in invitaion.Guests)
                {
                    if (guest.IsActive == true)
                    {
                        Guests.Add(guest);
                    }
                }
            }


            return(View(Guests));
        }