Пример #1
0
        public static bool UpdatBlockData(SeatMaDll.SeatChartDisp seatChartDispTemp)
        {
            DataObject.DBO.SeatDbo      dbo      = new DataObject.DBO.SeatDbo();
            List <DataObject.PO.SeatPo> listSeat = new List <DataObject.PO.SeatPo>();
            bool bR = true;

            foreach (Control c in seatChartDispTemp.Controls)
            {
                if (c.GetType() == typeof(SeatMaDll.BHSeatControl))
                {
                    SeatMaDll.Seat si = (SeatMaDll.Seat)c.Tag;

                    if (listSeat != null)
                    {
                        listSeat.Clear();
                    }
                    listSeat = SeatAction.SplitDBObj(si);
                    foreach (DataObject.PO.SeatPo po in listSeat)
                    {
                        if (!dbo.UpdateBlock(po.SEATID, po.BLOCKID))
                        {
                            bR = false;
                        }
                    }
                }
            }
            return(bR);
        }
Пример #2
0
        public static List <SeatMaDll.Seat> RetrieveStatusObjs(string szShowPlanId, string szHallId, int nLevel, int nUser)
        {
            List <SeatMaDll.Seat> listAll         = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listNoBrother   = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listHaveBrother = new List <SeatMaDll.Seat>();

            List <SeatMaDll.SeatingChart> scList = SeatingChartAction.RetrieveObjList(szHallId, nLevel);

            if (scList == null || scList.Count <= 0)
            {
                return(listAll);
            }

            SeatstatusDbo dbo = new SeatstatusDbo();
            //DataTable dt = dbo.RetrieveItemStatus_Init(szShowPlanId, szHallId, nLevel);
            DataTable dt = dbo.RetrieveItemStatus(szShowPlanId, scList[0].SeatingChartId);

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(listAll);
            }
            foreach (DataRow dr in dt.Rows)
            {
                string szStatusFlag = "0";
                SeatPo po           = ChangeObj(dr, nUser, ref szStatusFlag);

                SeatMaDll.Seat st = SeatAction.ChangeObjFromData(po);

                //st._seatStatusFlag = dr["TicketingState"] == DBNull.Value ? "0" : dr["TicketingState"].ToString();
                st._seatStatusFlag = szStatusFlag;
                if (st._seatSeatGroup.Trim().Length <= 0)
                {
                    listAll.Add(st);
                }
                else
                {
                    if (st._brotherList.Count <= 0)
                    {
                        listNoBrother.Add(st);
                    }
                    else
                    {
                        st._brotherList[0]._seatStatusFlag = szStatusFlag;
                        listHaveBrother.Add(st);
                    }
                }
                //if (!SeatAction.MergeObj(list, st)) list.Add(st);
            }
            SeatAction.MergeObjNew(listNoBrother, listHaveBrother);

            foreach (SeatMaDll.Seat st in listHaveBrother)
            {
                listAll.Add(st);
            }
            //if (listHaveBrother.Count > 0)
            //    listAll.AddRange(listHaveBrother[0], listHaveBrother[listHaveBrother.Count-1]);
            //listAll = listAll.AddRange(listNoBrother);
            //.CopyTo(listNoBrother);
            return(listAll);
        }
