Exemplo n.º 1
0
        /// <summary>
        /// Adds a new booking record to storage.
        /// </summary>
        /// <param name="newBooking">The Save_Bookings object to be added</param>
        /// <returns>The newly added custom event</returns>
        public Save_Bookings AddBooking(Save_Bookings newBooking)
        {
            var ride        = _unitOfWork.RideRepository.FirstOrDefault(x => x.rideID == newBooking.rideID);
            var bookings    = _unitOfWork.BookingRepository.GetAll(x => x.rideID == newBooking.rideID);
            int bookedCount = 0;

            foreach (var booking in bookings)
            {
                bookedCount += 1;
            }

            if (ride.capacity < bookedCount)
            {
                throw new ResourceCreationException()
                      {
                          ExceptionMessage = "Ride is full!"
                      };
            }

            var idParam       = new SqlParameter("@ID", newBooking.ID);
            var rideIdParam   = new SqlParameter("@RIDEID", newBooking.rideID);
            var isDriverParam = new SqlParameter("@ISDRIVER", newBooking.isDriver);
            var context       = new CCTEntities1();

            context.Database.ExecuteSqlCommand("CREATE_BOOKING @ID, @RIDEID, @ISDRIVER", idParam, rideIdParam, isDriverParam);

            _unitOfWork.Save();

            return(newBooking);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Delete the myschedule whose id is specified by the parameter.
        /// </summary>
        /// <param name="event_id">The myschedule id</param>
        /// <param name="gordon_id">The gordon id</param>
        /// <returns>The myschedule that was just deleted</returns>
        public MYSCHEDULE Delete(string event_id, string gordon_id)
        {
            // Account Verification
            var account = _unitOfWork.AccountRepository.FirstOrDefault(x => x.gordon_id == gordon_id);

            if (account == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The account was not found."
                      };
            }

            var result = _unitOfWork.MyScheduleRepository.FirstOrDefault(x => x.GORDON_ID == gordon_id && x.EVENT_ID == event_id);

            if (result == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The MySchedule was not found."
                      };
            }

            var idParam      = new SqlParameter("@GORDONID", gordon_id);
            var eventIdParam = new SqlParameter("@EVENTID", event_id);
            var context      = new CCTEntities1();

            context.Database.ExecuteSqlCommand("DELETE_MYSCHEDULE @EVENTID, @GORDONID", eventIdParam, idParam); // run stored procedure.

            _unitOfWork.Save();

            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Sets the path for the profile image.
        /// </summary>
        /// <param name="id">The student id</param>
        /// <param name="path"></param>
        /// <param name="name"></param>
        public void UpdateProfileImage(string id, string path, string name)
        {
            if (_unitOfWork.AccountRepository.FirstOrDefault(x => x.gordon_id == id) == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The account was not found."
                      };
            }
            var authParam = new SqlParameter("@ID", id);
            var pathParam = new SqlParameter("@FILE_PATH", path);

            if (path == null)
            {
                pathParam = new SqlParameter("@FILE_PATH", DBNull.Value);
            }
            var nameParam = new SqlParameter("@FILE_NAME", name);

            if (name == null)
            {
                nameParam = new SqlParameter("@FILE_NAME", DBNull.Value);
            }
            var context = new CCTEntities1();

            context.Database.ExecuteSqlCommand("UPDATE_PHOTO_PATH @ID, @FILE_PATH, @FILE_NAME", authParam, pathParam, nameParam);   //run stored procedure.
        }
