Example #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            MeetingRoom meetingRoom = _mrdb.GetMeetingRoomById(id);

            _mrdb.RemoveMeetingRoom(meetingRoom, _mdb);
            return(RedirectToAction("Index"));
        }
Example #2
0
        public void Save(MeetingRoom model)
        {
            model.Number = model.Number.ToUpper();

            DB.MeetingRooms.AddOrUpdate(model);
            DB.SaveChanges();
        }
Example #3
0
        public IQueryable <Meeting> GetMeetingByMeetingRoom(DateTime startDate, DateTime endDate, string meetingRoomId)
        {
            MeetingRoom meetingRoom = new MeetingRoom();

            try
            {
                if (!String.IsNullOrEmpty(meetingRoomId))
                {
                    meetingRoom = _context.MeetingRooms.Find(meetingRoomId);
                }
            }catch (System.InvalidOperationException ex)
            {
                throw new InvalidOperationException("MeetingRoom is not correct", ex);
            }

            try
            {
                var meetings = from m in _context.Meetings
                               where m.IsCanceled == false && m.MeetingRoom.Id == meetingRoom.Id && ((m.BeginningTime > startDate && m.BeginningTime < endDate) || (m.EndTime > startDate && m.EndTime < endDate))
                               select m;

                return(meetings);
            }catch (Exception e)
            {
                _logger.Error(e.Message, e);
            }

            return(null);
        }
