Beispiel #1
0
 /// <summary>
 /// 检测房间在这段时间内被预定或者处于不可预定状态.不可预定状态一般为RoomStatus为D
 /// </summary>
 /// <param name="listOrderedInfo">已预定的信息</param>
 /// <param name="mRoom">预定的房间</param>
 /// <param name="dtStartTime">预抵时间</param>
 /// <param name="dtEndTime">预离时间</param>
 /// <returns>如果验证通过返回True,反之返回False</returns>
 public bool CheckRoomOrdered(List <OrderInfoModel> listOrderedInfo, BasRoomModel mRoom, DateTime dtStartTime, DateTime dtEndTime)
 {
     if (Cmn.CheckEOF(listOrderedInfo))
     {
         var qOrder = listOrderedInfo.Where(c => c.RoomInfo.RoomId == mRoom.RoomId);
         if (qOrder.Count() > 0 && (qOrder.First().RoomInfo.Status != 'E' ||
                                    (qOrder.First().CommonInfo.StartDate < dtStartTime && qOrder.First().CommonInfo.EndDate > dtStartTime) ||
                                    (qOrder.First().CommonInfo.StartDate < dtEndTime && qOrder.First().CommonInfo.EndDate > dtEndTime)
                                    ))
         {
             if (!Cmn.Confirm("该房间目前处于非可用状态或者已经被预定,是否继续?"))
             {
                 return(false);
             }
         }
     }
     else if (mRoom.Status != 'E')
     {
         if (!Cmn.Confirm("该房间目前处于非可用状态,是否继续?"))
         {
             return(false);
         }
     }
     return(true);
 }
Beispiel #2
0
        private void UpdateRoomStatus(string sRoomNo, int nRoomId, char cStatus)
        {
            string sChangeType = "";

            switch (cStatus)
            {
            case 'E':
                sChangeType = "可用";
                break;

            case 'D':
                sChangeType = "停用";
                break;

            case 'C':
                sChangeType = "清理";
                break;
            }
            if (!cmn.Confirm(string.Format("确定更改房间{0}为{1}状态?", sRoomNo, sChangeType)))
            {
                return;
            }
            BasRoomModel mRoom = new BasRoomModel(nRoomId);

            mRoom.Status = cStatus;
            hml.UpdateRoomStatusByRoomId(mRoom, UserInfo);
            GetRoomByStatus(cboRoomStatus.SelectedValue.ToString());
        }
