예제 #1
0
        public ActionResult MessageOwner(CreateVenueOwnerViewModel model)
        {
            //Get the current logged in users email
            string currUserEmail = User.Identity.GetUserName();

            //Find the Venue owner using the Id
            VenueOwner owner = _venueOwnerService.GetVenueOwnerById(model.VenueOwnerId);

            string subject = "Message from User Concerning Your Venue: " + model.MessageSubject;
            string body    = "<b>" + currUserEmail + "</b> wrote: <i>" + model.MessageBody + "</i>";

            //Create a new message with the inputs
            MailMessage mail = new MailMessage(_gMailer.GetEmailAddress(), owner.Email)
            {
                Subject = subject,
                Body    = body
            };

            mail.IsBodyHtml = true;

            //Send Message
            _gMailer.Send(mail);

            return(RedirectToAction("Detail", "VenueOwner", new { id = model.VenueOwnerId }));
        }
예제 #2
0
        public ActionResult Edit(int id)
        {
            //Bad request if value is 0
            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //Find venue owner using the id
            VenueOwner owner = _venueOwnerService.GetVenueOwnerById(id);

            //Initialize view model values using the owner values
            CreateVenueOwnerViewModel model = new CreateVenueOwnerViewModel()
            {
                VenueOwnerId = owner.VenueOwnerId,
                FirstName    = owner.FirstName,
                LastName     = owner.LastName,
                Email        = owner.Email,
                PhoneNumber  = owner.Phone,
                CompanyName  = owner.CompanyName,
                SignUpDate   = owner.SignUpDate,
                VenueName    = _venueService.GetVenueNameById(owner.VenueId)
            };

            //Return view back
            return(View(model));
        }
예제 #3
0
        public ActionResult Edit(CreateVenueOwnerViewModel model)
        {
            //Find the existing owner withe the Id
            VenueOwner existingOwner = _venueOwnerService.GetVenueOwnerById(model.VenueOwnerId);

            //Add the changed values to the existing owner
            existingOwner.VenueOwnerId = model.VenueOwnerId;
            existingOwner.FirstName    = model.FirstName;
            existingOwner.LastName     = model.LastName;
            existingOwner.Email        = model.Email;
            existingOwner.Phone        = model.PhoneNumber;
            existingOwner.CompanyName  = model.CompanyName;

            //save the changes
            _venueOwnerService.EditVenueOwner(existingOwner);

            // An administrator is editing, return to Admin dashboard
            if (User.IsInRole("Admin"))
            {
                return(RedirectToAction("Index", "Admin"));
            }

            //Redirect to the details page
            return(RedirectToAction("Detail", "VenueOwner", new { id = existingOwner.VenueOwnerId }));
        }
예제 #4
0
        public VenueOwner AddVenueOwner(VenueOwner venueOwner)
        {
            _context.VenueOwners.Add(venueOwner);
            _context.SaveChanges();

            return(venueOwner);
        }
예제 #5
0
        public VenueOwner GetVenueOwnerById(int id)
        {
            VenueOwner venueOwner = _context.VenueOwners.Find(id);

            if (venueOwner == null)
            {
                return(null);
            }
            return(venueOwner);
        }
예제 #6
0
        public ActionResult Create(CreateVenueOwnerViewModel model)
        {
            PopulateDropdownValues();

            //if model state is invalid return
            if (!ModelState.IsValid)
            {
                PopulateDropdownValues();
                return(View(model));
            }

            //Find venue with the view model id
            Venue venue = _venueService.GetVenueById(model.VenueId);

            //If the venue already has an owner, error
            if (_venueOwnerService.VenueHasOwner(venue))
            {
                ViewData.ModelState.AddModelError("OwnerExists", "There is already an owner for this Venue");
                PopulateDropdownValues();
                return(View(model));
            }

            // Adding owner to AspNetUsers table
            var user = new ApplicationUser {
                UserName = model.Email, Email = model.Email, EmailConfirmed = true
            };

            var temporaryPassword = System.Web.Configuration.WebConfigurationManager.AppSettings["VenueOwnerTemporaryPassword"];
            var result            = UserManager.Create(user, temporaryPassword);

            if (result.Succeeded)
            {
                //Creating new owner with the values from the view
                VenueOwner owner = new VenueOwner
                {
                    FirstName   = model.FirstName,
                    LastName    = model.LastName,
                    Email       = model.Email,
                    Phone       = model.PhoneNumber,
                    CompanyName = model.CompanyName,
                    SignUpDate  = DateTime.Now,
                    VenueId     = venue.VenueId
                };

                //Add the owner to the table, and save changes
                _venueOwnerService.AddVenueOwner(owner);

                // Only admin can create venue owner so return to admin dashboard
                return(RedirectToAction("Index", "Admin"));
            }

            ViewData.ModelState.AddModelError("AddError", "Could not add venue owner.");
            PopulateDropdownValues();
            return(View(model));
        }
예제 #7
0
        /*
         * Given an email, check if that user is a venue owner
         */
        public bool IsVenueOwner(string email)
        {
            VenueOwner owner = _venueOwnerRepository.GetVenueOwnerByEmail(email);

            if (owner == null)
            {
                return(false);
            }

            return(true);
        }