Example #4
0
        public void PerformMeeting()
        {
            IMeeting    meeting        = new Meeting();
            MeetingRoom meetingStarted = new MeetingRoom("Code Quality Improvement Meeting");

            meetingStarted.StartMeeting(meeting);
        }
        public ObservableCollection <MeetingRoom> FetchRepository(string StartTime, string EndTime)
        {
            // Connect to PostgreSQL
            NpgsqlConnection conn = null;

            try
            {
                conn = DBUtil.GetDBConnection();
                conn.Open();
                String        sql     = "SELECT \"ROOM_ID\",\"ROOM_NAME\" FROM \"MEETING_ROOM\" WHERE \"ROOM_ID\" NOT IN (SELECT \"ROOM_ID\" FROM \"MEETING\" WHERE \"FROM_DATE_TS\"<=to_timestamp(:to_date_ts,'DD/MM/YYYY HH24:MI') AND \"TO_DATE_TS\">to_timestamp(:from_date_ts,'DD/MM/YYYY HH24:MI'))";
                NpgsqlCommand command = new NpgsqlCommand(sql, conn);
                command.Parameters.AddWithValue("from_date_ts", NpgsqlTypes.NpgsqlDbType.Text, StartTime);
                command.Parameters.AddWithValue("to_date_ts", NpgsqlTypes.NpgsqlDbType.Text, EndTime);
                NpgsqlDataReader dr = command.ExecuteReader();
                _meetingRooms = new ObservableCollection <MeetingRoom>();
                // Output the rows of the first result set
                while (dr.Read())
                {
                    MeetingRoom meetingRoom = new MeetingRoom((int)dr[0], (string)dr[1]);
                    _meetingRooms.Add(meetingRoom);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception in FetchRepository : " + e.ToString());
                throw;
            }
            finally
            {
                conn.Close();
            }
            return(_meetingRooms);
        }
Example #6
0
        /// <summary>
        /// 画面起動時の初期処理を行います。
        /// </summary>
        public void Initialize()
        {
            using (var conn = DbProvider.CreateConnection())
            {
                // 場所を名前順に取得
                Locations = conn.SelectLocations().ToArray();

                // 初期値設定
                if (EditMode == EditMode.AddNew)
                {
                    MeetingRoom = new MeetingRoom();
                }
                else
                {
                    // 会議室の最新データを読み込む
                    MeetingRoom = conn.Query <MeetingRoom, Location, MeetingRoom>(@"
                        select
                         *
                        from
                         MEETING_ROOM MR
                          inner join LOCATION LC on LC.ID = MR.LOCATION_ID
                        where
                         MR.ID = :ID
                        ",
                                                                                  (mr, loc) => { mr.Location = loc; return(mr); },
                                                                                  new { ID = MeetingRoom.Id }
                                                                                  )
                                  .Single();
                }
            }
        }
Example #7
0
 public 予約希望(MeetingRoom room, ReserverId reserverId, 予約期間 range, 想定使用人数 想定使用人数)
 {
     this.room       = room;
     this.range      = range;
     this.想定使用人数     = 想定使用人数;
     this.reserverId = reserverId;
 }
 public ActionResult AddRoom(MeetingRoom meetingroom)
 {
     if (meetingroom.NumberRoom <= 0)
     {
         ViewBag.inscription = "Неправильно введен номер комнаты";
         return(View());
     }
     foreach (var r in mrc.MeetingRooms)
     {
         if (r.NumberRoom == meetingroom.NumberRoom)
         {
             ViewBag.inscription = "Комната с таким номером существует";
             return(View());
         }
     }
     if (meetingroom.CountSeats <= 0)
     {
         ViewBag.inscription = "Неправильно указано количество сидений";
         return(View());
     }
     ViewBag.inscription = "Комната №" + meetingroom.NumberRoom + " успешно создана";
     mrc.MeetingRooms.Add(meetingroom);
     mrc.SaveChanges();
     return(View());
 }
Example #9
0
        public ActionResult VenueSetup()
        {
            MeetingRoom app = new MeetingRoom();

            app.ID = Guid.NewGuid();
            return(View(app));
        }
    static void Main(string[] args)
    {
        Interval[] arr = new Interval[4];

        arr[0] = new Interval(0, 30);
        arr[1] = new Interval(5, 10);
        arr[2] = new Interval(15, 20);
        arr[3] = new Interval(25, 30);

        MeetingRoom m = new MeetingRoom();

        bool canattend = m.CanAttendAllMeetings(arr);

        Console.WriteLine("Can attend all meetings: " + canattend);


        Interval[] arr1 = new Interval[2];

        arr1[0] = new Interval(7, 10);
        arr1[1] = new Interval(2, 4);

        MeetingRoom m1 = new MeetingRoom();

        bool canattend1 = m1.CanAttendAllMeetings(arr1);

        Console.WriteLine("Can attend all meetings: " + canattend1);
    }
Example #11
0
        public JsonResult VenueSetup(MeetingRoom meetRoom)
        {
            string statuscode = "200";
            string msg        = "";

            meetRoom.ID   = Guid.NewGuid();
            meetRoom.XXID = xxid;
            if (ModelState.IsValid)
            {
                meetRoom.CreatorName        = user.loginname;
                meetRoom.CreatorDisplayName = user.username;
                meetRoom.CreateTime         = DateTime.Now;
                meetRoom.Memo = "启用";
                try
                {
                    bll.addVenueSet(meetRoom);
                }
                catch (Exception ex)
                {
                    statuscode = "500";
                    msg        = ex.ToString();
                }
            }
            JsonResult jr = new JsonResult {
                Data = new { statuscode, msg }
            };

            return(Json(jr, JsonRequestBehavior.AllowGet));
        }
        //[Route("meetingroom")]
        public IActionResult Put(string id, [FromBody] MeetingRoom location)
        {
            try
            {
                //location.Id = Convert.ToInt64(id);

                if (!ModelState.IsValid)
                {
                    _logger.LogInformation("Invalid meeting room data received");
                    return(BadRequest("Invalid meeting room data"));
                }

                if (_locationRepository.GetLocationById(id) == null)
                {
                    return(Post(location));
                }
                else
                {
                    return(Ok(_locationRepository.UpdateLocation(location)));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest($"Invalid id or location: {ex.Message}"));
            }
        }
Example #13
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            string            roomCode    = txtRoomCode.Text;
            string            roomName    = txtRoomName.Text;
            int               capacity    = Convert.ToInt32(txtCapacity.Text);
            MeetingRoomStatus status      = (MeetingRoomStatus)Convert.ToInt32(rblStatus.SelectedValue);
            string            description = txtDescription.Text;

            MeetingRoom room = new MeetingRoom();

            room.RoomCode    = roomCode;
            room.RoomName    = roomName;
            room.Capacity    = capacity;
            room.Status      = status;
            room.Description = description;

            RoomOpResult result = BLLRoom.AddRoom(room);
            string       script;

            if (result == RoomOpResult.Duplicate)
            {
                script = "<script type='text/javascript'>alert('会议室编号或名称已存在,请更换编号或名称!');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "duplicate", script);
            }
            else if (result == RoomOpResult.Success)
            {
                txtRoomCode.Text        = "";
                txtRoomName.Text        = "";
                txtCapacity.Text        = "";
                txtDescription.Text     = "";
                rblStatus.SelectedIndex = 0;
                script = "<script type='text/javascript'>alert('会议室:" + room.RoomName + "添加成功!');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "success", script);
            }
        }