Beispiel #3
0
 /// <summary>
 /// 新增房间信息
 /// </summary>
 /// <param name="mRoomInfo"></param>
 /// <returns></returns>
 public bool InsertRoomInfo(BasRoomModel mRoomInfo)
 {
     try
     {
         BAS_ROOM_INFO bri = new BAS_ROOM_INFO();
         bri.ROOM_NO       = mRoomInfo.RoomNo;
         bri.ROOM_TYPE     = mRoomInfo.RoomType;
         bri.ROOM_RATES    = mRoomInfo.RoomRate;
         bri.ROOM_PHONE    = mRoomInfo.RoomPhone;
         bri.STATUS        = mRoomInfo.Status;
         bri.FLOOR_ID      = mRoomInfo.FloorInfo.FloorId;
         bri.ROOM_NOTICE   = mRoomInfo.RoomNotice;
         bri.CREATE_DATE   = GetDBTime;
         bri.CREATE_USERID = mRoomInfo.CommonInfo.CreateUserId;
         bri.UPDATE_DATE   = bri.CREATE_DATE;
         bri.UPDATE_USERID = bri.CREATE_USERID;
         dc.BAS_ROOM_INFO.InsertOnSubmit(bri);
         dc.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #4
0
        private void LoadUIInfo()
        {
            try
            {
                dtpStartDate.Format = DateTimePickerFormat.Custom;
                dtpEndDate.Format   = DateTimePickerFormat.Custom;
                dtpKeepDate.Format  = DateTimePickerFormat.Custom;

                dtpStartDate.CustomFormat = "yyyy-MM-dd";
                dtpEndDate.CustomFormat   = "yyyy-MM-dd";
                dtpKeepDate.CustomFormat  = "yyyy-MM-dd";

                dtpEndDate.Value  = cmn.DateBaseDate.AddDays(1);
                dtpKeepDate.Value = dtpEndDate.Value;
                BindCodeInfo(cboRoomType, "BAS_ROOM_INFO", "ROOM_TYPE");
                BasRoomModel mRoomTmp = mOrderInfo.OrderId > 0 ? mOrderInfo.RoomInfo : mRoomInfo;
                cboRoomType.SelectedIndex = GetComboxIndexByKey(cboRoomType, mRoomTmp.RoomType);
                string sRoomNo = mRoomTmp.RoomId > 0 ? mRoomTmp.RoomNo : "";
                gbOrdered.Text = string.Format("已预定{0}的宾客", sRoomNo);

                BindRoomInfo();
                BindHour();
                if (mRoomTmp.RoomId > 0)
                {
                    for (int i = 0; i < cboRoomNo.Items.Count; i++)
                    {
                        if (((BasRoomModel)cboRoomNo.Items[i]).RoomId == mRoomTmp.RoomId)
                        {
                            cboRoomNo.SelectedIndex = i;
                            break;
                        }
                    }
                }
                if (mOrderInfo.OrderId > 0)
                {
                    txtName.Text     = mOrderInfo.Name;
                    txtPhone.Text    = mOrderInfo.Phone;
                    txtIDCard.Text   = mOrderInfo.IdCardNo;
                    txtRoomRate.Text = mOrderInfo.OrderRoomRate.ToString();
                    txtNotice.Text   = mOrderInfo.Notice;

                    dtpStartDate.Value    = mOrderInfo.CommonInfo.StartDate.Date;
                    cboHourS.SelectedItem = mOrderInfo.CommonInfo.StartDate.Hour;

                    dtpEndDate.Value      = mOrderInfo.CommonInfo.EndDate.Date;
                    cboHourE.SelectedItem = mOrderInfo.CommonInfo.EndDate.Hour;

                    dtpKeepDate.Value     = mOrderInfo.KeepDate.Date;
                    cboHourK.SelectedItem = mOrderInfo.KeepDate.Hour;
                    pbtnAdd.Enabled       = false;
                }
            }
            catch (Exception err)
            {
                cmn.Show(err.Message);
            }
        }
Beispiel #5
0
        private void tsChangeRoom_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetKeyRoomNo();

            if (mRoomNo != null)
            {
                FormChangeRoom frmChangeRoom = new FormChangeRoom(mRoomNo);
                frmChangeRoom.Show();
            }
        }
Beispiel #6
0
        /// <summary>
        /// 仅获取宾客入住信息
        /// </summary>
        /// <param name="mRoom"></param>
        /// <param name="cStayStatus"></param>
        /// <returns></returns>
        public CustomerStayModel GetCustomerStayInfoByRoom(BasRoomModel mRoom, char cStayStatus)
        {
            CustomerStayModel mStayInfo = new CustomerStayModel();
            ObjectControls    oCtrl     = new ObjectControls();

            mStayInfo.RoomId = mRoom.RoomId;
            mStayInfo.Status = cStayStatus;
            oCtrl.Add(MCtrl.ByRoomId);
            oCtrl.Add(MCtrl.ByStayStatus);
            return(bCustomerStay.GetCustomerStayInfo(mStayInfo, oCtrl));
        }
Beispiel #7
0
        private void tsModifyRoomState_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetKeyRoomNo();

            if (mRoomNo != null)
            {
                FormModifyRoomState frmModifyState = new FormModifyRoomState(mRoomNo);
                if (frmModifyState.ShowDialog() == DialogResult.OK)
                {
                    ShowRoom(mRoomNo.FloorInfo.FloorId);
                }
            }
        }
Beispiel #8
0
        private void LoadUIInfo()
        {
            oCtrl.Reset();
            oCtrl.Add(MCtrl.ByRoomStatus);
            BasRoomModel mRoom = new BasRoomModel();

            mRoom.Status = 'E';
            listRoomInfo = bRoom.GetRoomInfo(mRoom, oCtrl);
            BindEnabledRoomTree(listRoomInfo);
            BindCodeInfo(cboPayType, "CUSTOMER_STAY_INFO", "PAY_TYPE");
            cboSex.SelectedIndex = 0;
            dDiskon = double.Parse(hml.ToParameter(listSysParameter, "DEFAULT_DISKON").Value1);
        }
