示例#1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        m_Title = "免登陆预约";
        string     szTestName = Request["szTestName"];
        UNIACCOUNT accTeacher;

        if (GetAccByLogonName(szTestName, out accTeacher, true))
        {
        }
        else
        {
            MessageBox("教师工号输入错误", "提示", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
            return;
        }
        if (!IsPostBack)
        {
            UNIROOM[] roomList = GetAllRoom();
            if (roomList != null && roomList.Length > 0)
            {
                for (int i = 0; i < roomList.Length; i++)
                {
                    string szCheck = "";
                    if (i == 0)
                    {
                        szCheck = " checked=\"true\"";
                    }
                    m_szRoom += "<input class=\"enum\"" + szCheck + " type=\"radio\" name=\"" + "roomID" + "\" id='" + roomList[i].dwRoomID.ToString() + "' /> <label for=\"" + roomList[i].dwRoomID.ToString() + "\">" + roomList[i].szRoomName + "</label>";
                }
                UNIDEVICE[] devList = GetDevByRoomId(roomList[0].dwRoomID);
                if (devList != null && devList.Length > 0)
                {
                    for (int i = 0; i < devList.Length; i++)
                    {
                        m_szDev += "<label><input class=\"enum\" type=\"checkbox\" name=\"" + "devID" + "\" value=\"" + devList[i].dwDevID.ToString() + "\" /> " + devList[i].szDevName + "</label>,";
                    }
                }
            }
        }
        else if (Request["op"] == "set")
        {
            string   szError     = "";
            string   szDevID     = Request["selectID"];
            string[] szDevIDList = szDevID.Split(',');
            if (szDevIDList.Length == 0)
            {
                return;
            }
            ArrayList list       = new ArrayList();
            uint      uBegInTime = Get1970Seconds(Request["dwBeginTime"]);
            uint      uEndTime   = Get1970Seconds(Request["dwEndTime"]);
            uint      uLabID     = 0;
            string    szLabName  = "";
            for (int i = 0; i < szDevIDList.Length; i++)
            {
                if (szDevIDList[i] == "")
                {
                    continue;
                }
                UNIDEVICE devCtrl = new UNIDEVICE();

                if (getDevByID(szDevIDList[i], out devCtrl))
                {
                    uLabID    = (uint)devCtrl.dwLabID;
                    szLabName = devCtrl.szLabName;
                    uint    uDevID = Parse(szDevIDList[i]);
                    RESVDEV temp   = new RESVDEV();
                    temp.dwDevEnd   = devCtrl.dwDevSN;
                    temp.dwDevKind  = devCtrl.dwKindID;
                    temp.dwDevStart = devCtrl.dwDevSN;
                    temp.dwDevNum   = 1;
                    temp.szRoomNo   = devCtrl.szRoomNo;
                    list.Add(temp);
                }
            }
            RESVDEV[] resvdev = new RESVDEV[list.Count];
            for (int m = 0; m < list.Count; m++)
            {
                resvdev[m] = new RESVDEV();
                resvdev[m] = (RESVDEV)list[m];
            }
            ANONYMOUSRESV setValue = new ANONYMOUSRESV();
            setValue.dwBeginTime = uBegInTime;
            setValue.dwEndTime   = uEndTime;
            setValue.dwLabID     = uLabID;
            setValue.szLabName   = szLabName;
            setValue.szTestName  = szTestName;
            setValue.dwPurpose   = (uint)UNIRESERVE.DWPURPOSE.USEFOR_TEACHING;
            setValue.ResvDev     = resvdev;
            if (m_Request.Reserve.AnonymousResvSet(setValue, out setValue) != REQUESTCODE.EXECUTE_SUCCESS)
            {
                szError += m_Request.szErrMessage + ",";
            }

            if (szError != "")
            {
                MessageBox(szError, "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.CANCEL);
            }
            else
            {
                MessageBox("设置成功", "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.CANCEL);
            }
        }
    }
示例#2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        UNITERM[] termList   = GetAllTerm();
        string    szYearTerm = Request["dwYearTerm"];
        string    testplanid = Request["testplanid"];

        if (testplanid != null && testplanid != "")
        {
            PutMemberValue("dwTestPlanIDTemp", testplanid);
        }
        uint uYeartermNow = Parse(szYearTerm);

        if (termList != null)
        {
            for (int i = 0; i < termList.Length; i++)
            {
                uint uYearTermState = (uint)termList[i].dwStatus;
                if ((uYearTermState & (uint)UNITERM.DWSTATUS.TERMSTAT_FORCE) > 0)
                {
                    m_TermList += GetInputItemHtml(CONSTHTML.option, "", termList[i].szMemo.ToString(), termList[i].dwYearTerm.ToString(), true);
                }
                else
                {
                    m_TermList += GetInputItemHtml(CONSTHTML.option, "", termList[i].szMemo.ToString(), termList[i].dwYearTerm.ToString());
                }
            }
        }
        uint uRoomID    = Parse(Request["devID"]);
        uint szResvDate = Parse(Request["date"]);

        szResvDate = szResvDate + 100;
        szResvSec  = Parse(Request["sec"]);
        szResvSec  = szResvSec + 1;//节次需要加1
        string szWeekStr = szResvDate / 10000 + "-" + (szResvDate % 10000 / 100) + "-" + szResvDate % 100;

        uWeeStart = GetWeekFromDate(szWeekStr);

        uWeek = ((uint)DateTime.Parse(szWeekStr).DayOfWeek);
        if (uWeek == 0)
        {
            uWeek = 7;//星期天特殊处理
        }
        //设置默认值
        {
            FULLROOMREQ vrGet = new FULLROOMREQ();
            vrGet.dwRoomID = uRoomID;
            FULLROOM[] room;
            if (m_Request.Device.FullRoomGet(vrGet, out room) == REQUESTCODE.EXECUTE_SUCCESS && room.Length > 0)
            {
                szRoomInfo = room[0].szRoomName.ToString() + "(" + room[0].dwIdleDevNum + "台)";
            }
            CLASSTIMETABLE[] classTimeTable = GetTermClasTimeTable();
            for (int i = 1; i <= classTimeTable.Length; i++)
            {
                szSec += GetInputItemHtml(CONSTHTML.option, "", szSecsList[i], i.ToString());
            }
            for (int i = 0; i < szWeekDayList.Length; i++)
            {
                szWeek += GetInputItemHtml(CONSTHTML.checkBox, "szWeek", szWeekDayList[i], (i + 1).ToString());
            }
            int uWeekTotal = GetWeekTotalNow();
            for (int i = 1; i <= uWeekTotal; i++)
            {
                szWeeks += GetInputItemHtml(CONSTHTML.option, "", szWeeksList[i], (i).ToString());
            }
        }
        if (IsPostBack)
        {
            uint uResvWeekStart = Parse(Request["dwBeginWeeksSec"]);
            uint uResvWeekEnd   = Parse(Request["dwEndWeeksSec"]);
            szResvWeeks = Request["szWeek"];//星期
            uint      uResvSecBegin = Parse(Request["dwBeginSec"]);
            uint      uResvSecEnd   = Parse(Request["dwEndSec"]);
            uint      uTestItemID   = Parse(Request["dwTestItemID"]);
            uint      uTeacher      = Parse(Request["dwTeacherID"]);
            string    szTeacherName = "";
            UNITERM[] termNow       = GetTermNow();
            if (termNow == null || termNow.Length == 0)
            {
                MessageBox("获取学期失败", "提示", MSGBOX.ERROR, MSGBOX_ACTION.NONE);

                return;
            }
            UNIACCOUNT accTeacher;
            if (GetAccByAccno(uTeacher.ToString(), out accTeacher))
            {
                szTeacherName = accTeacher.szTrueName;
            }
            if (szResvWeeks == null || szResvWeeks == "")//星期
            {
                MessageBox("请设置设置好上课星期", "提示", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                return;
            }
            if (uTeacher == 0)
            {
                MessageBox("请设置好实验项目", "提示", MSGBOX.ERROR, MSGBOX_ACTION.NONE);

                return;
            }
            if (uTestItemID == 0)
            {
                MessageBox("请设置好实验项目", "提示", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                return;
            }
            UNITESTITEM[] testItem = GetTestItemByID(uTestItemID);
            if (testItem == null && testItem.Length == 0)
            {
                return;
            }
            UNIROOM getRoom;
            if (!GetRoomID(uRoomID.ToString(), out getRoom))
            {
                return;
            }
            ArrayList   resvDevList = new ArrayList();
            UNIDEVICE[] devList     = GetDevByRoomId(uRoomID);
            if (devList == null || devList.Length == 0)
            {
                MessageBox(ConfigConst.GCRoomName + "下没有" + ConfigConst.GCDevName, "提示", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                return;
            }
            int devCount = 0;

            for (int k = 0; k < devList.Length; k++)
            {
                uint    uDevKind    = (uint)devList[k].dwKindID;
                bool    bIsNew      = true;
                int     uLocal      = -1;
                RESVDEV resvDev     = new RESVDEV();
                RESVDEV resvDevTemp = new RESVDEV();
                for (int m = 0; m < resvDevList.Count; m++)
                {
                    RESVDEV resvDevTempIn = (RESVDEV)resvDevList[m];
                    if (uDevKind == ((uint)resvDevTempIn.dwDevKind))
                    {
                        bIsNew      = false;
                        uLocal      = m;
                        resvDevTemp = resvDevTempIn;
                    }
                }
                if (bIsNew)
                {
                    resvDev.dwDevStart = devList[k].dwDevSN;
                    resvDev.dwDevEnd   = devList[k].dwDevSN;
                    resvDev.dwDevKind  = devList[k].dwKindID;
                    resvDev.szRoomNo   = devList[k].szRoomNo;
                    resvDev.dwDevNum   = 1;
                    resvDevList.Add(resvDev);
                }
                else
                {
                    uint uDevNum    = (uint)resvDevTemp.dwDevNum + 1;
                    uint uDevSNTemp = (uint)devList[k].dwDevSN;
                    if (uDevSNTemp < ((uint)resvDevTemp.dwDevStart))
                    {
                        resvDevTemp.dwDevStart = uDevSNTemp;
                    }
                    if (uDevSNTemp > ((uint)resvDevTemp.dwDevEnd))
                    {
                        resvDevTemp.dwDevEnd = uDevSNTemp;
                    }
                    resvDevTemp.dwDevNum = uDevNum;
                    resvDevList[uLocal]  = resvDevTemp;
                }
            }
            RESVDEV[] resvDevRes = new RESVDEV[resvDevList.Count];
            for (int m = 0; m < resvDevRes.Length; m++)
            {
                resvDevRes[m] = new RESVDEV();
                resvDevRes[m] = (RESVDEV)resvDevList[m];
            }
            uint uSuccessCount = 0;
            uint uFailCount    = 0;
            for (uint i = uResvWeekStart; i <= uResvWeekEnd; i++)
            {
                string[] szWeekList = szResvWeeks.Split(',');
                for (int m = 0; m < szWeekList.Length; m++)
                {
                    UNIRESERVE setResv = new UNIRESERVE();
                    setResv.dwLabID      = getRoom.dwLabID;
                    setResv.szLabName    = getRoom.szLabName;
                    setResv.dwPurpose    = (uint)UNIRESERVE.DWPURPOSE.USEFOR_TEACHING;
                    setResv.dwMemberKind = (uint)UNIRESERVE.DWMEMBERKIND.MEMBERKIND_GROUP;
                    setResv.dwOwner      = uTeacher;
                    setResv.szOwnerName  = szTeacherName;
                    setResv.dwUseMode    = (uint)UNIRESERVE.DWUSEMODE.RESVUSE_USEDEV;
                    setResv.dwMemberID   = testItem[0].dwGroupID;
                    setResv.szMemberName = testItem[0].szGroupName;
                    setResv.szTestName   = testItem[0].szTestName;
                    setResv.dwTestItemID = testItem[0].dwTestItemID;
                    setResv.dwProperty   = (uint)UNIRESERVE.DWPROPERTY.RESVPROP_LOCKROOM;
                    setResv.dwYearTerm   = termNow[0].dwYearTerm;
                    uint uTeachingTime = i * 100000 + (Parse(szWeekList[m]) - 1) * 10000 + uResvSecBegin * 100 + uResvSecEnd;
                    setResv.dwTeachingTime = uTeachingTime;
                    setResv.ResvDev        = resvDevRes;
                    REQUESTCODE uResponse = m_Request.Reserve.Set(setResv, out setResv);
                    if (uResponse == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        Session["selectDate"] = (uint)setResv.dwPreDate - 100;
                        uSuccessCount         = uSuccessCount + 1;
                    }
                    else
                    {
                        uFailCount = uFailCount + 1;
                    }
                }
                string szMessageInfo = "";
                if (uSuccessCount > 0)
                {
                    szMessageInfo = "预约成功" + uSuccessCount.ToString() + "条";
                    if (uFailCount > 0)
                    {
                        szMessageInfo += ",失败" + uFailCount.ToString() + "条";
                    }
                    MessageBox(szMessageInfo, "提示", MSGBOX.INFO, MSGBOX_ACTION.OK);
                }
                if (uFailCount > 0 && uSuccessCount == 0)
                {
                    szMessageInfo = "预约失败" + uFailCount.ToString() + "条" + "," + m_Request.szErrMessage;
                    MessageBox(szMessageInfo, "提示", MSGBOX.INFO, MSGBOX_ACTION.NONE);
                }
            }
        }
    }
示例#3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        m_Title = "全体预约";
        if (!IsPostBack)
        {
            UNIROOM[] roomList = GetAllRoom();
            if (roomList != null && roomList.Length > 0)
            {
                for (int i = 0; i < roomList.Length; i++)
                {
                    string szCheck = "";
                    if (i == 0)
                    {
                        szCheck = " checked=\"true\"";
                    }
                    m_szRoom += "<input class=\"enum\"" + szCheck + " type=\"radio\" name=\"" + "roomID" + "\" id='" + roomList[i].dwRoomID.ToString() + "' /> <label for=\"" + roomList[i].dwRoomID.ToString() + "\">" + roomList[i].szRoomName + "</label>";
                }
                UNIDEVICE[] devList = GetDevByRoomId(roomList[0].dwRoomID);
                if (devList != null && devList.Length > 0)
                {
                    for (int i = 0; i < devList.Length; i++)
                    {
                        m_szDev += "<label><input class=\"enum\" type=\"checkbox\" name=\"" + "devID" + "\" value=\"" + devList[i].dwDevID.ToString() + "\" /> " + devList[i].szDevName + "</label>,";
                    }
                }
            }
        }
        else if (Request["op"] == "set")
        {
            string   szError     = "";
            string   szDevID     = Request["selectID"];
            string[] szDevIDList = szDevID.Split(',');
            if (szDevIDList.Length == 0)
            {
                return;
            }
            for (int i = 0; i < szDevIDList.Length; i++)
            {
                if (szDevIDList[i] == "")
                {
                    continue;
                }
                UNIDEVICE devCtrl    = new UNIDEVICE();
                uint      uBegInTime = Get1970Seconds(Request["dwBeginTime"]);
                uint      uEndTime   = Get1970Seconds(Request["dwEndTime"]);
                if (getDevByID(szDevIDList[i], out devCtrl))
                {
                    uint uDevID = Parse(szDevIDList[i]);

                    ALLUSERRESV setValue = new ALLUSERRESV();
                    setValue.dwBeginTime = uBegInTime;
                    setValue.dwEndTime   = uEndTime;
                    setValue.dwLabID     = devCtrl.dwLabID;
                    setValue.szLabName   = devCtrl.szLabName;
                    setValue.szTestName  = "全体人员预约";
                    setValue.dwPurpose   = (uint)UNIRESERVE.DWPURPOSE.USEFOR_TEACHING + (uint)UNIRESERVE.DWPURPOSE.USEFOR_ALLUSER + (uint)UNIRESERVE.DWPURPOSE.USEFOR_PC;
                    RESVDEV[] resvDev = new RESVDEV[1];
                    resvDev[0].dwDevEnd   = devCtrl.dwDevSN;
                    resvDev[0].dwDevKind  = devCtrl.dwKindID;
                    resvDev[0].dwDevStart = devCtrl.dwDevSN;
                    resvDev[0].dwDevNum   = 1;
                    resvDev[0].szRoomNo   = devCtrl.szRoomNo;
                    setValue.ResvDev      = resvDev;
                    if (m_Request.Reserve.AllUserResvSet(setValue, out setValue) != REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        szError += m_Request.szErrMessage + ",";
                    }
                }
                if (szError != "")
                {
                    MessageBox(szError, "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.CANCEL);
                }
                else
                {
                    MessageBox("设置成功", "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.CANCEL);
                }
            }
        }
    }
    void Import(string szFilePath, string szErrListRawFile, out uint nImported, out uint nFailed, out string szOutError)
    {
        szOutError = "";
        ErrorLines = new ArrayList();
        nImported  = 0;
        nFailed    = 0;
        string strline;

        StreamWriter tWrite = new StreamWriter(szErrListRawFile, false, Encoding.GetEncoding("gb2312"));

        System.IO.StreamReader mysr      = new StreamReader(Server.MapPath(szFilePath), Encoding.GetEncoding("gb2312"));
        REQUESTCODE            uResponse = REQUESTCODE.EXECUTE_FAIL;

        System.IO.StringWriter swCSV = new System.IO.StringWriter();
        bool bAllRight  = true;
        uint count      = 0;
        uint uCountFali = 0;

        UNITERM[] termNow  = GetTermNow();
        int       nContint = 0;

        szOutError = "<table>";
        while ((strline = mysr.ReadLine()) != null)
        {
            nContint = nContint + 1;
            if (nContint == 1)
            {
                continue;
            }

            string szError = "";

            string[] szList = strline.Split(',');
            if (szList.Length < 4)
            {
                continue;
            }
            count = count + 1;
            string   szRoomName      = szList[0];
            string[] szResvWeeksList = szList[1].Split(';');; //周次列表
            string[] szWeekList      = szList[2].Split(';');  //星期
            string[] szSecs          = szList[3].Split(';');  //节次

            UNIROOM setRoom;

            for (uint i = 0; i < szResvWeeksList.Length; i++)//周数组循环
            {
                string szResvWeekTemp = szResvWeeksList[i];
                if (szResvWeekTemp == "")
                {
                    continue;
                }
                string[] szStartEndWeekList = szResvWeekTemp.Split('-');//
                uint     uStrartWeeks       = 0;
                uint     uEndWeeks          = 0;
                if (szStartEndWeekList.Length == 1)
                {
                    uStrartWeeks = Parse(szStartEndWeekList[0]);
                    uEndWeeks    = Parse(szStartEndWeekList[0]);
                }
                else if (szStartEndWeekList.Length == 2)
                {
                    uStrartWeeks = Parse(szStartEndWeekList[0]);
                    uEndWeeks    = Parse(szStartEndWeekList[1]);
                }
                else
                {
                    szOutError += "<tr><td>" + szList[1] + "(" + szResvWeekTemp + ")" + "</td><td></td><td>格式不对</td></tr>";
                    uCountFali  = uCountFali + 1;
                    continue;
                }
                if (uEndWeeks < uStrartWeeks)
                {
                    szOutError += "<tr><td>" + szRoomName + "</td><td>" + szResvWeekTemp + "</td><td>开始周次大于结束周次</td></tr>";
                    uCountFali  = uCountFali + 1;
                    continue;
                }
                if (uStrartWeeks == 0 || uEndWeeks == 0)
                {
                    szOutError += "<tr><td>" + szRoomName + "</td><td>" + szResvWeekTemp + "</td><td>开始周次或者结束周次格式不对</td></tr>";
                    uCountFali  = uCountFali + 1;
                    continue;
                }
                for (uint k = uStrartWeeks; k <= uEndWeeks; k++)//周循环
                {
                    //k表示第几周
                    //  uint uWeeksReal = Parse(szWeekList[m - 1]);
                    for (uint m = 0; m < szWeekList.Length; m++)//m表示星期
                    {
                        uint uWeekReal = Parse(szWeekList[m]) - 1;
                        if (uWeekReal < 0 || uWeekReal > 7)
                        {
                            szOutError += "<tr><td>" + szRoomName + "</td><td>" + szList[1] + "内的第" + k + "周的星期(" + m + ")" + "</td><td>格式错误</td></tr>";
                            uCountFali  = uCountFali + 1;
                            continue;
                        }

                        int uResvDate = GetDateFromWeek((uint)termNow[0].dwYearTerm, k, (uWeekReal));//预约的日期
                        if (uResvDate.ToString().Length != 8)
                        {
                            szOutError += "<tr><td>" + szRoomName + "</td><td>" + szList[1] + "内的第" + k + "周的星期(" + m + ")" + "</td><td>格式错误</td></tr>";
                            uCountFali  = uCountFali + 1;
                            continue;
                        }
                        for (uint n = 0; n < szSecs.Length; n++)//节次
                        {
                            int      uBeginSec     = -1;
                            int      uEndSec       = -1;
                            string[] szSecTempList = szSecs[n].Split('-');
                            if (szSecTempList.Length == 1)
                            {
                                if (szSecTempList[0] == "")
                                {
                                    continue;
                                }
                                uBeginSec = uEndSec = IntParse(szSecTempList[0]);
                            }
                            else if (szSecTempList.Length == 2)
                            {
                                if (szSecTempList[0] == "" || szSecTempList[1] == "")
                                {
                                    continue;
                                }
                                uBeginSec = IntParse(szSecTempList[0]);
                                uEndSec   = IntParse(szSecTempList[1]);
                            }
                            else
                            {
                                szOutError += "<tr><td>" + szRoomName + "</td><td>" + szList[1] + "(" + szResvWeekTemp + ")" + szSecs[n] + "</td><td>格式不对</td></tr>";
                                uCountFali  = uCountFali + 1;
                                continue;
                            }
                            if (uBeginSec == -1 || uEndSec == -1)
                            {
                                szOutError += "<tr><td>" + szRoomName + "</td><td>" + szList[1] + "(" + szResvWeekTemp + ")" + szSecs[n] + "</td><td>节次小于1</td></tr>";
                                uCountFali  = uCountFali + 1;
                                continue;
                            }
                            if (uBeginSec < 1 || uEndSec < 1)
                            {
                                szOutError += "<tr><td>" + szRoomName + "</td><td>" + szList[1] + "(" + szResvWeekTemp + ")" + szSecs[n] + "</td><td>节次小于1</td></tr>";
                                uCountFali  = uCountFali + 1;
                                continue;
                            }
                            uint uBeginTime = (uint)(termNow[0].szCTS1[uBeginSec - 1].dwBeginTime);
                            uint uEndTime   = (uint)(termNow[0].szCTS1[uEndSec - 1].dwEndTime);
                            if (!GetRoomByName(szRoomName, out setRoom))
                            {
                                szOutError += "<tr><td>" + szRoomName + "</td><td></td><td>房间名称不存在</td></tr>";
                                uCountFali  = uCountFali + 1;
                                continue;
                            }

                            //预约代码
                            string   szResvDate      = uResvDate / 10000 + "-" + (uResvDate % 10000) / 100 + "-" + uResvDate % 100;
                            DateTime resvDate        = DateTime.Parse(szResvDate);
                            string   szBeginTimeTemp = resvDate.ToString("yyyy-MM-dd") + " " + (uBeginTime / 100).ToString() + ":" + (uBeginTime % 100).ToString();
                            uint     uResvBeginTime  = Get1970Seconds(szBeginTimeTemp);
                            string   szEndTimeTemp   = resvDate.ToString("yyyy-MM-dd") + " " + (uEndTime / 100).ToString() + ":" + (uEndTime % 100).ToString();
                            uint     uResvEndTime    = Get1970Seconds(szEndTimeTemp);

                            ALLUSERRESV setValue = new ALLUSERRESV();
                            setValue.dwBeginTime = uResvBeginTime;
                            setValue.dwEndTime   = uResvEndTime;
                            setValue.dwLabID     = setRoom.dwLabID;
                            setValue.szLabName   = setRoom.szLabName;
                            setValue.szTestName  = "全体人员预约";
                            setValue.dwPurpose   = (uint)UNIRESERVE.DWPURPOSE.USEFOR_TEACHING + (uint)UNIRESERVE.DWPURPOSE.USEFOR_ALLUSER;
                            UNIDEVICE[] devList;
                            devList = GetDevByRoomId(setRoom.dwRoomID);
                            RESVDEV[] resvDev = new RESVDEV[devList.Length];
                            for (int j = 0; j < devList.Length; j++)
                            {
                                resvDev[j].dwDevEnd   = devList[j].dwDevSN;
                                resvDev[j].dwDevKind  = devList[j].dwKindID;
                                resvDev[j].dwDevStart = devList[j].dwDevSN;
                                resvDev[j].dwDevNum   = 1;
                                resvDev[j].szRoomNo   = devList[j].szRoomNo;
                            }
                            setValue.ResvDev = resvDev;
                            if (m_Request.Reserve.AllUserResvSet(setValue, out setValue) != REQUESTCODE.EXECUTE_SUCCESS)
                            {
                                szOutError += "<tr><td>" + szRoomName + "</td><td>" + szBeginTimeTemp + "到" + szEndTimeTemp + "</td><td>" + m_Request.szErrMessage + "</td></tr>";
                                szError    += m_Request.szErrMessage + ",";
                                uCountFali  = uCountFali + 1;
                            }
                            else
                            {
                                nImported = nImported + 1;
                            }
                        }
                    }
                }
            }
        }
        szOutError += "</table>";
        if (!bAllRight)
        {
            DownloadFile(Response, swCSV.GetStringBuilder(), "resarchTestImport.csv");
        }
        // nImported = count;
        nFailed = uCountFali;
        tWrite.Close();
    }
示例#5
0
    protected void Button1_ServerClick(object sender, EventArgs e)
    {
        Bind        ddlBind   = new Bind();
        REQUESTCODE uResponse = REQUESTCODE.EXECUTE_FAIL;

        if (ViewState["IsMemo"] != null && (string)ViewState["IsMemo"] == "true")
        {
            if (txtMemo.Text == "" || txtMemo.Text.IndexOf("必填内容") >= 0)
            {
                string szMemoVW = (string)ViewState["szlblMemo"];
                if (szMemoVW != null)
                {
                    ddlBind.MessageBoxShow(szMemoVW.Replace(":", "") + "必须填写", this.Page);
                    return;
                }
            }
        }
        string    devID  = Request["dev"];// radDevList.SelectedItem.Value.ToString();
        UNIDEVICE setDev = new UNIDEVICE();

        if (devID != null && devID != "")
        {
            DEVREQ vrGet = new DEVREQ();
            vrGet.dwDevID = ToUInt(devID);
            UNIDEVICE[] vtDev;
            uResponse = m_Request.Device.Get(vrGet, out vtDev);
            if (uResponse != REQUESTCODE.EXECUTE_SUCCESS || vtDev == null || vtDev.Length <= 0)
            {
                return;
            }
            setDev = vtDev[0];
        }
        string kindID = Request["devkind"];

        if (kindID != null && kindID != "")
        {
            DEVKINDREQ vrDevKindReq = new DEVKINDREQ();
            vrDevKindReq.dwKindID = ToUInt(kindID);
            UNIDEVKIND[] vtDevKindRes;
            uResponse = m_Request.Device.DevKindGet(vrDevKindReq, out vtDevKindRes);
            if (vtDevKindRes != null && vtDevKindRes.Length > 0)
            {
                setDev.szDevName = vtDevKindRes[0].szKindName.ToString();
            }
            setDev.dwKindID = ToUInt(kindID);
        }

        object objAccno = Session["LOGIN_ACCINFO"];

        if (objAccno == null)
        {
            return;//保存信息有丢失
        }
        UNIACCOUNT vrAccno = (UNIACCOUNT)objAccno;

        UNIRESERVE resvSet   = new UNIRESERVE();
        bool       bIsByKind = false;

        if (kindID != null && kindID != "")
        {
            bIsByKind = true;
        }
        if (ViewState["isAutoAssign"] == null)
        {
            if (bIsByKind)
            {
                resvSet.dwProperty = (uint)UNIRESERVE.DWPROPERTY.RESVPROP_AUTOASSIGN;
            }
        }
        resvSet.dwUseMode = (uint)UNIRESERVE.DWUSEMODE.RESVUSE_LEASE;
        if (groupIDHidden.Value.ToString() != "")
        {
            resvSet.dwMemberKind = (uint)UNIRESERVE.DWMEMBERKIND.MEMBERKIND_GROUP;
            resvSet.dwMemberID   = ToUInt(groupIDHidden.Value.ToString());
            resvSet.szOwnerName  = vrAccno.szTrueName.ToString() + "group:" + groupIDHidden.Value.ToString();
        }
        else
        {
            resvSet.dwMemberKind = (uint)UNIRESERVE.DWMEMBERKIND.MEMBERKIND_PERSONNAL;
            resvSet.dwMemberID   = vrAccno.dwAccNo;
            resvSet.szMemberName = vrAccno.szTrueName.ToString();
            resvSet.szOwnerName  = vrAccno.szTrueName.ToString();
        }
        resvSet.dwPurpose = (uint)UNIRESERVE.DWPURPOSE.USEFOR_PERSONNAL;



        //设置预约设备
        RESVDEV[] resvDev = new RESVDEV[1];
        if (bIsByKind)
        {
            resvDev[0]           = new RESVDEV();
            resvDev[0].dwDevKind = (uint)setDev.dwKindID;
            resvDev[0].dwDevNum  = 1;
            if (setDev.szDevName != null)
            {
                resvDev[0].szDevName = setDev.szDevName.ToString();
            }
            //实验室
            string szLabID = Request["labid"];
            if (szLabID == null || szLabID == "")
            {
                ddlBind.MessageBoxShow("", this.Page);
                return;
            }
            resvSet.dwLabID = ToUInt(szLabID);
        }
        else
        {
            resvDev[0]            = new RESVDEV();
            resvDev[0].dwDevStart = setDev.dwDevSN;
            resvDev[0].dwDevEnd   = setDev.dwDevSN;
            //实验室
            resvSet.szLabName = setDev.szLabName.ToString();
            resvSet.dwLabID   = setDev.dwLabID;
        }
        //resvSet.szResvDevs=resvDev; 20140821前
        resvSet.ResvDev = resvDev;

        //设置时间

        string szDate = (string)Request["date"];

        if (szDate == null || szDate == "")
        {
            //ddlBind.MessageBoxShow("预约失败请重新选择空间预约", this.Page);
            return;
        }
        int intDate = int.Parse(szDate);

        if (ViewState["nLimit"] != null && ViewState["nLimit"].ToString() == "2")
        {
            szDate = (int.Parse(szDate) / 10000).ToString() + "-" + ((int.Parse(szDate) % 10000) / 100).ToString("00") + "-" + ((int.Parse(szDate) % 10000) % 100).ToString("00");

            string szDDLSelectValue  = ddlPartTime.SelectedValue;
            int    intDDLSelectValue = int.Parse(szDDLSelectValue);
            int    intStartHour      = ((intDDLSelectValue / 10000) / 100);
            int    intStartMin       = ((intDDLSelectValue / 10000) % 100);

            int intEndHour = ((intDDLSelectValue % 10000) / 100);
            int intEndMin  = ((intDDLSelectValue % 10000) % 100);

            resvSet.dwBeginTime = ToUInt(ddlBind.Get1970Seconds(szDate) + intStartHour * 3600 + intStartMin * 60);
            resvSet.dwEndTime   = ToUInt(ddlBind.Get1970Seconds(szDate) + intEndHour * 3600 + intEndMin * 60);
        }
        else
        {
            if (ViewState["bIsLongTime"].ToString() == "true")
            {
                string strStartTime = lblDate.Text.ToString();
                string strEndTime   = lblDate.Text.ToString();
                resvSet.dwBeginTime = ToUInt(Get1970Seconds(strStartTime));
                resvSet.dwEndTime   = ToUInt(Get1970Seconds(strEndTime));
            }
            else
            {
                string strStartTime = lblDate.Text + " " + ddlHourStart.SelectedItem.Text.ToString();
                string strEndTime   = lblDate.Text + " " + ddlHourEnd.SelectedItem.Text.ToString();// "2012-07-23" ddlBind.ConvertDateToDisplay(intDate)
                resvSet.dwBeginTime = ToUInt(Get1970Seconds(strStartTime));
                resvSet.dwEndTime   = ToUInt(Get1970Seconds(strEndTime));
            }
        }
        if (ViewState["bIsLongTime"] != null && ViewState["bIsLongTime"].ToString() == "true")
        {
            string strStartTime = startDate.Value.ToString();
            string strEndTime   = endDate.Value.ToString();
            resvSet.dwBeginTime = ToUInt(Get1970Seconds(strStartTime));
            resvSet.dwEndTime   = ToUInt(Get1970Seconds(strEndTime));
        }
        //其他

        /*
         * resvSet.dwBeginSec = 1);
         * resvSet.dwEndSec = 2);
         * resvSet.dwUseMode = 3);
         * resvSet.dwDevKind = 4);
         * resvSet.dwDevNum = 5);
         */
        if (ViewState["AppResvDoc"] != null)
        {
            resvSet.szApplicationURL = ViewState["AppResvDoc"].ToString();
        }
        resvSet.szTestName = txtMemo.Text.ToString();
        //TODO测试使用
        // resvSet.dwBeginTime = Get1970Seconds("2012-11-14 16:53"));
        //resvSet.dwEndTime = Get1970Seconds("2012-11-14 17:53"));

        uResponse = m_Request.Reserve.Set(resvSet, out resvSet);
        Bind ddlbind = new Bind();

        if (uResponse != REQUESTCODE.EXECUTE_SUCCESS)
        {
            string error = m_Request.szErrMessage.ToString();
            ddlbind.MessageBoxShow(error, this.Page);
            //预约不成功
        }
        else
        {
            RESVDEV[] vtResvDev;
            //vtResvDev=resvSet.szResvDevs; 20140821前
            vtResvDev = resvSet.ResvDev;
            ddlbind.MessageBoxShow("您已成功预约" + vtResvDev[0].szDevName.ToString(), this.Page);
            if (ViewState["AppResvDoc"] != null)
            {
                string szFilePath = ViewState["AppResvDoc"].ToString();
                if (System.IO.File.Exists(szFilePath))
                {
                    int    idx           = szFilePath.LastIndexOf(".");
                    string suffix        = szFilePath.Substring(idx);
                    int    index         = szFilePath.LastIndexOf("\\");
                    string szFilePathNew = szFilePath.Substring(0, index) + "\\" + resvSet.dwResvID.ToString() + suffix;
                    // System.IO.File.Move(szFilePath, szFilePathNew);
                }
            }
        }
    }
示例#6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        UNIROOM[] roomList = GetAllRoom();
        if (roomList != null && roomList.Length > 0)
        {
            for (int i = 0; i < roomList.Length; i++)
            {
                szRoomList += GetInputItemHtml(CONSTHTML.option, "resvRoom", roomList[i].szRoomName, roomList[i].dwRoomID.ToString());
            }
        }
        CLASSTIMETABLE[] classTimeTable = GetTermClasTimeTable();
        for (int i = 1; i <= classTimeTable.Length; i++)
        {
            szSec += GetInputItemHtml(CONSTHTML.option, "", szSecsList[i], i.ToString());
        }
        for (int i = 0; i < szWeekDayList.Length; i++)
        {
            szWeek += GetInputItemHtml(CONSTHTML.option, "", szWeekDayList[i], (i).ToString());
        }
        int uWeekTotal = GetWeekTotalNow();

        for (int i = 1; i <= uWeekTotal; i++)
        {
            szWeeks += GetInputItemHtml(CONSTHTML.option, "", szWeeksList[i], (i).ToString());
        }

        if (IsPostBack)
        {
            UNIRESERVE setVaue  = new UNIRESERVE();
            string     szResvID = Request["dwResvID"];
            if (GetResvByID(szResvID, out setVaue))
            {
                uint uResvWeekStart = Parse(Request["dwBeginWeeksSec"]);
                uint uResvWeekEnd   = Parse(Request["dwEndWeeksSec"]);
                szResvWeeks = Request["szWeek"];//星期
                uint uResvSecBegin = Parse(Request["dwBeginSec"]);
                uint uResvSecEnd   = Parse(Request["dwEndSec"]);

                uint uWeeks        = Parse(Request["dwWeeks"]);
                uint uWeek         = Parse(Request["szWeek"]);
                uint uBeginSec     = Parse(Request["dwBeginSec"]);
                uint uEndSec       = Parse(Request["dwEndSec"]);
                uint uTeachingTime = uWeeks * 100000 + (uWeek) * 10000 + uBeginSec * 100 + uEndSec;

                uint uRoomID = Parse(Request["dwRoom"]);

                UNIROOM getRoom;
                if (!GetRoomID(uRoomID.ToString(), out getRoom))
                {
                    return;
                }
                ArrayList   resvDevList = new ArrayList();
                UNIDEVICE[] devList     = GetDevByRoomId(uRoomID);
                if (devList == null || devList.Length == 0)
                {
                    MessageBox(ConfigConst.GCRoomName + "下没有" + ConfigConst.GCDevName, "提示", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                    return;
                }
                int devCount = 0;

                for (int k = 0; k < devList.Length; k++)
                {
                    uint    uDevKind    = (uint)devList[k].dwKindID;
                    bool    bIsNew      = true;
                    int     uLocal      = -1;
                    RESVDEV resvDev     = new RESVDEV();
                    RESVDEV resvDevTemp = new RESVDEV();
                    for (int m = 0; m < resvDevList.Count; m++)
                    {
                        RESVDEV resvDevTempIn = (RESVDEV)resvDevList[m];
                        if (uDevKind == ((uint)resvDevTempIn.dwDevKind))
                        {
                            bIsNew      = false;
                            uLocal      = m;
                            resvDevTemp = resvDevTempIn;
                        }
                    }
                    if (bIsNew)
                    {
                        resvDev.dwDevStart = devList[k].dwDevSN;
                        resvDev.dwDevEnd   = devList[k].dwDevSN;
                        resvDev.dwDevKind  = devList[k].dwKindID;
                        resvDev.szRoomNo   = devList[k].szRoomNo;
                        resvDev.dwDevNum   = 1;
                        resvDevList.Add(resvDev);
                    }
                    else
                    {
                        uint uDevNum    = (uint)resvDevTemp.dwDevNum + 1;
                        uint uDevSNTemp = (uint)devList[k].dwDevSN;
                        if (uDevSNTemp < ((uint)resvDevTemp.dwDevStart))
                        {
                            resvDevTemp.dwDevStart = uDevSNTemp;
                        }
                        if (uDevSNTemp > ((uint)resvDevTemp.dwDevEnd))
                        {
                            resvDevTemp.dwDevEnd = uDevSNTemp;
                        }
                        resvDevTemp.dwDevNum = uDevNum;
                        resvDevList[uLocal]  = resvDevTemp;
                    }
                }
                RESVDEV[] resvDevRes = new RESVDEV[resvDevList.Count];
                for (int m = 0; m < resvDevRes.Length; m++)
                {
                    resvDevRes[m] = new RESVDEV();
                    resvDevRes[m] = (RESVDEV)resvDevList[m];
                }

                setVaue.dwTeachingTime = uTeachingTime;
                setVaue.ResvDev        = resvDevRes;
                setVaue.dwBeginTime    = null;
                setVaue.dwEndTime      = null;
                REQUESTCODE uResponse = m_Request.Reserve.Set(setVaue, out setVaue);
                if (uResponse == REQUESTCODE.EXECUTE_SUCCESS)
                {
                    MessageBox("修改成功", "", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
                }
                else
                {
                    MessageBox(m_Request.szErrMessage, "修改失败", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
                    return;
                }
            }
            else
            {
                MessageBox("获取不到预约信息", "修改失败", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
                return;
            }
        }
        if (Request["op"] == "set")
        {
            UNIRESERVE setValue = new UNIRESERVE();
            if (GetResvByID(Request["id"], out setValue) != true)
            {
                MessageBox(m_Request.szErrMessage, "获取失败", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
            }
            else
            {
                uint uTeachingTime = (uint)setValue.dwTeachingTime;//05030102
                uint uResvWeeks    = 0;
                uint uResvWeek     = 0;
                uint uResvBeginSec = 0;
                uint uResvEndSec   = 0;
                GetTeachingTimeDetail(uTeachingTime, out uResvWeeks, out uResvWeek, out uResvBeginSec, out uResvEndSec);
                uint   uTeachAccno  = (uint)setValue.dwOwner;
                string szTeachName  = setValue.szOwnerName;
                string testPlanName = setValue.szTestName;
                PutMemberValue("dwWeeks", uResvWeeks.ToString());
                UNIROOM[] roomListTemp = GetRoomByNO(setValue.ResvDev[0].szRoomNo, setValue.dwLabID);
                if (roomListTemp != null && roomListTemp.Length > 0)
                {
                    PutMemberValue("dwRoom", roomListTemp[0].dwRoomID.ToString());
                }
                PutMemberValue("szWeekHiden", (uResvWeek).ToString());
                PutMemberValue("dwBeginSecHiden", uResvBeginSec.ToString());
                PutMemberValue("dwEndSecHiden", uResvEndSec.ToString());
                PutMemberValue("szTeacherName", szTeachName.ToString());
                PutMemberValue("szTestPlanName", testPlanName.ToString());
                PutMemberValue("dwResvID", setValue.dwResvID.ToString());
            }
        }
        else
        {
            m_Title = "修改预约";
        }
    }
示例#7
0
    void Import(string szFilePath, string szErrListRawFile, out uint nImported, out uint nFailed, out string szOutError)
    {
        szOutError = "";
        ErrorLines = new ArrayList();
        nImported  = 0;
        nFailed    = 0;
        string strline;

        StreamWriter tWrite = new StreamWriter(szErrListRawFile, false, Encoding.GetEncoding("gb2312"));

        System.IO.StreamReader mysr      = new StreamReader(Server.MapPath(szFilePath), Encoding.GetEncoding("gb2312"));
        REQUESTCODE            uResponse = REQUESTCODE.EXECUTE_FAIL;

        System.IO.StringWriter swCSV = new System.IO.StringWriter();
        bool bAllRight  = true;
        uint count      = 0;
        uint uCountFali = 0;

        int nContint = 0;

        while ((strline = mysr.ReadLine()) != null)
        {
            nContint = nContint + 1;
            if (nContint == 1)
            {
                continue;
            }

            string szError = "";

            string[] szList = strline.Split(',');
            if (szList.Length < 4)
            {
                continue;
            }
            count = count + 1;
            string szRoomName = szList[0];
            string szResvDate = szList[1];
            uint   uBeginTime = Parse(szList[2]);
            uint   uEndTime   = Parse(szList[3]);

            UNIROOM setRoom;

            if (uEndTime <= uBeginTime)
            {
                szOutError += "<tr><td>" + szRoomName + "</td><td></td><td>结束时间小于开始时间</td></tr>";
                uCountFali  = uCountFali + 1;
                continue;
            }
            if (!GetRoomByName(szRoomName, out setRoom))
            {
                szOutError += "<tr><td>" + szRoomName + "</td><td></td><td>房间名称不存在</td></tr>";
                uCountFali  = uCountFali + 1;
                continue;
            }
            DateTime resvDate        = DateTime.Parse(szResvDate);
            string   szBeginTimeTemp = resvDate.ToString("yyyy-MM-dd") + " " + (uBeginTime / 100).ToString() + ":" + (uBeginTime % 100).ToString();
            uint     uResvBeginTime  = Get1970Seconds(szBeginTimeTemp);
            string   szEndTimeTemp   = resvDate.ToString("yyyy-MM-dd") + " " + (uEndTime / 100).ToString() + ":" + (uEndTime % 100).ToString();
            uint     uResvEndTime    = Get1970Seconds(szEndTimeTemp);

            ALLUSERRESV setValue = new ALLUSERRESV();
            setValue.dwBeginTime = uResvBeginTime;
            setValue.dwEndTime   = uResvEndTime;
            setValue.dwLabID     = setRoom.dwLabID;
            setValue.szLabName   = setRoom.szLabName;
            setValue.szTestName  = "全体人员预约";
            setValue.dwPurpose   = (uint)UNIRESERVE.DWPURPOSE.USEFOR_TEACHING + (uint)UNIRESERVE.DWPURPOSE.USEFOR_ALLUSER;
            UNIDEVICE[] devList;
            devList = GetDevByRoomId(setRoom.dwRoomID);
            RESVDEV[] resvDev = new RESVDEV[devList.Length];
            for (int m = 0; m < devList.Length; m++)
            {
                resvDev[m].dwDevEnd   = devList[m].dwDevSN;
                resvDev[m].dwDevKind  = devList[m].dwKindID;
                resvDev[m].dwDevStart = devList[m].dwDevSN;
                resvDev[m].dwDevNum   = 1;
                resvDev[m].szRoomNo   = devList[m].szRoomNo;
            }
            setValue.ResvDev = resvDev;
            if (m_Request.Reserve.AllUserResvSet(setValue, out setValue) != REQUESTCODE.EXECUTE_SUCCESS)
            {
                szOutError += "<tr><td>" + szRoomName + "</td><td>" + szBeginTimeTemp + "到" + szEndTimeTemp + "</td><td>" + m_Request.szErrMessage + "</td></tr>";
                szError    += m_Request.szErrMessage + ",";
                uCountFali  = uCountFali + 1;
            }
            else
            {
                nImported = nImported + 1;
            }
        }
        if (!bAllRight)
        {
            DownloadFile(Response, swCSV.GetStringBuilder(), "resarchTestImport.csv");
        }
        // nImported = count;
        nFailed = uCountFali;
        tWrite.Close();
    }
示例#8
0
    protected void Sub_ServerClick(object sender, EventArgs e)
    {
        old_start.Value = Request["ddlHourStart"];
        old_end.Value   = Request["ddlHourEnd"];
        Bind        ddlBind   = new Bind();
        REQUESTCODE uResponse = REQUESTCODE.EXECUTE_FAIL;

        if (ViewState["IsMemo"] != null && (string)ViewState["IsMemo"] == "true")
        {
            //if (txtMemo.Attributes["IsMust"] == "true")
            //{
            //    string szMemoVW = (string)ViewState["szlblMemo"];
            //    if (szMemoVW != null)
            //    {
            //        MsgBox(szMemoVW.Replace(":", "") + "必须填写");
            //        return;
            //    }
            //}
        }
        string    devID  = Request["dev"];
        UNIDEVICE setDev = new UNIDEVICE();

        if (devID != null && devID != "")
        {
            DEVREQ vrGet = new DEVREQ();
            vrGet.dwDevID = uint.Parse(devID);
            UNIDEVICE[] vtDev;
            uResponse = m_Request.Device.Get(vrGet, out vtDev);
            if (uResponse != REQUESTCODE.EXECUTE_SUCCESS || vtDev == null || vtDev.Length <= 0)
            {
                MsgBox("获取设备时出错:" + m_Request.szErrMsg);
                return;
            }
            setDev = vtDev[0];
        }
        string kindID    = Request["devkind"];
        bool   bIsByKind = false;

        if (!string.IsNullOrEmpty(kindID) && string.IsNullOrEmpty(devID))
        {
            bIsByKind = true;
        }
        if (bIsByKind && kindID != null && kindID != "")
        {
            DEVKINDREQ vrDevKindReq = new DEVKINDREQ();
            vrDevKindReq.dwKindID = ToUInt(kindID);
            UNIDEVKIND[] vtDevKindRes;
            uResponse = m_Request.Device.DevKindGet(vrDevKindReq, out vtDevKindRes);
            if (vtDevKindRes != null && vtDevKindRes.Length > 0)
            {
                setDev.szDevName   = vtDevKindRes[0].szKindName.ToString();
                setDev.dwClassKind = vtDevKindRes[0].dwClassKind;
            }
            else
            {
                MsgBox(m_Request.szErrMsg);
                return;
            }
            //临时方法,查找房间号
            DEVREQ req = new DEVREQ();
            req.szKindIDs = kindID;
            UNIDEVICE[] rlt;
            if (m_Request.Device.Get(req, out rlt) == REQUESTCODE.EXECUTE_SUCCESS && rlt.Length > 0)
            {
                setDev.szRoomNo  = rlt[0].szRoomNo;
                setDev.szLabName = rlt[0].szLabName;
            }
            else
            {
                MsgBox(m_Request.szErrMsg);
                return;
            }
            ////
            setDev.dwKindID = uint.Parse(kindID);
        }

        object objAccno = Session["LOGIN_ACCINFO"];

        if (objAccno == null)
        {
            return;//保存信息有丢失
        }
        UNIACCOUNT vrAccno = (UNIACCOUNT)objAccno;

        UNIRESERVE resvSet = new UNIRESERVE();

        if (ViewState["isAutoAssign"] == null)
        {
            if (bIsByKind)
            {
                resvSet.dwProperty = (uint)UNIRESERVE.DWPROPERTY.RESVPROP_AUTOASSIGN;
            }
        }
        if ((setDev.dwClassKind & (uint)UNIDEVCLS.DWKIND.CLSKIND_LOAN) > 0)
        {
            resvSet.dwUseMode = (uint)UNIRESERVE.DWUSEMODE.RESVUSE_LEASE;
        }
        else
        {
            resvSet.dwUseMode = (uint)UNIRESERVE.DWUSEMODE.RESVUSE_USEDEV;
        }
        if (groupIDHidden.Value.ToString() != "")
        {
            resvSet.dwMemberKind = (uint)UNIRESERVE.DWMEMBERKIND.MEMBERKIND_GROUP;
            resvSet.dwMemberID   = uint.Parse(groupIDHidden.Value.ToString());
            resvSet.szOwnerName  = vrAccno.szTrueName.ToString() + "group:" + groupIDHidden.Value.ToString();
        }
        else
        {
            resvSet.dwMemberKind = (uint)UNIRESERVE.DWMEMBERKIND.MEMBERKIND_PERSONNAL;
            resvSet.dwMemberID   = vrAccno.dwAccNo;
            resvSet.szOwnerName  = vrAccno.szTrueName.ToString();
        }
        resvSet.dwPurpose = (uint)UNIRESERVE.DWPURPOSE.USEFOR_PERSONNAL;



        //设置预约设备
        RESVDEV[] resvDev = new RESVDEV[1];
        if (bIsByKind)
        {
            resvDev[0]           = new RESVDEV();
            resvDev[0].dwDevKind = (uint)setDev.dwKindID;
            resvDev[0].dwDevNum  = 1;
            resvDev[0].szRoomNo  = setDev.szRoomNo;
            if (setDev.szDevName != null)
            {
                resvDev[0].szDevName = setDev.szDevName.ToString();
            }
            //实验室
            string szLabID = Request["labid"];
            if (szLabID == null || szLabID == "")
            {
                MsgBox("未指定实验室");
                return;
            }
            resvSet.dwLabID   = uint.Parse(szLabID);
            resvSet.szLabName = setDev.szLabName;
        }
        else
        {
            resvDev[0]            = new RESVDEV();
            resvDev[0].dwDevStart = setDev.dwDevSN;
            resvDev[0].dwDevEnd   = setDev.dwDevSN;
            resvDev[0].dwDevKind  = setDev.dwKindID;
            resvDev[0].szRoomNo   = setDev.szRoomNo;
            resvDev[0].dwDevNum   = 1;
            //实验室
            resvDev[0].szDevName = setDev.szDevName.ToString();
            resvSet.szLabName    = setDev.szLabName;
            resvSet.dwLabID      = setDev.dwLabID;
        }
        //resvSet.szResvDevs = resvDev; 20140821前
        resvSet.ResvDev = resvDev;

        //设置时间

        string szDate = (string)Request["date"];

        if (szDate == null || szDate == "")
        {
            //MsgBox("预约失败请重新选择空间预约", this.Page);
            return;
        }
        int intDate = int.Parse(szDate);

        if (ViewState["nLimit"] != null && ViewState["nLimit"].ToString() == "2")
        {
            szDate = (uint.Parse(szDate) / 10000).ToString() + "-" + ((uint.Parse(szDate) % 10000) / 100).ToString("00") + "-" + ((uint.Parse(szDate) % 10000) % 100).ToString("00");

            string szDDLSelectValue  = ddlPartTime.SelectedValue;
            int    intDDLSelectValue = int.Parse(szDDLSelectValue);
            int    intStartHour      = ((intDDLSelectValue / 10000) / 100);
            int    intStartMin       = ((intDDLSelectValue / 10000) % 100);

            int intEndHour = ((intDDLSelectValue % 10000) / 100);
            int intEndMin  = ((intDDLSelectValue % 10000) % 100);

            resvSet.dwBeginTime = ToUInt(Get1970Seconds(szDate) + intStartHour * 3600 + intStartMin * 60);
            resvSet.dwEndTime   = ToUInt(Get1970Seconds(szDate) + intEndHour * 3600 + intEndMin * 60);
        }
        else
        {
            if (ViewState["bIsLongTime"].ToString() == "true")
            {
                string strStartTime = lblDate.Text.ToString();
                string strEndTime   = lblDate.Text.ToString();
                resvSet.dwBeginTime = ToUInt(Get1970Seconds(strStartTime));
                resvSet.dwEndTime   = ToUInt(Get1970Seconds(strEndTime));
            }
            else
            {
                string strStartTime = lblDate.Text + " " + ddlHourStart.SelectedItem.Text.ToString();
                string end          = Request[ddlHourEnd.UniqueID];
                if (string.IsNullOrEmpty(end) || end.Length < 3)
                {
                    MsgBox("请选择结束时间");
                    return;
                }
                string strEndTime = lblDate.Text + " " + end.Substring(0, end.Length - 2) + ":" + end.Substring(end.Length - 2);
                resvSet.dwBeginTime = ToUInt(Get1970Seconds(strStartTime));
                resvSet.dwEndTime   = ToUInt(Get1970Seconds(strEndTime));
            }
        }
        if (ViewState["bIsLongTime"] != null && ViewState["bIsLongTime"].ToString() == "true")
        {
            //只选择日期
            string strStartTime = startDate.Value.ToString();
            string strEndTime   = endDate.Value.ToString();
            if (GetConfig("resvAllDay") == "1")
            {
                string start;
                string end;
                getTime(out start, out end);
                strStartTime += " " + start;
                strEndTime   += " " + end;
            }
            resvSet.dwBeginTime = ToUInt(Get1970Seconds(strStartTime));
            resvSet.dwEndTime   = ToUInt(Get1970Seconds(strEndTime));
        }

        //
        string rtName  = Request["rtName"];
        string rtLevel = Request["rtLevel"];

        if (!string.IsNullOrEmpty(rtName) && !string.IsNullOrEmpty(rtLevel))
        {
            resvSet.szTestName = rtName + "(级别:" + rtLevel + ")";
        }
        if (divUpLoadFile.Style["display"] != "none")
        {
            if (Request["up_file"] != null)
            {
                resvSet.szApplicationURL = Request["up_file"];
            }
        }
        string sztxtMemo = txtMemo.Text.Replace("&", " ");

        resvSet.szMemo     = sztxtMemo;
        resvSet.szTestName = sztxtMemo;
        Logger.Trace("ResvSet,dwBeginTime=" + resvSet.dwBeginTime + ",dwEndTime=" + resvSet.dwEndTime);
        uResponse = m_Request.Reserve.Set(resvSet, out resvSet);
        Bind ddlbind = new Bind();

        if (uResponse != REQUESTCODE.EXECUTE_SUCCESS)
        {
            string error = m_Request.szErrMessage.ToString();
            if (error.ToLower().IndexOf("owner") > -1)
            {
                error = "登陆超时,请退出后重新登陆";
            }
            MsgBox(error);
            //预约不成功
        }
        else
        {
            //RESVDEV[] vtResvDev = resvSet.szResvDevs; 20140821前
            RESVDEV[] vtResvDev = resvSet.ResvDev;
            string    szMessage = "";
            if (vtResvDev != null && vtResvDev.Length > 0)
            {
                if (ViewState["IsCheck"] != null && ViewState["IsCheck"].ToString() == "true")
                {
                    szMessage = "您已成功预约" + vtResvDev[0].szDevName.ToString() + ",需管理员审核";
                }
                else
                {
                    szMessage = "您已成功预约" + vtResvDev[0].szDevName.ToString();
                }
            }
            this.Response.Redirect("my.aspx");
        }
    }