Example #14
0
        /// <summary>
        /// Obtem uma lista de horários de um determinado dia ( ocupado e nao ocupado ) para uma room específica
        /// </summary>
        /// <param name="day"></param>
        /// <param name="meetingRoom"></param>
        /// <returns></returns>
        public IEnumerable <Scheduling> GetAvailbleTimesByDayAndRoom(DateTime day, MeetingRoom meetingRoom)
        {
            // Nessa momento eu assumo que o horario útil varia de 8 as 18;
            var initialDate = new DateTime(day.Year, day.Month, day.Day, 8, 0, 0);
            var finalDate   = new DateTime(day.Year, day.Month, day.Day, 18, 0, 0);

            var hoursUnavailbe = Context.Schedulings.Include(l => l.Room)
                                 .Where(wr => (wr.SchedulingStart > initialDate || wr.SchedulingEnd < finalDate) && wr.Room.MeetingRoomId == meetingRoom.MeetingRoomId)
                                 .ToList();

            var result = new List <Scheduling>();

            while (initialDate < finalDate)
            {
                var test = hoursUnavailbe.Find(w => w.SchedulingStart <= initialDate && w.SchedulingEnd > initialDate);
                if (test == null)
                {
                    result.Add(new Scheduling
                    {
                        SchedulingStart = initialDate,
                        SchedulingEnd   = initialDate.AddMinutes(intervalMeetingInMinutes)
                    });
                }
                else
                {
                    result.Add(test);
                }
                initialDate = initialDate.AddMinutes(intervalMeetingInMinutes);
            }

            return(result);
        }
        private void BindRoom()
        {
            int         roomID = Convert.ToInt32(Request["roomid"]);
            MeetingRoom room   = BLLRoom.GetRoomByID(roomID);

            if (room != null)
            {
                if (room.Status == MeetingRoomStatus.Deleted)       // 如果会议室已被删除,则不允许进行任何修改
                {
                    txtRoomCode.Enabled = false;
                    txtRoomName.Enabled = false;
                    txtCapacity.Enabled = false;
                    rblStatus.Enabled   = false;
                    txtRoomCode.Enabled = false;
                }

                txtRoomCode.Text        = room.RoomCode;
                txtRoomName.Text        = room.RoomName;
                txtCapacity.Text        = room.Capacity.ToString();
                rblStatus.SelectedValue = Convert.ToInt32(room.Status).ToString();
                txtDescription.Text     = room.Description;
            }
            else
            {
                btnSubmit.Enabled = false;
            }
        }
        public void IndexTestNameLike()
        {
            //Arrange
            TestBookingContext     tbc        = new TestBookingContext();
            MeetingRoomsController controller = new MeetingRoomsController(tbc);
            MeetingRoom            room1      = new MeetingRoom()
            {
                Name = "Chat Room", Size = 4, Location = "Ground Floor"
            };
            MeetingRoom room2 = new MeetingRoom()
            {
                Name = "Board Room", Size = 8, Location = "First Floor"
            };

            tbc.MeetingRooms.Add(room1);
            tbc.MeetingRooms.Add(room2);

            // Act
            ViewResult result = controller.Index("", "hat") as ViewResult;

            // Assert
            var rooms = (List <MeetingRoom>)result.ViewData.Model;

            foreach (var r in rooms)
            {
                StringAssert.Contains(r.Name, "hat");
            }
            Assert.AreEqual(1, rooms.Count);
        }