Beispiel #9
0
        private void tsmOneOpenRoom_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetSelectRoomNo(GetSelectPBX(ptcts));

            if (mRoomNo != null && hml.OpenRoomCheck(mRoomNo))
            {
                FormOneCustomer frmOne = new FormOneCustomer(mRoomNo);
                if (frmOne.ShowDialog() == DialogResult.OK)
                {
                    ShowRoom(mRoomNo.FloorInfo.FloorId);
                }
            }
        }
Beispiel #10
0
        private void tsmChangeRoomState_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetSelectRoomNo(GetSelectPBX(ptcts));

            if (mRoomNo != null)
            {
                FormModifyRoomState frmModifyRoom = new FormModifyRoomState(mRoomNo);
                if (frmModifyRoom.ShowDialog() == DialogResult.OK)
                {
                    ShowRoom(mRoomNo.FloorInfo.FloorId);
                }
            }
        }
Beispiel #11
0
        private void tsOneCustomer_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetKeyRoomNo();

            if (mRoomNo != null && hml.OpenRoomCheck(mRoomNo))
            {
                FormOneCustomer frmOneCustomer = new FormOneCustomer(mRoomNo);
                if (frmOneCustomer.ShowDialog() == DialogResult.OK)
                {
                    ShowRoom(mRoomNo.FloorInfo.FloorId);
                }
            }
        }
Beispiel #12
0
        private void tsmPayMoney_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetSelectRoomNo(GetSelectPBX(ptcts));

            if (mRoomNo != null)
            {
                FormPayMoney frmPayMoney = new FormPayMoney(mRoomNo);
                if (frmPayMoney.ShowDialog() == DialogResult.OK)
                {
                    ShowRoom(mRoomNo.FloorInfo.FloorId);
                }
            }
        }
Beispiel #13
0
        private void tsmCustomerOrder_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetSelectRoomNo(GetSelectPBX(ptcts));

            if (mRoomNo != null)
            {
                FormNewOrder frmNewOrder = new FormNewOrder(mRoomNo);
                if (frmNewOrder.ShowDialog() == DialogResult.OK)
                {
                    ShowRoom(mRoomNo.FloorInfo.FloorId);
                }
            }
        }