Пример #3
0
        public static bool UpdateTypeData(SeatMaDll.SeatChartDisp seatChartDispTemp)
        {
            try
            {
                DataObject.DBO.SeatDbo      dbo      = new DataObject.DBO.SeatDbo();
                List <DataObject.PO.SeatPo> listSeat = new List <DataObject.PO.SeatPo>();
                bool bR = true;
                foreach (Control c in seatChartDispTemp.Controls)
                {
                    if (c.GetType() != typeof(SeatMaDll.BHSeatControl))
                    {
                        continue;
                    }
                    SeatMaDll.Seat si = (SeatMaDll.Seat)c.Tag;

                    if (listSeat != null)
                    {
                        listSeat.Clear();
                    }
                    listSeat = SeatAction.SplitDBObj_ForUpdate(si);
                    foreach (DataObject.PO.SeatPo po in listSeat)
                    {
                        if (!dbo.UpdateType(po))
                        {
                            bR = false;
                        }
                    }
                }
                return(bR);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #4
0
        public static bool UpdateSeat(string szHallId)
        {
            int    nCount = SeatAction.GetSeatsByHallId(szHallId);
            HallPo po     = new HallPo();

            po.HALLID = szHallId;
            po.SEATS  = nCount;
            HallDbo dbo = new HallDbo();

            return(dbo.UpdateSeat(po));
        }
Пример #5
0
        /// <summary>
        /// 现实座位信息
        /// </summary>
        /// <param name="seat"></param>
        private void ShowSeatInfo(SeatMaDll.BHSeatControl seat)
        {
            //排号 价格 类型
            SeatMaDll.Seat st = (SeatMaDll.Seat)seat.Tag;
            List <DataObject.PO.SeatPo> list = SeatAction.SplitDBObj(st);
            StringBuilder sb       = new StringBuilder();
            string        seattype = string.Empty;

            switch (list[0].SEATTYPE)
            {
                #region
            case "0":
                seattype = "单座";
                break;

            case "1":
                seattype = "双座";
                break;

            case "2":
                seattype = "包厢";
                break;

            case "3":
                seattype = "残障";
                break;

            case "4":
                seattype = "残护";
                break;

            case "5":
                seattype = "不适宜";
                break;

            case "6":
                seattype = "停售";
                break;

            case "7":
                seattype = "工作席";
                break;

            case "8":
                seattype = "特殊";
                break;
                #endregion
            }
            //string seattype = Flamingo.BLL.Ticket.ToTicketType(list[0].SEATTYPE).ToString();
            string ticketid = _szShowplanId + list[0].SEATID;
            sb.Append(string.Format(Flamingo.BLL.Ticket.GetShowSoldSeatInfo(ticketid), list[0].SEATNUMBER, seattype));
            MessageBox.Show(sb.ToString(), "座位信息", MessageBoxButtons.OK, MessageBoxIcon.None);
        }
Пример #6
0
        public static SeatMaDll.SeatingChart RetrieveObj(string szHallId, int nLevel)
        {
            SeatingchartDbo dbo = new SeatingchartDbo();
            DataTable       dt  = dbo.RetrieveALLItems(szHallId, nLevel);

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(null);
            }
            SeatMaDll.SeatingChart obj = ChangeObj(dt.Rows[0]);
            if (obj != null)
            {
                obj._listSiteItem = SeatAction.RetrieveItems(obj.SeatingChartId);
            }
            return(obj);
        }
Пример #7
0
        public static List <SeatMaDll.Seat> RetrieveItemsWithBlock(string SeatingChartId)
        {
            List <SeatMaDll.Seat> listAll         = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listNoBrother   = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listHaveBrother = new List <SeatMaDll.Seat>();
            SeatDbo   dbo = new SeatDbo();
            DataTable dt  = dbo.RetrieveALLItemsWithBlock(SeatingChartId);

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(listAll);
            }
            foreach (DataRow dr in dt.Rows)
            {
                int            nBgColour = dr["BgColour"] == DBNull.Value ? 0 : Convert.ToInt32(dr["BgColour"]);
                SeatPo         po        = ChangeObj(dr);
                SeatMaDll.Seat st        = ChangeObjFromData(po);
                st._BackColor       = nBgColour;
                st._IsUsedBackColor = true;

                if (st._seatSeatGroup.Trim().Length <= 0)
                {
                    listAll.Add(st);
                }
                else
                {
                    if (st._brotherList.Count <= 0)
                    {
                        listNoBrother.Add(st);
                    }
                    else
                    {
                        st._brotherList[0]._BackColor       = nBgColour;
                        st._brotherList[0]._IsUsedBackColor = true;
                        listHaveBrother.Add(st);
                    }
                }
            }
            SeatAction.MergeObjNew(listNoBrother, listHaveBrother);
            foreach (SeatMaDll.Seat st in listHaveBrother)
            {
                listAll.Add(st);
            }
            return(listAll);
        }