Exemplo n.º 4
0
        /// <summary>
        /// Delete the ride whose id is specified by the parameter.
        /// </summary>
        /// <param name="rideID">The myschedule id</param>
        /// <param name="gordon_id">The gordon id</param>
        /// <returns>The myschedule that was just deleted</returns>
        public Save_Rides DeleteRide(string rideID, string gordon_id)
        {
            //make get first or default then use generic repository delete on result
            var result  = _unitOfWork.RideRepository.FirstOrDefault(x => x.rideID == rideID);
            var booking = _unitOfWork.BookingRepository.FirstOrDefault(x => x.ID == gordon_id && x.rideID == rideID && x.isDriver == 1);

            if (!(booking == null))
            {
                if (result == null)
                {
                    throw new ResourceNotFoundException()
                          {
                              ExceptionMessage = "The ride was not found."
                          };
                }
                var idParam = new SqlParameter("@RIDE_ID", rideID);
                var context = new CCTEntities1();

                context.Database.ExecuteSqlCommand("DELETE_RIDE @RIDE_ID", idParam); // run stored procedure.
                _unitOfWork.Save();
                var idParam2 = new SqlParameter("@RIDE_ID", rideID);
                context.Database.ExecuteSqlCommand("DELETE_BOOKINGS @RIDE_ID", idParam2); // run stored procedure.
                _unitOfWork.Save();
            }

            return(result);
        }