Beispiel #14
0
        public List <BasRoomModel> GetTeamRoomList(CustomerStayModel mCustomerStay, ObjectControls oCtrl)
        {
            string sql = @"SELECT A.ROOM_ID,D.MAIN_ROOM_ID, A.ROOM_NO, A.ROOM_TYPE,C.CODE_DESC AS ROOM_TYPE_DESC, A.ROOM_RATES, A.STATUS, 
                             A.CREATE_DATE, A.CREATE_USERID, A.ROOM_PHONE,A.ROOM_NOTICE, A.UPDATE_DATE,A.UPDATE_USERID,
                             B.FLOOR_ID, B.FLOOR_NAME, B.STATUS AS FLOOR_STATUS
                             FROM BAS_ROOM_INFO AS A INNER JOIN
                              CUSTOMER_STAY_INFO AS D ON A.ROOM_ID=D.ROOM_ID  INNER JOIN
                             BAS_FLOOR_INFO AS B ON A.FLOOR_ID = B.FLOOR_ID
                            INNER JOIN SYS_LOOKUP_CODE AS C ON A.ROOM_TYPE=C.CODE_NO AND C.TABLE_NAME='BAS_ROOM_INFO'
                             AND C.COLUMN_NAME='ROOM_TYPE' ";

            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomId) && oCtrl.Append(ref sql, " AND A.ROOM_ID=" + mCustomerStay.RoomId));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByMainRoomId) && oCtrl.Append(ref sql, " AND D.MAIN_ROOM_ID=" + mCustomerStay.MainRoomId));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByStayStatus) && oCtrl.Append(ref sql, " AND D.STATUS=" + SQL(mCustomerStay.Status)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomNo) && oCtrl.Append(ref sql, " AND A.ROOM_NO=" + SQL(mCustomerStay.RoomInfo.RoomNo)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomStatus) && oCtrl.Append(ref sql, " AND A.STATUS=" + SQL(mCustomerStay.RoomInfo.Status)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomStatusGroup) && oCtrl.Append(ref sql, " AND A.STATUS IN (" + mCustomerStay.RoomInfo.StatusGroup + ")"));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomType) && oCtrl.Append(ref sql, " AND A.ROOM_TYPE=" + SQL(mCustomerStay.RoomInfo.RoomType)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByFloorId) && oCtrl.Append(ref sql, " AND B.FLOOR_ID=" + mCustomerStay.RoomInfo.FloorInfo.FloorId));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByFloorName) && oCtrl.Append(ref sql, " AND B.FLOOR_NAME=" + SQL(mCustomerStay.RoomInfo.FloorInfo.FloorName)));
            sdr = ExecuteReader(sql);
            List <BasRoomModel> listRoomInfo = new List <BasRoomModel>();

            using (sdr)
            {
                while (sdr.Read())
                {
                    BasRoomModel mBasRoomInfo = new BasRoomModel();
                    mBasRoomInfo.RoomId                  = ToInt32(sdr["ROOM_ID"]);
                    mBasRoomInfo.MainRoomId              = ToInt32(sdr["MAIN_ROOM_ID"]);
                    mBasRoomInfo.RoomNo                  = ToString(sdr["ROOM_NO"]);
                    mBasRoomInfo.RoomPhone               = ToString(sdr["ROOM_PHONE"]);
                    mBasRoomInfo.RoomRate                = ToDouble(sdr["ROOM_RATES"]);
                    mBasRoomInfo.RoomType                = ToChar(sdr["ROOM_TYPE"]);
                    mBasRoomInfo.RoomTypeDesc            = ToString(sdr["ROOM_TYPE_DESC"]);
                    mBasRoomInfo.RoomNotice              = ToString(sdr["ROOM_NOTICE"]);
                    mBasRoomInfo.Status                  = ToChar(sdr["STATUS"]);
                    mBasRoomInfo.CommonInfo              = new CommonModel();
                    mBasRoomInfo.CommonInfo.CreateDate   = ToDateTime(sdr["CREATE_DATE"]);
                    mBasRoomInfo.CommonInfo.CreateUserId = ToInt32(sdr["CREATE_USERID"]);
                    mBasRoomInfo.CommonInfo.UpdateDate   = ToDateTime(sdr["UPDATE_DATE"]);
                    mBasRoomInfo.CommonInfo.UpdateUserId = ToInt32(sdr["UPDATE_USERID"]);
                    mBasRoomInfo.FloorInfo               = new BasFloorModel();
                    mBasRoomInfo.FloorInfo.FloorId       = ToInt32(sdr["FLOOR_ID"]);
                    mBasRoomInfo.FloorInfo.FloorName     = ToString(sdr["FLOOR_NAME"]);
                    mBasRoomInfo.FloorInfo.Status        = ToChar(sdr["FLOOR_STATUS"]);
                    listRoomInfo.Add(mBasRoomInfo);
                }
            }
            return(listRoomInfo);
        }