Пример #8
0
        public static List <SeatMaDll.SeatingChart> RetrieveObjListWithBlock(string szHallId, int nLevel)
        {
            List <SeatMaDll.SeatingChart> list = new List <SeatMaDll.SeatingChart>();
            SeatingchartDbo dbo = new SeatingchartDbo();
            DataTable       dt  = dbo.RetrieveALLItems(szHallId, nLevel);

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(list);
            }
            foreach (DataRow dr in dt.Rows)
            {
                SeatMaDll.SeatingChart obj = ChangeObj(dr);
                obj._listSiteItem = SeatAction.RetrieveItemsWithBlock(obj.SeatingChartId);
                list.Add(obj);
            }
            return(list);
        }
Пример #9
0
        public static List <SeatMaDll.Seat> RetrieveItems(string SeatingChartId)
        {
            List <SeatMaDll.Seat> listAll         = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listNoBrother   = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listHaveBrother = new List <SeatMaDll.Seat>();
            SeatDbo   dbo = new SeatDbo();
            DataTable dt  = dbo.RetrieveALLItems(SeatingChartId);

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(listAll);
            }
            foreach (DataRow dr in dt.Rows)
            {
                SeatPo         po = ChangeObj(dr);
                SeatMaDll.Seat st = ChangeObjFromData(po);

                if (st._seatSeatGroup.Trim().Length <= 0)
                {
                    listAll.Add(st);
                }
                else
                {
                    if (st._brotherList.Count <= 0)
                    {
                        listNoBrother.Add(st);
                    }
                    else
                    {
                        listHaveBrother.Add(st);
                    }
                }
            }
            SeatAction.MergeObjNew(listNoBrother, listHaveBrother);
            foreach (SeatMaDll.Seat st in listHaveBrother)
            {
                listAll.Add(st);
            }
            //if (listHaveBrother.Count > 0)
            //    listAll.AddRange(listHaveBrother[0], listHaveBrother[listHaveBrother.Count-1]);
            //listAll = listAll.AddRange(listNoBrother);
            //.CopyTo(listNoBrother);
            return(listAll);
        }
Пример #10
0
        private void seatChartDisp1__LeftOneClick(object sender, SeatMaDll.SelectOneSeat_Events e)
        {
            SeatMaDll.BHSeatControl     seat = e.m_bhSeat;
            SeatMaDll.Seat              st   = (SeatMaDll.Seat)seat.Tag;
            List <DataObject.PO.SeatPo> list = SeatAction.SplitDBObj(st);

            string AlowLeftClickSeatType = "0,1,2,3";

            //判断座位类型是否允许选中
            if (!AlowLeftClickSeatType.Contains(list[0].SEATTYPE))
            {
                return;
            }
            if (st._seatStatusFlag == "0")
            {
                int statusNum = Flamingo.BLL.SeatStatus.Lock(_szShowplanId, list[0].SEATID, FrmMain.curUser.UserId);
                MouseClickSetStatus(seat, statusNum.ToString());
            }
        }
Пример #11
0
 private void bgwSave_DoWork(object sender, DoWorkEventArgs e)
 {
     e.Result = SeatAction.UpdatBlockData(seatChartDispScreen1.seatChartDisp1);
 }