Exemplo n.º 5
0
 /// <summary>
 /// Execute the sql query
 /// </summary>
 /// <param name="query">An sql statement. Can be a stored procedure or even a simple SELECT statement</param>
 /// <param name="parameters">Parameters to pass into the stored procedure</param>
 /// <returns></returns>
 public static IEnumerable<T> query(string query, params object[] parameters)
 {
     using (var context = new CCTEntities1())
     {
         var result = context.Database.SqlQuery<T>(query, parameters).AsEnumerable();
        return result.ToList();
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// Update the myschedule item.
        /// </summary>
        /// <param name="sched">The schedule information</param>
        /// <returns>The original schedule</returns>
        public MYSCHEDULE Update(MYSCHEDULE sched)
        {
            var gordon_id = sched.GORDON_ID;
            var event_id  = sched.EVENT_ID;

            // Account Verification
            var account = _unitOfWork.AccountRepository.FirstOrDefault(x => x.gordon_id == gordon_id);

            if (account == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The account was not found."
                      };
            }

            var original = _unitOfWork.MyScheduleRepository.FirstOrDefault(x => x.GORDON_ID == gordon_id && x.EVENT_ID == event_id);

            if (original == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The MySchedule was not found."
                      };
            }

            var eventIdParam  = new SqlParameter("@EVENTID", sched.EVENT_ID);
            var idParam       = new SqlParameter("@GORDONID", sched.GORDON_ID);
            var locationParam = sched.LOCATION == null ?
                                new SqlParameter("@LOCATION", original.LOCATION): new SqlParameter("@LOCATION", sched.LOCATION);
            var descriptionParam = sched.DESCRIPTION == null ?
                                   new SqlParameter("@DESCRIPTION", original.DESCRIPTION) : new SqlParameter("@DESCRIPTION", sched.DESCRIPTION);
            var monCdeParam = new SqlParameter("@MON_CDE", (object)sched.MON_CDE ?? DBNull.Value);
            var tueCdeParam = new SqlParameter("@TUE_CDE", (object)sched.TUE_CDE ?? DBNull.Value);
            var wedCdeParam = new SqlParameter("@WED_CDE", (object)sched.WED_CDE ?? DBNull.Value);
            var thuCdeParam = new SqlParameter("@THU_CDE", (object)sched.THU_CDE ?? DBNull.Value);
            var friCdeParam = new SqlParameter("@FRI_CDE", (object)sched.FRI_CDE ?? DBNull.Value);
            var satCdeParam = new SqlParameter("@SAT_CDE", (object)sched.SAT_CDE ?? DBNull.Value);
            var sunCdeParam = new SqlParameter("@SUN_CDE", (object)sched.SUN_CDE ?? DBNull.Value);
            var allDayParam = sched.IS_ALLDAY == null ?
                              new SqlParameter("@IS_ALLDAY", original.IS_ALLDAY) : new SqlParameter("@IS_ALLDAY", sched.IS_ALLDAY);
            var beginTimeParam = sched.BEGIN_TIME == null ?
                                 new SqlParameter("@BEGINTIME", original.BEGIN_TIME) : new SqlParameter("@BEGINTIME", sched.BEGIN_TIME);
            var endTimeParam = sched.END_TIME == null ?
                               new SqlParameter("@ENDTIME", original.END_TIME) : new SqlParameter("@ENDTIME", sched.END_TIME);
            var context = new CCTEntities1();

            context.Database.ExecuteSqlCommand("UPDATE_MYSCHEDULE " +
                                               "@EVENTID, @GORDONID, @LOCATION, @DESCRIPTION, @MON_CDE, @TUE_CDE, @WED_CDE, " +
                                               "@THU_CDE, @FRI_CDE, @SAT_CDE, @SUN_CDE, @IS_ALLDAY, @BEGINTIME, @ENDTIME"
                                               , eventIdParam, idParam, locationParam, descriptionParam, monCdeParam, tueCdeParam,
                                               wedCdeParam, thuCdeParam, friCdeParam, satCdeParam, sunCdeParam, allDayParam,
                                               beginTimeParam, endTimeParam); // run stored procedure.

            _unitOfWork.Save();

            return(original);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Cancel the ride whose id is specified by the parameter.
        /// </summary>
        /// <param name="rideID">The ride id</param>
        /// <param name="gordon_id">The gordon id</param>
        /// <returns>The ride that was just deleted</returns>
        public int CancelRide(string rideID, string gordon_id)
        {
            var idParam     = new SqlParameter("@STUDENT_ID", gordon_id);
            var rideIdParam = new SqlParameter("@RIDE_ID", rideID);
            var context     = new CCTEntities1();

            var result = context.Database.ExecuteSqlCommand("CANCEL_RIDE @STUDENT_ID, @RIDE_ID", idParam, rideIdParam); // run stored procedure.

            _unitOfWork.Save();

            return(result);
        }
Exemplo n.º 8
0
        /// <summary>
        /// privacy setting of mobile phone.
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="value">Y or N</param>
        public void UpdateMobilePrivacy(string id, string value)
        {
            var original = _unitOfWork.AccountRepository.FirstOrDefault(x => x.gordon_id == id);

            if (original == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The account was not found."
                      };
            }
            var idParam    = new SqlParameter("@ID", id);
            var valueParam = new SqlParameter("@VALUE", value);
            var context    = new CCTEntities1();

            context.Database.ExecuteSqlCommand("UPDATE_PHONE_PRIVACY @ID, @VALUE", idParam, valueParam); // run stored procedure.
        }
        /// <summary>
        /// Sets the path for the profile image.
        /// </summary>
        /// <param name="id">The student id</param>
        /// <param name="path"></param>
        /// <param name="name"></param>
        public void UpdateProfileImage(string id, string path, string name)
        {
            if (_unitOfWork.AccountRepository.FirstOrDefault(x => x.gordon_id == id) == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The account was not found."
                      };
            }
            var authParam = new SqlParameter("@ID", id);
            var pathParam = new SqlParameter("@FILE_PATH", path);

            if (path == null)
            {
                pathParam = new SqlParameter("@FILE_PATH", DBNull.Value);
            }
            var nameParam = new SqlParameter("@FILE_NAME", name);

            if (name == null)
            {
                nameParam = new SqlParameter("@FILE_NAME", DBNull.Value);
            }
            var context = new CCTEntities1();

            context.Database.ExecuteSqlCommand("UPDATE_PHOTO_PATH @ID, @FILE_PATH, @FILE_NAME", authParam, pathParam, nameParam);   //run stored procedure.
            // Update value in cached data
            var student  = Data.StudentData.FirstOrDefault(x => x.ID == id);
            var facStaff = Data.FacultyStaffData.FirstOrDefault(x => x.ID == id);
            var alum     = Data.AlumniData.FirstOrDefault(x => x.ID == id);

            if (student != null)
            {
                student.preferred_photo = (path == null ? 0 : 1);
            }
            else if (facStaff != null)
            {
                facStaff.preferred_photo = (path == null ? 0 : 1);
            }
            else if (alum != null)
            {
                alum.preferred_photo = (path == null ? 0 : 1);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Update a faculty member's office hour string. Blatent copying of the above procudeure.
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="value"></param>
        public void UpdateOfficeHours(string id, string value)
        {
            var original = _unitOfWork.AccountRepository.FirstOrDefault(x => x.gordon_id == id);

            if (original == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The account was not found."
                      };
            }

            var accountID  = original.account_id;
            var idParam    = new SqlParameter("@ACCOUNT_ID", accountID);
            var valueParam = new SqlParameter("@VALUE", value);
            var context    = new CCTEntities1();

            context.Database.ExecuteSqlCommand("UPDATE_OFFICE_HOURS @ACCOUNT_ID, @VALUE", idParam, valueParam); //run stored procedure.
        }