Beispiel #15
0
 /// <summary>
 /// 删除房间
 /// </summary>
 /// <param name="mRoomInf"></param>
 /// <returns></returns>
 public bool DeleteRoomInfo(BasRoomModel mRoomInfo)
 {
     try
     {
         BAS_ROOM_INFO bri = dc.BAS_ROOM_INFO.First(c => c.ROOM_ID == mRoomInfo.RoomId);
         dc.BAS_ROOM_INFO.DeleteOnSubmit(bri);
         dc.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #16
0
 private void tvEnableRoom_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     if (e.Node != null && e.Node.Level > 0)
     {
         BasRoomModel mSelectedRoom = new BasRoomModel();
         var          query         = listRoomInfo.Where(c => c.RoomNo == e.Node.Text).First();
         mSelectedRoom = query;
         listSelectedRoom.Add(mSelectedRoom);
         listRoomInfo.Remove(query);
         tvEnableRoom.Nodes.Remove(e.Node);
         BindSelectedRoomDgv(listSelectedRoom);
         BindMainRoom(listSelectedRoom);
     }
 }
Beispiel #17
0
        private void BindRoomInfo()
        {
            BasRoomModel mRoom = new BasRoomModel();

            mRoom.RoomType = cmn.ToChar(cboRoomType.SelectedValue);
            // mRoom.StatusGroup = "'E','C','I','T'";
            oCtrl.Reset();
            oCtrl.Add(MCtrl.ByRoomType);
            //oCtrl.Add(MCtrl.ByRoomStatusGroup);
            listRoomInfo            = bRoom.GetRoomInfo(mRoom, oCtrl);
            cboRoomNo.DataSource    = listRoomInfo;
            cboRoomNo.DisplayMember = "RoomNo";
            cboRoomNo.ValueMember   = "RoomId";
        }
Beispiel #18
0
 private void dgvSelectedRoom_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (e != null)
     {
         BasRoomModel mSelectedRoom = new BasRoomModel();
         var          query         = listSelectedRoom.Where(c => c.RoomNo == dgvSelectedRoom.Rows[e.RowIndex].Cells["RoomNo"].Value.ToString()).First();
         mSelectedRoom = query;
         listRoomInfo.Add(mSelectedRoom);
         listSelectedRoom.Remove(query);
         AddTvNode(mSelectedRoom);
         BindSelectedRoomDgv(listSelectedRoom);
         BindMainRoom(listSelectedRoom);
     }
 }
Beispiel #19
0
        /// <summary>
        /// 获取房间有效的预定
        /// </summary>
        /// <param name="mRoom"></param>
        /// <returns></returns>
        public List <OrderInfoModel> GetRoomOrder(BasRoomModel mRoom)
        {
            OrderInfoModel mOrder = new OrderInfoModel();

            mOrder.RoomInfo = mRoom;
            mOrder.KeepDate = Cmn.DateBaseDate;
            mOrder.Status   = 'E';
            ObjectControls oCtrl = new ObjectControls();

            oCtrl.Reset();
            oCtrl.Add(MCtrl.ByRoomId);
            oCtrl.Add(MCtrl.ByKeepDateEnable);
            oCtrl.Add(MCtrl.ByOrderStatus);
            return(bOrder.GetOrderInfo(mOrder, oCtrl));
        }
Beispiel #20
0
        private void GetRoomByFloor(int nFloorId)
        {
            if (tbcRoomInfo.TabCount > 0)
            {
                tbcRoomInfo.TabPages[nFloorId.ToString()].Controls.Clear();
            }
            BasRoomModel mRoomInfo = new BasRoomModel();

            mRoomInfo.FloorInfo         = new BasFloorModel();
            mRoomInfo.FloorInfo.FloorId = nFloorId;
            oCtrl.Reset();
            oCtrl.Add(MCtrl.ByFloorId);
            List <BasRoomModel> listRoomInfo = bRoomInfo.GetRoomInfo(mRoomInfo, oCtrl);

            if (IsConnectDigiLock)
            {
                DigiRoomList = bDigiLock.GetPhoneDetail();
            }
            double dCleanTime = double.Parse(hml.ToParameter(listSysParameter, "DEFAULT_CLEAN_TIME").Value1);//退房后一段时间内默认为清理时间.单位为分钟

            for (int i = 0; i < listRoomInfo.Count; i++)
            {
                PictureBox pc = new PictureBox();

                //如果超过清理时间,则将房间状态更新为E (listRoomInfo[i].Status == 'O' && !cmn.CheckEOF(hml.GetRoomOrder(listRoomInfo[i])
                if ((listRoomInfo[i].Status == 'C' && dCleanTime > 0 &&
                     cmn.DateBaseDate.Subtract(listRoomInfo[i].CommonInfo.UpdateDate).TotalMinutes
                     >= dCleanTime))// && hml.GetCustomerStayInfoByRoom(listRoomInfo[i], 'I') == null
                {
                    listRoomInfo[i].Status = 'E';
                    hml.UpdateRoomStatusByRoomId(listRoomInfo[i], UserInfo);
                }
                pc.BackgroundImage       = SelectRoomImage(listRoomInfo[i].Status);
                pc.AccessibleDescription = listRoomInfo[i].Status.ToString();
                pc.BackgroundImageLayout = ImageLayout.Zoom;
                pc.Tag              = listRoomInfo[i].RoomId.ToString();
                pc.Name             = listRoomInfo[i].RoomNo;
                pc.Size             = new Size(32, 64);
                pc.Cursor           = Cursors.Hand;
                pc.ContextMenuStrip = ctmsFunction;
                pc.Paint           += new PaintEventHandler(peh);
                pc.MouseEnter      += new EventHandler(pbMouseEnter);
                pc.MouseLeave      += new EventHandler(pbMouseLeave);
                pc.Click           += new EventHandler(pbClick);
                pc.Location         = new Point(tbcRoomInfo.Location.X + (i % 19) * (pc.Size.Width + 10), tbcRoomInfo.Location.Y + Convert.ToInt32(i / 19) * (pc.Size.Height + 5));
                tbcRoomInfo.TabPages[nFloorId.ToString()].Controls.Add(pc);
            }
        }