Пример #12
0
        public static bool CommitData(SeatMaDll.SeatChartDisp seatChartDispTemp,
                                      ref SeatMaDll.SeatingChart seatingchartTemp, ref SeatMaDll.EditSeatInfo editSeatInfoTemp)
        {
            try
            {
                DataObject.DBO.SeatDbo dbo = new DataObject.DBO.SeatDbo();

                //SeatAction.DeleteBySeatingChartId(seatingchartTemp.SeatingChartId);
                List <DataObject.PO.SeatPo> listSeat = new List <DataObject.PO.SeatPo>();
                int nSeatCount = 0;
                foreach (Control c in seatChartDispTemp.Controls)
                {
                    if (c.GetType() == typeof(SeatMaDll.BHSeatControl))
                    {
                        string         szSeatGuid = string.Format("{0:D4}", nSeatCount);
                        SeatMaDll.Seat si         = (SeatMaDll.Seat)c.Tag;
                        if (si._brotherList.Count <= 0)
                        {
                            nSeatCount++;
                            szSeatGuid             = string.Format("{0:D4}", nSeatCount);
                            si._seatSeatingChartId = seatingchartTemp.SeatingChartId;
                            si._seatId             = si._seatSeatingChartId + szSeatGuid;
                            si._seatBlockId        = si._seatSeatingChartId + "0";
                        }
                        else
                        {
                            for (int i = 0; i < si._brotherList.Count; i++)
                            {
                                nSeatCount++;
                                szSeatGuid = string.Format("{0:D4}", nSeatCount);
                                si._brotherList[i]._seatSeatingChartId = seatingchartTemp.SeatingChartId;
                                szSeatGuid = si._brotherList[i]._seatSeatingChartId + szSeatGuid;
                                si._brotherList[i]._seatId      = szSeatGuid;
                                si._brotherList[i]._seatBlockId = si._brotherList[i]._seatSeatingChartId + "0";
                            }
                        }

                        if (listSeat != null)
                        {
                            listSeat.Clear();
                        }
                        listSeat = SeatAction.SplitDBObj(si);
                        foreach (DataObject.PO.SeatPo po in listSeat)
                        {
                            if (dbo.Insert(po))
                            {
                                seatingchartTemp._listSiteItem.Add(si);
                            }
                        }
                    }
                }
                seatingchartTemp.Seats       = editSeatInfoTemp._ObjSeatingChart.Seats;
                seatingchartTemp.Rows        = editSeatInfoTemp._ObjSeatingChart.Rows;
                seatingchartTemp.Columns     = editSeatInfoTemp._ObjSeatingChart.Columns;
                seatingchartTemp.RowSpace    = editSeatInfoTemp._ObjSeatingChart.RowSpace;
                seatingchartTemp.ColumnSpace = editSeatInfoTemp._ObjSeatingChart.ColumnSpace;
                seatingchartTemp.Rotation    = editSeatInfoTemp._ObjSeatingChart.Rotation;
                bool bR = SeatingChartAction.ResetData(seatingchartTemp);
                bR = Hall.UpdateSeat(seatingchartTemp.HallId);
                return(bR);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #13
0
        public static List <SeatMaDll.Seat> RetrieveObjWithSeatingchartAndBlock(string szShowPlanId, SeatMaDll.SeatingChart seatingChartTemp, int nUser, int nLeftPad, int nTopPad, ref SeatMaDll.SeatingChart seatingchart)
        {
            List <SeatMaDll.Seat> listAll         = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listNoBrother   = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listHaveBrother = new List <SeatMaDll.Seat>();

            if (seatingChartTemp == null)
            {
                return(listAll);
            }
            SeatstatusDbo dbo = new SeatstatusDbo();
            DataTable     dt  = dbo.RetrieveItemStatus_InitWithBlock(szShowPlanId, seatingChartTemp.SeatingChartId);

            seatingchart = seatingChartTemp;

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(listAll);
            }
            //var sw = new Stopwatch();
            //sw.Restart();
            foreach (DataRow dr in dt.Rows)
            {
                int nBgColour = dr["BgColour"] == DBNull.Value ? 0 : Convert.ToInt32(dr["BgColour"]);

                string szStatusFlag = "0";
                SeatPo po           = ChangeObj(dr, nUser, ref szStatusFlag);

                SeatMaDll.Seat st = SeatAction.ChangeObjFromDataWithPad(po, nLeftPad, nTopPad);

                st._BackColor       = nBgColour;
                st._IsUsedBackColor = true;

                //st._seatStatusFlag = dr["TicketingState"] == DBNull.Value ? "0" : dr["TicketingState"].ToString();
                st._seatStatusFlag = szStatusFlag;
                if (st._seatSeatGroup.Trim().Length <= 0)
                {
                    listAll.Add(st);
                }
                else
                {
                    if (st._brotherList.Count <= 0)
                    {
                        listNoBrother.Add(st);
                    }
                    else
                    {
                        st._brotherList[0]._BackColor       = nBgColour;
                        st._brotherList[0]._IsUsedBackColor = true;
                        st._brotherList[0]._seatStatusFlag  = szStatusFlag;
                        listHaveBrother.Add(st);
                    }
                }
            }
            //sw.Stop();
            //TimeSpan time = sw.Elapsed;
            SeatAction.MergeObjNew(listNoBrother, listHaveBrother);
            dt.Dispose();
            foreach (SeatMaDll.Seat st in listHaveBrother)
            {
                listAll.Add(st);
            }
            return(listAll);
        }
Пример #14
0
        public static List <SeatMaDll.Seat> RetrieveObjWithSeatingchartAndBlock(string szShowPlanId, string szHallId, int nLevel, int nUser, ref SeatMaDll.SeatingChart seatingchart)
        {
            List <SeatMaDll.Seat> listAll         = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listNoBrother   = new List <SeatMaDll.Seat>();
            List <SeatMaDll.Seat> listHaveBrother = new List <SeatMaDll.Seat>();

            List <SeatMaDll.SeatingChart> scList = SeatingChartAction.RetrieveObjList(szHallId, nLevel);

            if (scList == null || scList.Count <= 0)
            {
                return(listAll);
            }

            SeatstatusDbo dbo = new SeatstatusDbo();
            //DataTable dt = dbo.RetrieveItemStatus_Init(szShowPlanId, szHallId, nLevel);
            DataTable dt = dbo.RetrieveItemStatus_InitWithBlock(szShowPlanId, scList[0].SeatingChartId);

            seatingchart = scList[0];

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(listAll);
            }
            foreach (DataRow dr in dt.Rows)
            {
                int nBgColour = dr["BgColour"] == DBNull.Value ? 0 : Convert.ToInt32(dr["BgColour"]);

                string szStatusFlag = "0";
                SeatPo po           = ChangeObj(dr, nUser, ref szStatusFlag);

                SeatMaDll.Seat st = SeatAction.ChangeObjFromData(po);

                st._BackColor       = nBgColour;
                st._IsUsedBackColor = true;

                //st._seatStatusFlag = dr["TicketingState"] == DBNull.Value ? "0" : dr["TicketingState"].ToString();
                st._seatStatusFlag = szStatusFlag;
                if (st._seatSeatGroup.Trim().Length <= 0)
                {
                    listAll.Add(st);
                }
                else
                {
                    if (st._brotherList.Count <= 0)
                    {
                        listNoBrother.Add(st);
                    }
                    else
                    {
                        st._brotherList[0]._BackColor       = nBgColour;
                        st._brotherList[0]._IsUsedBackColor = true;
                        st._brotherList[0]._seatStatusFlag  = szStatusFlag;
                        listHaveBrother.Add(st);
                    }
                }
            }
            SeatAction.MergeObjNew(listNoBrother, listHaveBrother);

            foreach (SeatMaDll.Seat st in listHaveBrother)
            {
                listAll.Add(st);
            }
            return(listAll);
        }