Exemplo n.º 11
0
        /// <summary>
        /// Sets the path for the profile links.
        /// </summary>
        /// <param name="username">The username</param>
        /// <param name="type"></param>
        /// <param name="path"></param>
        public void UpdateProfileLink(string username, string type, CUSTOM_PROFILE path)
        {
            var original = _unitOfWork.ProfileCustomRepository.GetByUsername(username);

            if (original == null)
            {
                var nameParam = new SqlParameter("@USERNAME", username);
                var fParam    = new SqlParameter("@FACEBOOK", DBNull.Value);
                var tParam    = new SqlParameter("@TWITTER", DBNull.Value);
                var iParam    = new SqlParameter("@INSTAGRAM", DBNull.Value);
                var lParam    = new SqlParameter("@LINKEDIN", DBNull.Value);
                var hParam    = new SqlParameter("@HANDSHAKE", DBNull.Value);
                var context   = new CCTEntities1();
                context.Database.ExecuteSqlCommand("CREATE_SOCIAL_LINKS @USERNAME, @FACEBOOK, @TWITTER, @INSTAGRAM, @LINKEDIN, @HANDSHAKE", nameParam, fParam, tParam, iParam, lParam, hParam); //run stored procedure to create a row in the database for this user.
                original = _unitOfWork.ProfileCustomRepository.GetByUsername(username);
            }

            switch (type)
            {
            case "facebook":
                original.facebook = path.facebook;
                break;

            case "twitter":
                original.twitter = path.twitter;
                break;

            case "instagram":
                original.instagram = path.instagram;
                break;

            case "linkedin":
                original.linkedin = path.linkedin;
                break;

            case "handshake":
                original.handshake = path.handshake;
                break;
            }

            _unitOfWork.Save();
        }
Exemplo n.º 12
0
        /// <summary>
        /// Adds a new ride record to storage.
        /// </summary>
        /// <param name="newRide">The Save_Rides object to be added</param>
        /// <param name="gordon_id">The gordon_id of the user creating the ride</param>
        /// <returns>The newly added custom event</returns>
        public Save_Rides AddRide(Save_Rides newRide, string gordon_id)
        {
            // Assign event id
            var rideList      = _unitOfWork.RideRepository.GetAll(x => x.rideID == newRide.rideID);
            int highestRideID = 1;

            foreach (var ride in rideList)
            {
                highestRideID += 1;
            }
            var newRideID = highestRideID.ToString();

            var idParam       = new SqlParameter("@ID", gordon_id);
            var rideIdParam   = new SqlParameter("@RIDEID", newRide.rideID);
            var isDriverParam = new SqlParameter("@ISDRIVER", 1);

            var context = new CCTEntities1();

            var rideIdParam2      = new SqlParameter("@RIDEID", newRide.rideID);
            var destinationParam  = new SqlParameter("@DESTINATION", newRide.destination);
            var meetingPointParam = new SqlParameter("@MEETINGPOINT", newRide.meetingPoint);
            var startTimeParam    = new SqlParameter("@STARTTIME", newRide.startTime);
            var endTimeParam      = new SqlParameter("@ENDTIME", newRide.endTime);
            var capacityParam     = new SqlParameter("@CAPACITY", newRide.capacity);
            var notesParam        = new SqlParameter("@NOTES", newRide.notes);
            var canceledParam     = new SqlParameter("@CANCELED", newRide.canceled);
            var result            = context.Database.ExecuteSqlCommand("CREATE_RIDE @RIDEID, @DESTINATION, @MEETINGPOINT, @STARTTIME, @ENDTIME, @CAPACITY, @NOTES, @CANCELED", rideIdParam2, destinationParam, meetingPointParam, startTimeParam, endTimeParam, capacityParam, notesParam, canceledParam);

            if (result == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The ride could not be created."
                      };
            }

            context.Database.ExecuteSqlCommand("CREATE_BOOKING @ID, @RIDEID, @ISDRIVER", idParam, rideIdParam, isDriverParam); // run stored procedure.

            _unitOfWork.Save();

            return(newRide);
        }