Beispiel #21
0
        private void pbtnAdd_Click(object sender, EventArgs e)
        {
            TreeNode tn = tvEnableRoom.SelectedNode;

            if (tn != null && tn.Level > 0)
            {
                BasRoomModel mSelectedRoom = new BasRoomModel();
                var          query         = listRoomInfo.Where(c => c.RoomNo == tn.Text).First();
                mSelectedRoom = query;
                listSelectedRoom.Add(mSelectedRoom);
                listRoomInfo.Remove(query);
                tvEnableRoom.Nodes.Remove(tn);
                BindSelectedRoomDgv(listSelectedRoom);
                BindMainRoom(listSelectedRoom);
            }
        }
Beispiel #22
0
 private void pbtnRemove_Click(object sender, EventArgs e)
 {
     if (dgvSelectedRoom.SelectedRows.Count > 0)
     {
         DataGridViewRow dgvr = dgvSelectedRoom.SelectedRows[0];
         if (dgvr != null)
         {
             BasRoomModel mSelectedRoom = new BasRoomModel();
             var          query         = listSelectedRoom.Where(c => c.RoomNo == dgvr.Cells["RoomNo"].Value.ToString()).First();
             mSelectedRoom = query;
             listRoomInfo.Add(mSelectedRoom);
             listSelectedRoom.Remove(query);
             AddTvNode(mSelectedRoom);
             BindSelectedRoomDgv(listSelectedRoom);
             BindMainRoom(listSelectedRoom);
         }
     }
 }
Beispiel #23
0
        private void AddTvNode(BasRoomModel mRoom)
        {
            TreeNode tn = new TreeNode();

            tn.Text = mRoom.RoomNo;
            tn.Name = mRoom.RoomId.ToString();
            TreeNode[] tnl = tvEnableRoom.Nodes.Find(mRoom.RoomType.ToString(), false);
            if (tnl.Length > 0)
            {
                tnl[0].Nodes.Add(tn);
            }
            else
            {
                TreeNode tnN = new TreeNode();
                tnN.Text = mRoom.RoomTypeDesc;
                tnN.Name = mRoom.RoomType.ToString();
                tnN.Nodes.Add(tn);
                tvEnableRoom.Nodes.Add(tnN);
            }
        }
Beispiel #24
0
        private void tsPayMoney_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetKeyRoomNo();

            if (mRoomNo != null)
            {
                CustomerStayModel mCustomerStay = hml.GetStayInRoomInfo(mRoomNo, 'I', "M");
                if (mCustomerStay != null)
                {
                    FormPayMoney frmPayMoney = new FormPayMoney(mRoomNo);
                    if (frmPayMoney.ShowDialog() == DialogResult.OK)
                    {
                        ShowRoom(mRoomNo.FloorInfo.FloorId);
                    }
                }
                else
                {
                    cmn.Show("非占用房间无法使用本功能.");
                }
            }
        }