Пример #15
0
 private void bgwSave_DoWork(object sender, DoWorkEventArgs e)
 {
     e.Result = SeatAction.CommitData(seatChartDispScreen1.seatChartDisp1, ref _seatingChart, ref _editSeatInfo);
 }
Пример #16
0
        private void SaveData()
        {
            if (this.bgwSave.IsBusy)
            {
                throw new ApplicationException("系统正在执行数据提交操作,请稍后...");
            }
            if (_editSeatInfo == null)
            {
                MessageBox.Show("必须选择一个座位图!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (_seatingChart == null)
            {
                MessageBox.Show("必须选择一个座位图!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            if (uC_HallInfoSeek1.cbb_Theater.SelectedItem == null)
            {
                MessageBox.Show("必须选择一个影院!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (uC_HallInfoSeek1.cbb_Hall.SelectedItem == null)
            {
                MessageBox.Show("必须选择一个影厅!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (uC_HallInfoSeek1.cbb_Level.SelectedItem == null)
            {
                MessageBox.Show("必须选择一个座位图!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            SimTheaterInfo sti = (SimTheaterInfo)uC_HallInfoSeek1.cbb_Theater.SelectedItem;
            SimHall        sh  = (SimHall)uC_HallInfoSeek1.cbb_Hall.SelectedItem;
            SimHallLevel   shl = (SimHallLevel)uC_HallInfoSeek1.cbb_Level.SelectedItem;

            if (_editSeatInfo._szTheaterName != sti._TheaterName)
            {
                MessageBox.Show("导入的影院名称与座位图的影院名称不一致!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (_editSeatInfo._szHallName != sh._HallName)
            {
                MessageBox.Show("导入的影厅名称与座位图的影厅名称不一致!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (_editSeatInfo._szLevelName != shl._LevelId)
            {
                MessageBox.Show("导入的座位图楼层与座位图的楼层不一致!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            if (seatChartDispScreen1.seatChartDisp1.Controls.Count <= 0)
            {
                MessageBox.Show("座位图中没有座位,不能导入保存!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            SeatMaDll.SeatingChart stchTemp = SeatingChartAction.GetSeatingChart(_seatingChart.SeatingChartName);
            if (stchTemp == null)
            {
                stchTemp          = BuildSeatingChart(_seatingChart.SeatingChartName);
                stchTemp.BgColour = _seatingChart.BgColour;
                stchTemp.Shape    = _seatingChart.Shape;
                _seatingChart     = stchTemp;
            }
            else
            {
                stchTemp.BgColour = _seatingChart.BgColour;
                stchTemp.Shape    = _seatingChart.Shape;
                _seatingChart     = stchTemp;
                bool bWillUsed = SeatingChartAction.SeatingChartExistWillUsed(_seatingChart.SeatingChartName, DateTime.Now);
                if (bWillUsed)
                {
                    MessageBox.Show("座位图正在买票中使用,不能导入保存!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                DialogResult      result  = MessageBox.Show("座位图已经存在,是否重新导入?", "系统提示", buttons);
                if (result == System.Windows.Forms.DialogResult.No)
                {
                    return;
                }

                bool bHaveUsed = SeatingChartAction.SeatingChartExistHaveUsed(_seatingChart.SeatingChartId);
                if (bHaveUsed)
                {
                    SeatingChartAction.UpdateActiveFlag(_seatingChart.SeatingChartId, 0);
                    stchTemp          = BuildSeatingChart(_seatingChart.SeatingChartName);
                    stchTemp.BgColour = _seatingChart.BgColour;
                    stchTemp.Shape    = _seatingChart.Shape;
                    _seatingChart     = stchTemp;
                }
                else
                {
                    SeatAction.DeleteBySeatingChartId(_seatingChart.SeatingChartId);
                }
            }

            this.Cursor = Cursors.AppStarting;
            this.bgwSave.RunWorkerAsync();
        }