Example #1
0
        public bool DeleteSession(int sessionId)
        {
            //Check for registrations
            SessionCartManager sessMgr = new SessionCartManager();

            var registrations = sessMgr.GetAllUsersBySession(sessionId);

            if (registrations == null)
            {
                using (wsadDbContext context = new wsadDbContext())
                {
                    Session sessionDTO = context.Sessions.Find(sessionId);

                    context.Sessions.Remove(sessionDTO);

                    context.SaveChanges();
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        public IQueryable <SessionCart> GetAllUsersBySession(int id, bool asNoTracking = false)
        {
            wsadDbContext context = new wsadDbContext();

            //Get USer Id from Username
            int?sessionId = id;

            //Check Username is valid
            if (sessionId == null)
            {
                return(null);
            }

            //Query Items
            IQueryable <SessionCart> results = context.SessionCarts
                                               .Include(row => row.Session)
                                               .Where(row => row.SessionId == sessionId.Value && row.IsActive == true);

            //Check for As No Tracking
            if (asNoTracking == false)
            {
                results = results.AsNoTracking();
            }

            //Return Active Session Cart Items for this user
            return(results);
        }
Example #3
0
        internal IQueryable <ShoppingCart> GetAllItems(string username, bool asNoTracking = false)
        {
            wsadDbContext context = new wsadDbContext();

            //Get USer Id from Username
            int?userId = context.Users.Where(x => x.UserName.ToLower() == username.ToLower())
                         .Select(x => x.Id).FirstOrDefault();

            //Check Username is valid
            if (userId == null)
            {
                return(null);
            }

            //Query Items
            IQueryable <ShoppingCart> results = context.ShoppingCarts
                                                .Include(row => row.Product)
                                                .Where(row => row.UserId == userId.Value && row.IsActive == true);

            //Check for As No Tracking
            if (asNoTracking == false)
            {
                results = results.AsNoTracking();
            }

            //Return Active Shopping Cart Items for this user
            return(results);
        }
Example #4
0
        public ActionResult Edit(int id)
        {
            //Get the user by Id
            EditViewModel editVM;

            using (wsadDbContext context = new wsadDbContext())
            {
                //Get user from database
                User userDTO = context.Users.Find(id);

                if (userDTO == null)
                {
                    return(Content("Invalid Id"));
                }
                //Create an EditViewModel
                editVM = new EditViewModel()
                {
                    EmailAddress = userDTO.EmailAddress,
                    FirstName    = userDTO.FirstName,
                    Id           = userDTO.Id,
                    LastName     = userDTO.LastName,
                    UserName     = userDTO.UserName,
                    IsAdmin      = userDTO.IsAdmin
                };
            }


            //Send the ViewModel to the view
            return(View(editVM));
        }
Example #5
0
        public IQueryable <User> GetAllUsers()
        {
            wsadDbContext context = new wsadDbContext();

            //SELECT * FROM USERS
            return(context.Users);
        }
Example #6
0
        public User UpdateUser(User userToUpdate)
        {
            using (wsadDbContext context = new wsadDbContext())
            {
                //Get User From Database
                User currentUserDTO = context.Users.Find(userToUpdate.Id);

                //Copy Values
                currentUserDTO.EmailAddress = userToUpdate.EmailAddress;
                currentUserDTO.EmailOpt     = userToUpdate.EmailOpt;
                currentUserDTO.FirstName    = userToUpdate.FirstName;
                currentUserDTO.LastName     = userToUpdate.LastName;
                currentUserDTO.UserName     = userToUpdate.UserName;

                //Does password need to change?
                if (string.IsNullOrWhiteSpace(userToUpdate.Password) == false &&
                    currentUserDTO.Password != userToUpdate.Password)
                {
                    currentUserDTO.Password = userToUpdate.Password;
                }

                //Save Changes
                context.SaveChanges();

                return(currentUserDTO);
            }
        }
        public ActionResult Index(ContactEmailViewModel contactMessage)
        {
            //Validate contact message input
            if (contactMessage == null)
            {
                ModelState.AddModelError("", "No Message has been provided!");
                return(View());
            }

            if (string.IsNullOrWhiteSpace(contactMessage.Name) ||
                string.IsNullOrWhiteSpace(contactMessage.Email) ||
                string.IsNullOrWhiteSpace(contactMessage.Message))
            {
                ModelState.AddModelError("", "All fields are required!");
                return(View());
            }

            //Create an email message object
            System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();

            //Populate the object
            email.To.Add("*****@*****.**");
            email.From    = new System.Net.Mail.MailAddress(contactMessage.Email);
            email.Subject = "This is our email to you!";
            email.Body    = string.Format(
                "Name: {0}\r\nMessage: {1}",
                contactMessage.Name,
                contactMessage.Message
                );

            email.IsBodyHtml = false;


            //Setup an SMTP client to send the messages
            System.Net.Mail.SmtpClient smptClient = new System.Net.Mail.SmtpClient();
            smptClient.Host = "smtp.fuse.net";

            //Send the message
            smptClient.Send(email);

            //Create an instance on our DbContext
            using (wsadDbContext context = new wsadDbContext())
            {
                //Create Correspondence DTO
                Correspondence newCorrespondenceDTO = new Correspondence()
                {
                    Name    = contactMessage.Name,
                    Email   = contactMessage.Email,
                    Message = contactMessage.Message
                };
                //Add to DbContext
                context.Correspondences.Add(newCorrespondenceDTO);
                //Save Changes
                context.SaveChanges();
            }

            //Notify the user that the message was sent
            return(View("emailConfirmation"));
        }
Example #8
0
        public Session AddSession(Session template)
        {
            using (wsadDbContext context = new wsadDbContext())
            {
                Session newSessionObj = context.Sessions.Add(template);

                context.SaveChanges();

                return(newSessionObj);
            }
        }
Example #9
0
        public void DeleteUser(int userId)
        {
            using (wsadDbContext context = new wsadDbContext())
            {
                User userDTO = context.Users.Find(userId);

                context.Users.Remove(userDTO);

                context.SaveChanges();
            }
        }
Example #10
0
        public User AddUser(User template)
        {
            using (wsadDbContext context = new wsadDbContext())
            {
                User newUserObj = context.Users.Add(template);

                context.SaveChanges();

                return(newUserObj);
            }
        }
Example #11
0
        public void DeleteRegistration(int sessionCartId)
        {
            using (wsadDbContext context = new wsadDbContext())
            {
                SessionCart sessionCartDTO = context.SessionCarts.Find(sessionCartId);

                context.SessionCarts.Remove(sessionCartDTO);

                context.SaveChanges();
            }
        }
Example #12
0
        internal IQueryable <SessionCart> GetAllSessionCarts(bool asNoTracking = false)
        {
            wsadDbContext context = new wsadDbContext();

            IQueryable <SessionCart> results = context.SessionCarts;

            if (asNoTracking == false)
            {
                results = results.AsNoTracking();
            }

            return(results);
        }
Example #13
0
        internal IQueryable <Product> GetAllProducts(bool asNoTracking = false)
        {
            wsadDbContext context = new wsadDbContext();

            IQueryable <Product> results = context.Products;

            if (asNoTracking == false)
            {
                results = results.AsNoTracking();
            }

            return(results);
        }
Example #14
0
        public ActionResult Login(AccountLoginViewModel login)
        {
            //Validate a username and password(no empties)
            if (login == null)
            {
                ModelState.AddModelError("", "Login is required.");
                return(View());
            }

            if (string.IsNullOrWhiteSpace(login.Username))
            {
                ModelState.AddModelError("", "Username is required.");
                return(View());
            }

            if (string.IsNullOrWhiteSpace(login.Password))
            {
                ModelState.AddModelError("", "Password is required.");
                return(View());
            }

            bool isValid = false;

            using (wsadDbContext context = new wsadDbContext())
            {
                //hash password

                //Query for the user based on username and password hash
                if (context.Users.Any(
                        row => row.UserName.Equals(login.Username) &&
                        row.Password.Equals(login.Password)
                        ))
                {
                    isValid = true;
                }
            }

            //If invalid, send error
            if (!isValid)
            {
                ModelState.AddModelError("", "Invalid UserName or Password");
                return(View());
            }
            else
            {
                //Valid, redirect to user profile
                System.Web.Security.FormsAuthentication.SetAuthCookie(login.Username, login.RememberMe);

                return(Redirect(FormsAuthentication.GetRedirectUrl(login.Username, login.RememberMe)));
            }
        }
Example #15
0
        public ActionResult Edit(EditViewModel editVM)
        {
            //Varilables
            bool needsPasswordReset = false;

            //Validate the model
            if (!ModelState.IsValid)
            {
                return(View(editVM));
            }
            //Check for a password change
            if (string.IsNullOrWhiteSpace(editVM.Password))
            {
                //compare password with password confirm
                if (!editVM.Password.Equals(editVM.PasswordConfirm))
                {
                    ModelState.AddModelError("", "Both Passwords must match!");
                }
                else
                {
                    needsPasswordReset = true;
                }
            }

            //Get user from datbase
            using (wsadDbContext context = new wsadDbContext())
            {
                //Get DTO
                User userDTO = context.Users.Find(editVM.Id);
                if (userDTO == null)
                {
                    return(Content("Invalid User Id"));
                }

                //Set or update values from the view model
                userDTO.FirstName    = editVM.FirstName;
                userDTO.EmailAddress = editVM.EmailAddress;
                userDTO.LastName     = editVM.LastName;
                userDTO.UserName     = editVM.UserName;
                userDTO.IsAdmin      = editVM.IsAdmin;
                if (needsPasswordReset)
                {
                    userDTO.Password = editVM.Password;
                }

                //Save changes
                context.SaveChanges();
            }

            return(RedirectToAction("UserProfile"));
        }
Example #16
0
        internal IQueryable <UserRole> GetUserRoles(int userId)
        {
            //DbContext
            wsadDbContext context = new wsadDbContext();

            //Select User_Roles based on user_Id
            IQueryable <UserRole> matches = context.UserRoles
                                            .Include(x => x.User)
                                            .Include(x => x.Role)
                                            .Where(row => row.User_Id == userId);

            //Return results -- matching user_roles
            return(matches);
        }
Example #17
0
        public ActionResult UserProfile()
        {
            //Build a DbContext
            wsadDbContext context = new wsadDbContext();

            //Get my user DTO from database
            User userDTO = context.Users.FirstOrDefault(row => row.UserName == User.Identity.Name);

            //Build UserProfile ViewModel
            UserProfileViewModel userProfileVM = new UserProfileViewModel(userDTO);

            //Return View with ViewModel
            return(View(userProfileVM));
        }
Example #18
0
        public SessionCart GetSessionCart(int id, bool asNoTracking = false)
        {
            wsadDbContext context = new wsadDbContext();

            int sessCartId = id;

            //Check Username is valid
            if (sessCartId == null)
            {
                return(null);
            }

            //Query Items
            SessionCart results = GetAllSessionCarts().FirstOrDefault(row => row.Id == sessCartId);

            return(results);
        }
Example #19
0
        internal void AddToCart(string username, int sessionId)
        {
            //Establish Db Context
            using (wsadDbContext context = new wsadDbContext())
            {
                //Capture User Id based on Username
                int?userId = context.Users
                             .Where(row => row.UserName.ToLower() == username.ToLower())
                             .Select(row => row.Id)
                             .FirstOrDefault();

                if (userId.HasValue == false)
                {
                    throw new ArgumentException("Invalid Username");
                }

                /*Check if a session exists for this user's cart*/
                //Does Session Id exist in database?
                if (context.Sessions.Any(row => row.Id == sessionId) == false)
                {
                    throw new ArgumentException("Invalid Session Id");
                }

                SessionCart cartItem = context.SessionCarts
                                       .Where(row => row.UserId == userId.Value && row.SessionId == sessionId)
                                       .FirstOrDefault();


                //No session exists -- add new session
                cartItem = new SessionCart()
                {
                    UserId    = userId.Value,
                    SessionId = sessionId,
                    IsActive  = true,
                    DateAdded = DateTime.Now,
                };

                context.SessionCarts.Add(cartItem);

                //Update Database
                context.SaveChanges();
            }
        }
Example #20
0
        // GET: SessionManager
        public ActionResult Index()
        {
            List <SessionManager_SessionViewModel> collectionOfSessionVM = new List <SessionManager_SessionViewModel>();

            //Setup a DbContext
            using (wsadDbContext context = new wsadDbContext())
            {
                //Get all users
                var dbSessions = context.Sessions;
                //Move all users into a ViewModel object
                foreach (var sessionDTO in dbSessions)
                {
                    collectionOfSessionVM.Add(
                        new SessionManager_SessionViewModel(sessionDTO)
                        );
                }
            }
            //Send ViewModel Collection theView
            return(View(collectionOfSessionVM));
        }
Example #21
0
        public Session UpdateSession(Session sessionToUpdate)
        {
            using (wsadDbContext context = new wsadDbContext())
            {
                //Get session From Database
                Session currentSessionDTO = context.Sessions.Find(sessionToUpdate.Id);

                //Copy Values
                currentSessionDTO.Title       = sessionToUpdate.Title;
                currentSessionDTO.Description = sessionToUpdate.Description;
                currentSessionDTO.Building    = sessionToUpdate.Building;
                currentSessionDTO.Room        = sessionToUpdate.Room;
                currentSessionDTO.DateAndTime = sessionToUpdate.DateAndTime;
                currentSessionDTO.TotalSeats  = sessionToUpdate.TotalSeats;

                //Save Changes
                context.SaveChanges();

                return(currentSessionDTO);
            }
        }
Example #22
0
        public IQueryable <SessionCart> GetAllSessionsByUser(string username, int?id, bool asNoTracking = false)
        {
            wsadDbContext context = new wsadDbContext();

            int?userId;

            //If username is not null, get USer Id from Username
            if (username != null)
            {
                userId = context.Users.Where(x => x.UserName.ToLower() == username.ToLower())
                         .Select(x => x.Id).FirstOrDefault();
            }
            else
            {
                userId = id;
            }

            //Check Username is valid
            if (userId == null)
            {
                return(null);
            }

            //Query Items
            IQueryable <SessionCart> results = context.SessionCarts
                                               .Include(row => row.Session)
                                               .Where(row => row.UserId == userId.Value && row.IsActive == true);

            //Check for As No Tracking
            if (asNoTracking == false)
            {
                results = results.AsNoTracking();
            }

            //Return Active Session Cart Items for this user
            return(results);
        }
Example #23
0
        internal void AddToCart(string username, int productId)
        {
            //Establish Db Context
            using (wsadDbContext context = new wsadDbContext())
            {
                //Capture User Id based on Username
                int?userId = context.Users
                             .Where(row => row.UserName.ToLower() == username.ToLower())
                             .Select(row => row.Id)
                             .FirstOrDefault();

                if (userId.HasValue == false)
                {
                    throw new ArgumentException("Invalid Username");
                }

                /*Check if a product exists for this user's cart*/
                //Does Product Id exist in database?
                if (context.Products.Any(row => row.Id == productId) == false)
                {
                    throw new ArgumentException("Invalid Product Id");
                }

                ShoppingCart cartItem = context.ShoppingCarts
                                        .Where(row => row.UserId == userId.Value && row.ProductId == productId)
                                        .FirstOrDefault();

                //If product exists -- add one to the quantity
                if (cartItem != null)
                {
                    //Is it Active?
                    if (cartItem.IsActive == false)
                    {
                        cartItem.IsActive = true;
                        cartItem.Quantity = 1;
                    }
                    else
                    {
                        //Existing Active Item
                        cartItem.Quantity++;    //Add one to the quantity
                    }
                }
                else
                {
                    //No product exists -- add new product
                    cartItem = new ShoppingCart()
                    {
                        UserId    = userId.Value,
                        ProductId = productId,
                        Quantity  = 1,
                        IsActive  = true,
                        DateAdded = DateTime.Now,
                    };

                    context.ShoppingCarts.Add(cartItem);
                }

                //Update Database
                context.SaveChanges();
            }
        }
Example #24
0
        public ActionResult Create(AccountCreateViewModel createdUser)
        {
            //Validate the account information
            if (!ModelState.IsValid)
            {
                return(View(createdUser));
            }

            if (createdUser == null)
            {
                ModelState.AddModelError("", "No information was given");
            }

            if (string.IsNullOrWhiteSpace(createdUser.FirstName) ||
                string.IsNullOrWhiteSpace(createdUser.LastName) ||
                string.IsNullOrWhiteSpace(createdUser.EmailAddress) ||
                string.IsNullOrWhiteSpace(createdUser.Gender) ||
                string.IsNullOrWhiteSpace(createdUser.UserName) ||
                string.IsNullOrWhiteSpace(createdUser.Password) ||
                string.IsNullOrWhiteSpace(createdUser.ConfirmPassword))
            {
                ModelState.AddModelError("", "All fields are required");
                return(View());
            }

            if (!createdUser.Password.Equals(createdUser.ConfirmPassword))
            {
                ModelState.AddModelError("", "Your password does not match");
                return(View());
            }

            //Create Database connectoin
            using (wsadDbContext context = new wsadDbContext())
            {
                if (context.Users.Any(
                        row => row.UserName.Equals(createdUser.UserName)
                        ))
                {
                    ModelState.AddModelError("", "Username " + createdUser.UserName + " already exists. Please select another.");
                    createdUser.UserName = "";
                    return(View(createdUser));
                }

                //Setup insert into database
                Models.DataAccess.User newUserObj;
                newUserObj = new Models.DataAccess.User()
                {
                    FirstName    = createdUser.FirstName,
                    LastName     = createdUser.LastName,
                    EmailAddress = createdUser.EmailAddress,
                    Gender       = createdUser.Gender,
                    UserName     = createdUser.UserName,
                    Password     = createdUser.Password,
                    EmailOpt     = createdUser.EmailOpt,
                    IsAdmin      = createdUser.IsAdmin
                };

                //Commit the insert
                newUserObj = context.Users.Add(newUserObj);
                context.SaveChanges();
            }

            //Show user creation page with inforation they gave
            TempData["Message"] = "Account Creation Successful";
            return(RedirectToAction("Login"));
            //return View("Confirmation", createdUser);
        }