Beispiel #25
0
        private void tsmModifyRegister_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetSelectRoomNo(GetSelectPBX(ptcts));

            if (mRoomNo != null)
            {
                CustomerStayModel mCustomerStay = hml.GetStayInRoomInfo(mRoomNo, 'I', "M");
                if (mCustomerStay != null)
                {
                    FormOneCustomer frmOne = new FormOneCustomer(mRoomNo);
                    if (frmOne.ShowDialog() == DialogResult.OK)
                    {
                        ShowRoom(mRoomNo.FloorInfo.FloorId);
                    }
                }
                else
                {
                    cmn.Show("非占用房间无法使用本功能.");
                }
            }
        }
Beispiel #26
0
 /// <summary>
 /// 开房前检测房间是否可用
 /// </summary>
 /// <param name="mRoom"></param>
 /// <returns></returns>
 public bool OpenRoomCheck(BasRoomModel mRoom)
 {
     if (mRoom.RoomId > 0)
     {
         if (mRoom.Status == 'I' || mRoom.Status == 'T')
         {
             Cmn.Show("房间已被占用,无法开单.");
             return(false);
         }
         else if (mRoom.Status == 'C' || mRoom.Status == 'D')
         {
             string sRoomStatus = mRoom.Status == 'C' ? "清理" : "停用";
             if (!Cmn.Confirm(string.Format("房间{0}处于{1}状态,继续开单?", mRoom.RoomNo, sRoomStatus)))
             {
                 return(false);
             }
         }
         return(true);
     }
     return(false);
 }
Beispiel #27
0
 /// <summary>
 /// 修改房间信息
 /// </summary>
 /// <param name="mRoomInfo"></param>
 /// <param name="oCtrl"></param>
 /// <returns></returns>
 public int UpdateRoomInfo(BasRoomModel mRoomInfo, ObjectControls oCtrl)
 {
     try
     {
         string sql = "UPDATE BAS_ROOM_INFO SET  CREATE_DATE=CREATE_DATE";
         oCtrl.Helper(oCtrl.Exsit(MCtrl.SetRoomNo) && oCtrl.Append(ref sql, ",ROOM_NO=" + SQL(mRoomInfo.RoomNo)));
         oCtrl.Helper(oCtrl.Exsit(MCtrl.SetRoomStatus) && oCtrl.Append(ref sql, ",STATUS=" + SQL(mRoomInfo.Status)));
         oCtrl.Helper(oCtrl.Exsit(MCtrl.SetRoomRate) && oCtrl.Append(ref sql, ",ROOM_RATES=" + SQL(mRoomInfo.RoomRate)));
         oCtrl.Helper(oCtrl.Exsit(MCtrl.SetPhone) && oCtrl.Append(ref sql, ",ROOM_PHONE=" + SQL(mRoomInfo.RoomPhone)));
         oCtrl.Helper(oCtrl.Exsit(MCtrl.SetRoomType) && oCtrl.Append(ref sql, ",ROOM_TYPE=" + SQL(mRoomInfo.RoomType)));
         oCtrl.Helper(oCtrl.Exsit(MCtrl.SetFloorId) && oCtrl.Append(ref sql, ",FLOOR_ID=" + SQL(mRoomInfo.FloorInfo.FloorId)));
         oCtrl.Helper(oCtrl.Exsit(MCtrl.SetNotice) && oCtrl.Append(ref sql, ",ROOM_NOTICE=" + SQL(mRoomInfo.RoomNotice)));
         sql += ",UPDATE_DATE=" + SQL(GetDBTime);
         sql += ",UPDATE_USERID=" + SQL(mRoomInfo.CommonInfo.UpdateUserId);
         sql += " WHERE ROOM_ID=" + mRoomInfo.RoomId;
         return(ExcuteNonQuery(sql));
     }
     catch (Exception err)
     {
         throw err;
     }
 }
