Exemplo n.º 1
0
        /// <summary>
        ///     Processes the room creation.
        /// </summary>
        /// <param name = "db">The db.</param>
        /// <param name = "buildingId">The building id.</param>
        /// <param name = "userId">The user id.</param>
        /// <param name = "apptList">The appt list.</param>
        /// <param name = "params">The @params.</param>
        /// <returns></returns>
        public static int ProcessRoomCreation(ref UrbanDataContext db, int buildingId, int userId, IEnumerable<AppointmentTemporaryObj> apptList, ProcessRoomCreationParams @params)
        {
            //Validate Room building combination
            if (DoesRoomExistWithNumber(ref db, buildingId, @params.Number))
            {
                return -1;
            }

            if (AppointmentTemporaryObj.ValidateListDoAnyOverlapInList(apptList))
                throw new Exception("Dates Over Lap");

            var room = new Room
                           {
                               Number = @params.Number,
                               Title = @params.Name,
                               MaxOccupancy = @params.MaxOccupancy,
                               RoomTypeID = @params.Type,
                               Description = @params.Description,
                               BuildingID = buildingId,
                               UserID = userId
                           };

            db.Room.InsertOnSubmit(room);
            db.SubmitChanges();

            foreach (var availabilityDate in apptList.Select(tempAppt => new RoomAvailability
                                                                             {
                                                                                 AllDay = false, 
                                                                                 Days = tempAppt.Days == String.Empty ? null : tempAppt.Days , 
                                                                                 EndDate = tempAppt.EndDate, 
                                                                                 EndTime = tempAppt.EndTime, 
                                                                                 RoomID = room.Id, 
                                                                                 StartDate = tempAppt.StartDate, 
                                                                                 StartTime = tempAppt.StartTime
                                                                             }))
            {
                db.RoomAvailability.InsertOnSubmit(availabilityDate);
            }


            db.SubmitChanges();
            return room.Id;
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Processes the room creation.
        /// </summary>
        /// <param name = "db">The db.</param>
        /// <param name = "buildingId">The building id.</param>
        /// <param name = "userId">The user id.</param>
        /// <param name = "apptList">The appt list.</param>
        /// <param name = "params">The @params.</param>
        /// <returns></returns>
        public static int ProcessRoomCreation(ref UrbanDataContext db, int buildingId, int userId, IEnumerable <AppointmentTemporaryObj> apptList, ProcessRoomCreationParams @params)
        {
            //Validate Room building combination
            if (DoesRoomExistWithNumber(ref db, buildingId, @params.Number))
            {
                return(-1);
            }

            if (AppointmentTemporaryObj.ValidateListDoAnyOverlapInList(apptList))
            {
                throw new Exception("Dates Over Lap");
            }

            var room = new Room
            {
                Number       = @params.Number,
                Title        = @params.Name,
                MaxOccupancy = @params.MaxOccupancy,
                RoomTypeID   = @params.Type,
                Description  = @params.Description,
                BuildingID   = buildingId,
                UserID       = userId
            };

            db.Room.InsertOnSubmit(room);
            db.SubmitChanges();

            foreach (var availabilityDate in apptList.Select(tempAppt => new RoomAvailability
            {
                AllDay = false,
                Days = tempAppt.Days == String.Empty ? null : tempAppt.Days,
                EndDate = tempAppt.EndDate,
                EndTime = tempAppt.EndTime,
                RoomID = room.Id,
                StartDate = tempAppt.StartDate,
                StartTime = tempAppt.StartTime
            }))
            {
                db.RoomAvailability.InsertOnSubmit(availabilityDate);
            }


            db.SubmitChanges();
            return(room.Id);
        }