Example #17
0
 public void UpdateMeetingRoom(MeetingRoom meetingRoom)
 {
     Run(context =>
     {
         context.Entry(meetingRoom).State = EntityState.Modified;
         context.SaveChanges();
     });
 }
Example #18
0
 public void AddMeetingRoom(MeetingRoom meetingRoom)
 {
     Run(context =>
     {
         context.MeetingRooms.Add(meetingRoom);
         context.SaveChanges();
     });
 }
        public ActionResult DeleteConfirmed(string id)
        {
            MeetingRoom meetingRoom = db.MeetingRooms.Find(id);

            db.MeetingRooms.Remove(meetingRoom);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #20
0
        /// <summary>
        /// 用户点击页面左侧导航菜单中的相应会议室时,返回会议室预定情况
        /// </summary>
        /// <param name="Id">参数Id是MeetingRoom会议室的Id</param>
        /// <returns></returns>
        public ActionResult MeetingRoom(string Id)
        {
            MeetingRoom meetingRoom = _context.MeetingRooms.Find(Id);

            ViewBag.MeetingName   = meetingRoom.Name;
            ViewBag.MeetingRoomId = Id;
            return(View());
        }
        public async Task <MeetingRoom> DeleteMeetingRoom(MeetingRoom meetingRoom)
        {
            await Context.MeetingRoomRepository.Delete(meetingRoom);

            await Context.ReservationRepository.DeleteAll(await Context.ReservationRepository.GetOn(rs => rs.MeetingRoomCode == meetingRoom.Code));

            return(meetingRoom);
        }
Example #22
0
 /// <summary>
 /// 作用:创建会议室
 /// 作者:汪建龙
 /// 编写时间:2017年2月20日11:08:08
 /// </summary>
 /// <param name="room"></param>
 /// <returns></returns>
 public int Save(MeetingRoom room)
 {
     using (var db = GetDbContext())
     {
         db.Meeting_Rooms.Add(room);
         db.SaveChanges();
         return(room.ID);
     }
 }
Example #23
0
        public async Task <bool> Update(MeetingRoom meetingRoom)
        {
            var updateResult = await _context
                               .MeetingRooms
                               .ReplaceOneAsync(filter : g => g.Id == meetingRoom.Id, replacement : meetingRoom);

            return(updateResult.IsAcknowledged &&
                   updateResult.ModifiedCount > 0);
        }
Example #24
0
 public void RemoveMeetingRoom(MeetingRoom meetingRoom, IMeetingsRepository meetingRepo)
 {
     Run(context =>
     {
         meetingRepo.DeleteAllMeetingsWithRoom(meetingRoom.Id);
         context.MeetingRooms.Remove(context.MeetingRooms.Find(meetingRoom.Id));
         context.SaveChanges();
     });
 }
Example #25
0
 public ActionResult Edit(MeetingRoom meetingRoom)
 {
     if (ModelState.IsValid)
     {
         _mrdb.UpdateMeetingRoom(meetingRoom);
         return(RedirectToAction("Index"));
     }
     return(View(meetingRoom));
 }
        public bool この会議室は予約可能ですか(MeetingRoom room, ReserverId id, 予約期間 range, 想定使用人数 ninzu)
        {
            var other = new 予約希望(room, range);

            bool 被っている   = list.Any(x => x.かぶってますか(other));
            bool 予約可能である = !被っている;

            return(予約可能である);
        }
 public static MeetingRoomResponse MapVirtualCourtToResponse(MeetingRoom meetingRoom) => meetingRoom == null
         ? null
         : new MeetingRoomResponse
 {
     AdminUri              = meetingRoom.AdminUri,
     JudgeUri              = meetingRoom.JudgeUri,
     ParticipantUri        = meetingRoom.ParticipantUri,
     PexipNode             = meetingRoom.PexipNode,
     TelephoneConferenceId = meetingRoom.TelephoneConferenceId
 };
        public MeetingRoomDetailForm(EditMode editMode, MeetingRoom meetingRoom) : this()
        {
            model = new MeetingRoomDetailModel(editMode, meetingRoom);

            // ウィンドウタイトル設定
            editModeName =
                model.EditMode == EditMode.AddNew ? "登録" :
                model.EditMode == EditMode.Modify ? "変更" :
                "削除";
        }
        public async Task Should_close_conference_and_remove_court_room_for_given_valid_conference_id()
        {
            var meetingRoom = new MeetingRoom("admin", "judge", "participant", "node", "12345678");

            VideoPlatformServiceMock.Setup(v => v.GetVirtualCourtRoomAsync(It.IsAny <Guid>())).ReturnsAsync(meetingRoom);
            await Controller.CloseConferenceAsync(Guid.NewGuid());

            CommandHandlerMock.Verify(c => c.Handle(It.IsAny <CloseConferenceCommand>()), Times.Once);
            VideoPlatformServiceMock.Verify(v => v.DeleteVirtualCourtRoomAsync(It.IsAny <Guid>()), Times.Once);
        }
Example #30
0
        public MeetingRoom GetMeetingRoomById(int id)
        {
            MeetingRoom result = new MeetingRoom();

            Run(context =>
            {
                result = context.MeetingRooms.Find(id);
            });
            return(result);
        }
 public static List<MeetingRoomBooking> list(IDbConnection db, MeetingRoom mr, long day)
 {
     using (IDbCommand command = db.CreateCommand())
     {
         command.CommandText = "select id, day, [from], till,  _user, _meetingroom, users_notified, users_to_be_notified, users_checkedin from booking where day= @Day";
         List<MeetingRoomBooking> MeetingRoomBooking = new List<MeetingRoomBooking>();
         IDbDataParameter p = command.CreateParameter();
         p.ParameterName = "@Day";
         p.Value = day;
         command.Parameters.Add(p);
         using (IDataReader reader = command.ExecuteReader())
         {
             while (reader.Read())
             {
                 MeetingRoomBooking.Add(new MeetingRoomBooking(reader));
             }
             return MeetingRoomBooking;
         }
     }
 }
 public static List<MeetingRoomBooking> list(IDbConnection db, MeetingRoom mr)
 {
     using (IDbCommand command = db.CreateCommand())
     {
         command.CommandText = "select id, day, [from], till, _user, _meetingroom, users_notified, users_to_be_notified, users_checkedin from booking";
         List<MeetingRoomBooking> MeetingRoomBooking = new List<MeetingRoomBooking>();
         using (IDataReader reader = command.ExecuteReader())
         {
             while (reader.Read())
             {
                 MeetingRoomBooking.Add(new MeetingRoomBooking(reader));
             }
             return MeetingRoomBooking;
         }
     }
 }
 public static bool IsBooking(IDbConnection db, MeetingRoom mr, long day, long till, long from)
 {
     using (IDbCommand command = db.CreateCommand())
     {
         command.CommandText = "select count(*) from booking where day = @Day and _meetingroom = @Meetingroom and (till between @From and @Till or [from] between @From and @Till)";
         IDbDataParameter p1 = command.CreateParameter();
         p1.ParameterName = "@Day";
         p1.Value = day;
         command.Parameters.Add(p1);
         IDbDataParameter p2 = command.CreateParameter();
         p2.ParameterName = "@Meetingroom";
         p2.Value = mr.Id;
         command.Parameters.Add(p2);
         IDbDataParameter p3 = command.CreateParameter();
         p3.ParameterName = "@Till";
         p3.Value = till;
         command.Parameters.Add(p3);
         IDbDataParameter p4 = command.CreateParameter();
         p4.ParameterName = "@From";
         p4.Value = from;
         command.Parameters.Add(p4);
         return (int)command.ExecuteScalar() > 0;
     }
 }