Exemplo n.º 13
0
        /// <summary>
        /// Delete the booking whose ids are specified by the parameter.
        /// </summary>
        /// <param name="rideID">The myschedule id</param>
        /// <param name="gordon_id">The gordon id</param>
        /// <returns>The myschedule that was just deleted</returns>
        public Save_Bookings DeleteBooking(string rideID, string gordon_id)
        {
            var result = _unitOfWork.BookingRepository.FirstOrDefault(x => x.ID == gordon_id && x.rideID == rideID);

            if (result != null)
            {
                var rideIDParam   = new SqlParameter("@RIDE_ID", rideID);
                var gordonIDParam = new SqlParameter("@ID", gordon_id);
                var context       = new CCTEntities1();
                // If driver booking is deleted, ride is deleted
                // TODO: notify users
                if (result.isDriver == 1)
                {
                    context.Database.ExecuteSqlCommand("DELETE_RIDE @RIDE_ID", rideIDParam); // run stored procedure.
                    _unitOfWork.Save();
                }
                context.Database.ExecuteSqlCommand("DELETE_BOOKING @RIDE_ID, @ID", rideIDParam, gordonIDParam); // run stored procedure.
                _unitOfWork.Save();
            }

            return(result);
        }
Exemplo n.º 14
0
        /// <summary>
        /// privacy setting user profile photo.
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="value">Y or N</param>
        public void UpdateImagePrivacy(string id, string value)
        {
            var original = _unitOfWork.AccountRepository.FirstOrDefault(x => x.gordon_id == id);

            if (original == null)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The account was not found."
                      };
            }

            var accountID  = original.account_id;
            var idParam    = new SqlParameter("@ACCOUNT_ID", accountID);
            var valueParam = new SqlParameter("@VALUE", value);
            var context    = new CCTEntities1();

            context.Database.ExecuteSqlCommand("UPDATE_SHOW_PIC @ACCOUNT_ID, @VALUE", idParam, valueParam); //run stored procedure.
            // Update value in cached data
            var student  = Data.StudentData.FirstOrDefault(x => x.ID == id);
            var facStaff = Data.FacultyStaffData.FirstOrDefault(x => x.ID == id);
            var alum     = Data.AlumniData.FirstOrDefault(x => x.ID == id);

            if (student != null)
            {
                student.show_pic = (value == "Y" ? 1 : 0);
            }
            else if (facStaff != null)
            {
                facStaff.show_pic = (value == "Y" ? 1 : 0);
            }
            else if (alum != null)
            {
                alum.show_pic = (value == "Y" ? 1 : 0);
            }
        }
Exemplo n.º 15
0
 public UnitOfWork()
 {
     _context     = new CCTEntities1();
     _myGordonCtx = new MyGordonEntities();
 }
Exemplo n.º 16
0
        public HousingService(IUnitOfWork unitOfWork)
        {
            _unitOfWork = unitOfWork;

            _context = new CCTEntities1();
        }
Exemplo n.º 17
0
 public UnitOfWork()
 {
     _context = new CCTEntities1();
 }
 /// <summary>
 ///     Initializes a new instance of the <see cref="GenericRepository{T}" /> class.
 /// </summary>
 /// <param name="context">The context for the repository</param>
 public GenericRepository(CCTEntities1 context)
 {
     _context = context;
     _dbSet   = _context.Set <T>();
 }