Beispiel #28
0
        /// <summary>
        /// 获取宾客入住信息,消费明细
        /// </summary>
        /// <param name="mRoom">房间信息</param>
        /// <param name="cStayStatus">入住状态 I In / O off</param>
        /// <param name="sStayType">入住类型,主客M从客S,如包含主从则为""</param>
        /// <returns></returns>
        public CustomerStayModel GetStayInRoomInfo(BasRoomModel mRoom, char cStayStatus, string sStayType)
        {
            CustomerStayModel mStayInfo = new CustomerStayModel();
            ObjectControls    oCtrl     = new ObjectControls();

            mStayInfo.RoomId       = mRoom.RoomId;
            mStayInfo.Status       = cStayStatus;
            mStayInfo.CustomerList = new List <CustomerModel>();
            CustomerModel mc = new CustomerModel();

            mc.CustomerStayHisInfo = new CustomerStayHisModel();
            if (!string.IsNullOrEmpty(sStayType))
            {
                mc.CustomerStayHisInfo.StayType = Cmn.ToChar(sStayType);
                oCtrl.Add(MCtrl.ByStayType);
            }
            mc.CustomerStayHisInfo.HisStatus = cStayStatus == 'I' ? 'E' : 'O';
            mStayInfo.CustomerList.Add(mc);
            oCtrl.Add(MCtrl.ByRoomId);
            oCtrl.Add(MCtrl.ByStayStatus);
            oCtrl.Add(MCtrl.ByHisStatus);
            CustomerStayModel mCustomerStay = bCustomerStay.GetCustomerStayInfo(mStayInfo, oCtrl);

            if (mCustomerStay != null)
            {
                List <ConsumeDetailModel> listGetConsumeDetail = new List <ConsumeDetailModel>();
                ConsumeDetailModel        mConsume             = new ConsumeDetailModel();
                mConsume.StayId = mCustomerStay.StayId;
                oCtrl.Reset();
                oCtrl.Add(MCtrl.ByStayId);
                listGetConsumeDetail = bConsume.GetConsumeList(mConsume, oCtrl);
                if (Cmn.CheckEOF(listGetConsumeDetail))
                {
                    mCustomerStay.ConSumeDetailList = listGetConsumeDetail;
                }
            }
            return(mCustomerStay);
        }
Beispiel #29
0
 /// <summary>
 /// 保存备注信息.如房间已近入住,则备注保存于CUSTOMER_STAY_INFO 的notice,否则保存到BAS_ROOM_INFO 的ROOM_NOTICE栏位
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void pbtnSaveNotice_Click(object sender, EventArgs e)
 {
     if (txtNotice.Tag != null && cmn.Confirm("保存备注?"))
     {
         if (txtNotice.Tag.ToString() == "E")
         {
             BasRoomModel mr = new BasRoomModel();
             mr.RoomId     = int.Parse(txtNotice.AccessibleName);
             mr.RoomNotice = txtNotice.Text;
             mr.CommonInfo.UpdateUserId = UserInfo.UserId;
             bRoomInfo.UpdateRoomInfo(mr, new ObjectControls(MCtrl.SetNotice));
         }
         else
         {
             CustomerStayModel mcs = new CustomerStayModel();
             mcs.StayId = int.Parse(txtNotice.Tag.ToString());
             mcs.Notice = txtNotice.Text;
             mcs.CommonInfo.UpdateUserId = UserInfo.UserId;
             bStay.UpdateCustomerStay(mcs, new ObjectControls(MCtrl.SetNotice));
         }
         cmn.Show("保存完毕!");
         ShowRoom(int.Parse(tbcRoomInfo.SelectedTab.Name));
     }
 }
Beispiel #30
0
        /// <summary>
        /// 根据一个RoomId获取团队所有房间
        /// </summary>
        /// <param name="mRoom"></param>
        /// <returns></returns>
        public List <BasRoomModel> GetTeamRoomListByRoomId(BasRoomModel mRoom, char cStayStatus)
        {
            CustomerStayModel mCustomerStay = new CustomerStayModel();

            mCustomerStay.RoomId = mRoom.RoomId;
            mCustomerStay.Status = cStayStatus;
            ObjectControls oCtrl = new ObjectControls();

            oCtrl.Add(MCtrl.ByStayStatus);
            oCtrl.Add(MCtrl.ByRoomId);
            CustomerStayModel mC = bCustomerStay.GetCustomerStayInfo(mCustomerStay, oCtrl);

            if (mC.MainRoomId > 0)
            {
                oCtrl.Reset();
                oCtrl.Add(MCtrl.ByStayStatus);
                oCtrl.Add(MCtrl.ByMainRoomId);
                return(bRoom.GetTeamRoomList(mC, oCtrl));
            }
            else
            {
                return(new List <BasRoomModel>());
            }
        }