public bool AddLikeToPost(Post post, Guest guest)
        {
            if (_likes.Any(x => x.Key == post.ID && x.Value == guest.ID)) return false;

            _likes.Add(new KeyValuePair<int, int>(post.ID, guest.ID));
            return true;
        }
Exemplo n.º 2
0
 public SearchByTag(Guest user, Event ev)
 {
     InitializeComponent();
     _user = user;
     _event = ev;
     _logic = new PostLogic();
 }
Exemplo n.º 3
0
 public TimeLine(Guest user, Event ev)
 {
     InitializeComponent();
     _user = user;
     _event = ev;
     _logic = new PostLogic();
     _reportContext = new ReportOracleContext();
 }
Exemplo n.º 4
0
 public Form1(User user)
 {
     InitializeComponent();
     _logicGuest = new GuestOracleContext();
     _ev = new Event(1, "ICT4Events", new DateTime(2015, 10, 09), new DateTime(2015, 10, 15), "IdontKnowYet", "IdontKnowYet", 100);
     _user = user;
     _guest = _logicGuest.GetById(user.ID);
 }
        private void btnRegister_Click(object sender, EventArgs e)
        {
            if (_locationGuestCount + 1 > _location.Capacity)
            {
                throw new InvalidEventRegistrationException("De capaciteit van deze locatie is overschreden. Selecteer een andere locatie.");
            }

            var additionalGuestUsernames = new List<string>();
            foreach (var txt in tblAdditionalGuests.Controls.OfType<TextBox>().Where(txt => !string.IsNullOrWhiteSpace(txt.Text)))
            {
                if (User.IsValidEmail(txt.Text))
                {
                    additionalGuestUsernames.Add(txt.Text);
                }
                else
                {
                    MessageBox.Show(
                        $"Invalide emailadres gevonden in lijst van extra personen\r\nEmailadres: {txt.Text}");
                    return;
                }
            }

            if (_locationGuestCount + additionalGuestUsernames.Count + 1 > _location.Capacity)
            {
                throw new InvalidEventRegistrationException("De capaciteit van deze locatie is overschreden. Maak uw groep kleiner of selecteer een andere locatie.");
            }

            var additionalGuests = LogicCollection.GuestLogic.RegisterUsersForEvent(additionalGuestUsernames, _event,
                _location, calEventDate.SelectionStart, calEventDate.SelectionEnd, _user.ID);

            var guest = LogicCollection.GuestLogic.RegisterUserForEvent(_user, _event, _location,
                calEventDate.SelectionStart, calEventDate.SelectionEnd);

            Guest = guest;

            if (MessageBox.Show("Wilt u nu betalen?", "Betalingsverzoek", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                var totalAmount = _location.Price * 1 + additionalGuests.Count;

                if (new GuestPaymentForm(totalAmount).ShowDialog() == DialogResult.OK)
                {
                    Guest.Paid = true;
                    LogicCollection.GuestLogic.UpdateGuest(Guest);
                    foreach (var g in additionalGuests)
                    {
                        g.Paid = true;
                        LogicCollection.GuestLogic.UpdateGuest(g);
                    }
                }
            }

            DialogResult = DialogResult.OK;
            Close();
        }
Exemplo n.º 6
0
        public PostFeedExtended(Post post, Event ev, Guest active)
        {
            InitializeComponent();
            _logicPost = new PostLogic();
            _reportContext = new ReportOracleContext();

            _post = post;
            _event = ev;

            // Currently signed in guest
            _activeUser = active;
        }
Exemplo n.º 7
0
        public Guest RegisterUserForEvent(User user, Event ev, Location location, DateTime start, DateTime end, int leaderID = 0)
        {
            var existingGuest = _context.GetGuestByEvent(ev, user.ID); // Checks if user is already registered for an event
            if (existingGuest != null) return existingGuest;

            var guest = new Guest(user.ID, user.Username, user.Password, user.Name, "", false, ev.ID, false, start, end,
                location.ID, user.RegistrationDate, user.Permission, user.Surname, user.Country, user.City, user.Postal,
                user.Address, user.Telephone, leaderID);

            SendConfirmationEmail(user, ev, location, start, end);

            FtpHelper.CreateDirectory($"{ev.ID}/{guest.ID}");

            return _context.Insert(guest);
        }
Exemplo n.º 8
0
 /// <summary>
 /// Adds a report to a post
 /// </summary>
 /// <param name="guest">Guest that reported the post</param>
 /// <param name="post">Post that got reported</param>
 /// <param name="reason">Reason of guest to report the post</param>
 /// <returns>true if Report was successfully entered</returns>
 public bool Report(Guest guest, Post post, string reason)
 {
     var report = new Report(guest.ID, post.ID, reason, DateTime.Now);
     return (_reportContext.Insert(report) != null);
 }
 public SocialMediaSystemForm(Guest user, Event ev)
 {
     InitializeComponent();
     _user = user;
     _event = ev;
 }
Exemplo n.º 10
0
 public bool UpdateGuest(Guest guest)
 {
     return _context.Update(guest);
 }
        public bool RemoveLikeFromPost(Post post, Guest guest)
        {
            var like = _likes.FirstOrDefault(x => x.Key == post.ID && x.Value == guest.ID);

            if (like.Equals(default(KeyValuePair<int, int>))) return false;

            _likes.Remove(like);
            return true;
        }
Exemplo n.º 12
0
        private void UpdateEventInformation()
        {
            var ev = (Event) cmbEvents.SelectedItem;
            _guest = _guestRepo.GetGuestByEvent(ev, _user.ID);

            lblEventName.Text = ev.Name;

            var guestCount = _guestRepo.GetGuestCountByEvent(ev);
            lblEventCapacity.Text = $"{guestCount} / {ev.MaxCapacity}";

            var eventDays = new List<DateTime>();
            for (var date = ev.StartDate; date.Date <= ev.EndDate.Date; date = date.AddDays(1))
            {
                eventDays.Add(date);
            }

            // TODO: Determine if it's desired to have max start and end date set
            calEventDate.MinDate = ev.StartDate;
            calEventDate.MaxDate = ev.EndDate;

            calEventDate.BoldedDates = eventDays.ToArray();
            calEventDate.SetSelectionRange(ev.StartDate, ev.EndDate);
            calEventDate.MaxSelectionCount = (int) (ev.EndDate.Subtract(ev.StartDate).TotalDays) + 1;

            // TODO: Make sure this actually gets saved here
            picEventMap.ImageLocation = $"{SharedModels.FTP.FtpHelper.ServerHardLogin}/{ev.ID}/{ev.MapPath}";
            picEventMap.SizeMode = PictureBoxSizeMode.Zoom;
            RefreshStatus();
        }
Exemplo n.º 13
0
 /// <summary>
 /// Constructor used for the post form for users
 /// </summary>
 /// <param name="user">The user who is placing this post</param>
 /// <param name="ev">The event this post belongs to</param>
 public MakePost(Guest user, Event ev)
     : this(ev)
 {
     _user = user;
 }
 public bool Update(Guest entity)
 {
     throw new NotImplementedException();
 }
        private void btnRegisterForEvent_Click(object sender, EventArgs e)
        {
            var guestRegistrationForm = new GuestRegistrationForm(_user, (Event) cmbEvents.SelectedItem);

            if (guestRegistrationForm.ShowDialog() != DialogResult.OK) return;
            _guest = guestRegistrationForm.Guest;
            RefreshStatus();
        }
Exemplo n.º 16
0
        private void LoadSearchGuest(string rfid)
        {
            _searchGuest = LogicCollection.GuestLogic.GetByRfid(rfid, _event);
            if (_searchGuest != null)
            {
                txtName.Text = _searchGuest.Name;
                txtLastName.Text = _searchGuest.Surname;
                txtLocationId.Text = _searchGuest.LocationID.ToString();
                txtPhoneNumber.Text = _searchGuest.Telephone;
                txtEmail.Text = _searchGuest.Username;
                chbPaid.Checked = _searchGuest.Paid;
                btnPay.Enabled = !_searchGuest.Paid;
                btnCheckIn.Enabled = !_searchGuest.Present;
                btnCheckOut.Enabled = _searchGuest.Present;
            }
            else
            {
                txtName.Text = string.Empty;
                txtLastName.Text = string.Empty;
                txtLocationId.Text = string.Empty;
                txtPhoneNumber.Text = string.Empty;
                txtEmail.Text = string.Empty;
                chbPaid.Checked = false;
                btnPay.Enabled = false;
                btnCheckIn.Enabled = false;
                btnCheckOut.Enabled = false;
            }

            Refresh();
        }
Exemplo n.º 17
0
 /// <summary>
 /// Adds a like to the a post
 /// </summary>
 /// <param name="guest">Guest that liked the post</param>
 /// <param name="post">Post that got liked</param>
 /// <returns>true if succesfull</returns>
 public bool Like(Guest guest, Post post)
 {
     return _context.AddLikeToPost(post, guest.ID);
 }
Exemplo n.º 18
0
 public List<Material> GetReservedMaterialsByGuest(Guest guest)
 {
     return _contextMaterial.GetReservedMaterialsByGuest(guest);
 }
 public List<Material> GetReservedMaterialsByGuest(Guest guest)
 {
     throw new NotImplementedException();
 }
        private void UpdateEventInformation()
        {
            var ev = (Event) cmbEvents.SelectedItem;
            _guest = _guestRepo.GetGuestByEvent(ev, _user.ID);

            lblEventName.Text = ev.Name;

            var guestCount = _guestRepo.GetGuestCountByEvent(ev);
            lblEventCapacity.Text = $"{guestCount} / {ev.MaxCapacity}";

            var eventDays = new List<DateTime>();
            for (var date = ev.StartDate; date.Date <= ev.EndDate.Date; date = date.AddDays(1))
            {
                eventDays.Add(date);
            }

            // Sets max and min date to a low and high value to prevent exceptions being thrown on max and min dates being assigned in conflicting orders
            calEventDate.MinDate = new DateTime(1970, 1, 1);
            calEventDate.MaxDate = new DateTime(3000, 1, 1);

            calEventDate.MinDate = ev.StartDate;
            calEventDate.MaxDate = ev.EndDate;

            calEventDate.BoldedDates = eventDays.ToArray();
            calEventDate.SetSelectionRange(ev.StartDate, ev.EndDate);
            calEventDate.MaxSelectionCount = (int) (ev.EndDate.Subtract(ev.StartDate).TotalDays) + 1;

            picEventMap.ImageLocation = $"{SharedModels.FTP.FtpHelper.ServerHardLogin}/{ev.ID}/{ev.MapPath}";
            picEventMap.SizeMode = PictureBoxSizeMode.Zoom;
            RefreshStatus();
        }
Exemplo n.º 21
0
 /// <summary>
 /// Removes a like from a post
 /// </summary>
 /// <param name="guest">Guest that unliked the post</param>
 /// <param name="post">Post that got unliked</param>
 /// <returns>true if succesfull</returns>
 public bool Unlike(Guest guest, Post post)
 {
     return _context.RemoveLikeFromPost(post, guest.ID);
 }
 public MaterialReservationSystem(Event ev, Guest guest)
 {
     InitializeComponent();
     _event = ev;
     _guest = guest;
 }
 public Guest Insert(Guest entity)
 {
     throw new NotImplementedException();
 }