예제 #8
0
        public void Delete(VenueOwner venueOwner)
        {
            VenueOwner existing = _context.VenueOwners.Find(venueOwner.VenueOwnerId);

            if (existing == null)
            {
                throw new ArgumentNullException($"Could not find existing venue owner by ID {venueOwner.VenueOwnerId}");
            }

            _context.VenueOwners.Remove(existing);
            _context.SaveChanges();
        }
예제 #9
0
        public ActionResult Detail(int?id)
        {
            //Bool variable for the View: checking if user is venue owner or not
            ViewBag.IsOwner = false;

            //Get the current logged in user - will be implemented in the future when the log in function/ page is complete
            string ownerEmail = User.Identity.GetUserName();

            //Check if current logged in user is the owner
            if (_venueOwnerService.IsVenueOwner(ownerEmail))
            {
                ViewBag.IsOwner = true;

                VenueOwner owner = _venueOwnerService.GetVenueOwnerByEmail(ownerEmail);

                //Create the view model using values of the owner if not null
                CreateVenueOwnerViewModel model = new CreateVenueOwnerViewModel()
                {
                    VenueOwnerId = owner.VenueOwnerId,
                    FirstName    = owner.FirstName,
                    LastName     = owner.LastName,
                    Email        = owner.Email,
                    PhoneNumber  = owner.Phone,
                    CompanyName  = owner.CompanyName,
                    SignUpDate   = owner.SignUpDate,
                    VenueName    = _venueService.GetVenueNameById(owner.VenueId),
                    VenueId      = owner.VenueId
                };

                //Return it back to the view
                return(View(model));
            }
            else
            {
                ViewBag.IsOwner = false;
                VenueOwner owner = _venueOwnerService.GetVenueOwnerById((int)id);

                CreateVenueOwnerViewModel model = new CreateVenueOwnerViewModel()
                {
                    VenueOwnerId = owner.VenueOwnerId,
                    FirstName    = owner.FirstName,
                    LastName     = owner.LastName,
                    Email        = owner.Email,
                    PhoneNumber  = owner.Phone,
                    CompanyName  = owner.CompanyName,
                    SignUpDate   = owner.SignUpDate,
                    VenueName    = _venueService.GetVenueNameById(owner.VenueId),
                    VenueId      = owner.VenueId
                };
                return(View(model));
            }
        }
예제 #10
0
        /*
         * Given logged in user's email and Venue, check if the logged in user is a Venue's Owner
         */
        public bool LoggedInUserIsVenueOwner(string email, Venue venue)
        {
            VenueOwner venueOwner = _venueOwnerRepository.GetVenueOwnerByEmail(email);

            if (venueOwner == null)
            {
                return(false);
            }

            if (venueOwner.VenueId != venue.VenueId)
            {
                return(false);
            }

            return(true);
        }
예제 #11
0
 /*
  * Given an existing, modified Venue Owner, modify that entity in the database
  */
 public void EditVenueOwner(VenueOwner owner)
 {
     _venueOwnerRepository.Edit(owner);
 }
예제 #12
0
 /*
  * Given a new Venue Owner, add it to the database
  */
 public VenueOwner AddVenueOwner(VenueOwner owner)
 {
     return(_venueOwnerRepository.AddVenueOwner(owner));
 }
예제 #13
0
        public ActionResult GameDetails(int id)
        {
            //validating the id to make sure its not null
            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ViewGameViewModel model = new ViewGameViewModel();

            //getting current logged in user information in case they want to join game
            string  email   = User.Identity.GetUserName();
            Contact contact = _contactService.GetContactByEmail(email);

            Game game = _gameService.GetGameById(id);

            if (contact == null)
            {
                // Check if is venue owner. If not, they did not initalize their profile
                VenueOwner venueOwner = _venueOwnerService.GetVenueOwnerByEmail(email);
                model.IsCreatorOfGame = false;
                if (venueOwner.VenueId == game.VenueId)
                {
                    model.IsVenueOwner = true;
                }
            }
            else if (_gameService.IsCreatorOfGame(contact.ContactId, game))
            {
                model.IsCreatorOfGame = true;
                model.IsVenueOwner    = false;
            }
            else
            {
                // Check if logged in user is already a part of this game
                var allPickUpGames = _gameService.GetPickUpGamesByContactId(contact.ContactId);
                if (allPickUpGames != null)
                {
                    var existingPickUpGame = allPickUpGames.FirstOrDefault(x => x.GameId == id);
                    if (existingPickUpGame == null)
                    {
                        model.IsAlreadyJoined = false;
                    }
                    else
                    {
                        model.IsAlreadyJoined = true;
                    }
                }
                else
                {
                    model.IsAlreadyJoined = false;
                }
            }

            model.EndDate   = game.EndTime.ToString();
            model.GameId    = game.GameId;
            model.Status    = Enum.GetName(typeof(GameStatusEnum), game.GameStatusId);
            model.Sport     = _gameService.GetSportNameById(game.SportId);
            model.StartDate = game.StartTime.ToString();
            model.Venue     = _venueService.GetVenueNameById(game.VenueId);

            if (game.ContactId != null)
            {
                model.ContactId   = game.ContactId;
                model.ContactName = _contactService.GetContactById(game.ContactId).Username;
            }

            //returning model to the view
            return(View(model));
        }
예제 #14
0
 public void Edit(VenueOwner venueOwner)
 {
     _context.Entry(venueOwner).State = EntityState.Modified;
     _context.SaveChanges();
 }