Пример #1
0
        private void btnSave_Click(object sender, System.EventArgs e)
        {
            string sConflictingEvent="";
            if(!IsValid()) return;

            //check real teacher first
            string strOverLapMess="";

            strOverLapMess = strOverLapMess.Trim();

            //AutoSave=false;
            //GenerateEvent(IsRecurrenceFlag);
            //AutoSave=true;

            if(cmbTeacher2.Text.Trim()!="")
            {
                bool Ok=false;
                if(dtblDates==null)
                {
                    Ok = IsCheckOverlapTime(ref sConflictingEvent, "Real", ref strOverLapMess);
                }
                else
                {
                    foreach(DataRow dr in dtblDates.Rows)
                    {
                        Ok = IsCheckOverlapTime(ref sConflictingEvent, "Real", dr[0].ToString(), dr[1].ToString(), ref strOverLapMess);
                        if(Ok) break;
                    }
                }
                if(Ok)
                {
                    DialogResult dlg =
                        BusinessLayer.Message.MsgConfirmation(
                        "<" + cmbTeacher2.Text + "> is already scheduled in <" +
                        sConflictingEvent + ">" + strOverLapMess +
                        "\nDo you still wish to save this event?");
                    if(dlg==DialogResult.No)
                    {
                        return;
                    }
                }
            }
            else
            {
                //if real instructor is blank then check scheduled teacher
                bool Ok=false;
                if(dtblDates==null)
                    Ok = IsCheckOverlapTime(ref sConflictingEvent, "Scheduled", ref strOverLapMess);
                else
                    foreach(DataRow dr in dtblDates.Rows)
                    {
                        Ok = IsCheckOverlapTime(ref sConflictingEvent, "Scheduled", dr[0].ToString(), dr[1].ToString(), ref strOverLapMess);
                        if(Ok) break;
                    }

                if(Ok)
                {
                    DialogResult dlg =
                        BusinessLayer.Message.MsgConfirmation(
                        "<" + cmbTeacher1.Text + "> is already scheduled in <" +
                        sConflictingEvent + ">" + strOverLapMess +
                        "\nDo you still wish to save this event?");
                    if(dlg==DialogResult.No)
                        return;
                }
            }

            // Saving Logic
            /* Differentiate on the basis of current mode. For Edit mode, the event will
             * be updated after ensuring no conflicts arise as a result of the changes.
             * For Add, the event will be added after ensuring no conflicts arise.
             */
            Boolean boolSuccess = false;
            if (_mode == "Edit")
            {
                //TODO:Differentiate between Class and Program
                if(objEvent.CalendarEventID > 0)
                    if (!objEvent.IsConflicting(dtStart.Value, dtEnd.Value))
                    {
                        SaveCalendarData(dtStart.Value, dtEnd.Value);

                        if (_eventtype == EventType.Initial || _eventtype == EventType.MidTerm || _eventtype == EventType.Final)
                        {
                            objEvent.RepeatRule = "";
                            objEvent.NegativeException = "";
                            objEvent.RecurrenceText = "";
                            objEvent.Description = txtDescription.Text;
                            objEvent.EventStatus = cmbEventStatus.SelectedIndex;

                            boolSuccess = objEvent.UpdateData();

                            if (!boolSuccess)
                            {
                                Scheduler.BusinessLayer.Message.ShowException("Updating Event record.", objEvent.Message);
                                return;
                            }
                        }
                    }
            }
            else if (_mode == "Add")
            {
                //Create a new 'Event' object
                objEvent = new Events();

                if (_eventtype == EventType.Extra)
                {
                    //Add Extra Class - add record to 'CalendarEvent' table ONLY
                    SaveCalendarEvent(dtStart.Value, dtEnd.Value);
                }
                else if (_eventtype == EventType.Final || _eventtype == EventType.Initial || _eventtype == EventType.MidTerm)
                {
                    //Add Test Event - add record to 'Event' AND 'CalendarEvent' tables AND update 'Course' table
                    string strField = "";
                    if (intClassID != 0 || intProgramID != 0)
                    {
                        switch (_eventtype)
                        {
                            default: case EventType.Initial: strField = "TestInitialEventID"; break;
                            case EventType.MidTerm: strField = "TestMidtermEventID"; break;
                            case EventType.Final: strField = "TestFinalEventID"; break;
                        }

                        SaveData();
                        SaveCalendarEvent(dtStart.Value, dtEnd.Value);
                        if (intClassID != 0)
                            objEvent.UpdateClassEvent(intClassID, strField);
                        else if (intProgramID != 0)
                            objEvent.UpdateProgramEvent(intProgramID, strField);
                    }
                }
            }

            /*
            if(boolSaveSeries)
            {
                SaveData();
                if(_mode=="Edit") objEvent.DeleteCalendarEvent();
                //GenerateEvent(IsRecurrenceFlag);
            }
            else
                SaveCalendarData(dtStart.Value, dtEnd.Value);

            if(!OpenFromClsProg)
            {
                //Updating the Test Event
                string strField="";
                if(intClassID!=0)
                {
                    if(cmbEvent.SelectedIndex==0) strField="EventID";
                    else if(cmbEvent.SelectedIndex==1) strField="TestInitialEventID";
                    else if(cmbEvent.SelectedIndex==2) strField="TestMidtermEventID";
                    else if(cmbEvent.SelectedIndex==3) strField="TestFinalEventID";

                    objEvent.UpdateTestEvent("Class", strField, objEvent.EventID, intClassID);
                }
                else if(intProgramID!=0)
                {
                    if(cmbEvent.SelectedIndex==0) strField="TestInitialEventID";
                    else if(cmbEvent.SelectedIndex==1) strField="TestMidtermEventID";
                    else if(cmbEvent.SelectedIndex==2) strField="TestFinalEventID";

                    objEvent.UpdateTestEvent("Program", strField, objEvent.EventID, intProgramID);
                }
                else
                {
                    objEvent.RemoveTestEvent(objEvent.EventID, intClassID);
                }
            }
            */
            this.DialogResult = DialogResult.OK;
        }
Пример #2
0
        private void btnOK_Click(object sender, System.EventArgs e)
        {
            string strMess="";

            Events evt = new Events();
            evt.EventID = EventID;

            strMess = evt.CheckClassEvent();
            if(strMess=="") strMess = evt.CheckProgramEvent();

            if(strMess!="")
            {
                BusinessLayer.Message.MsgWarning("This Event is linked with" + strMess + ".\n\nEvent cannot be deleted.");
                Close();
                this.DialogResult=DialogResult.Cancel;
                return;
            }
            if (Convert.ToBoolean(rdDeleteChoice.EditValue))
            {
                evt.CalendarEventID = CalendarEventID;
                evt.DeleteData(false);
                if (!evt.CheckEventExists(EventID))
                {
                    string module = string.Empty;
                    int _uid = 0;
                    int _eventtypeindex = 0;
                    Events objEvent = new Events();
                    //Returns Course/Program ID
                    _uid = objEvent.GetEvent(EventID, ref module, ref _eventtypeindex);
                    objEvent.EventID = 0;
                    objEvent.UpdateClassEvent(_uid, "EventId");
                }
            }
            else
            {
                evt.DeleteData(true);
                evt.DeleteCalendarEvent();
                string module = string.Empty;
                int _uid = 0;
                int _eventtypeindex = 0;
                Events objEvent = new Events();
                //Returns Course/Program ID
                _uid = objEvent.GetEvent(EventID, ref module, ref _eventtypeindex);
                objEvent.EventID = 0;
                objEvent.UpdateClassEvent(_uid, "EventId");
            }

            Close();
            this.DialogResult=DialogResult.OK;
        }
Пример #3
0
        private void btnDelete1_Click(object sender, System.EventArgs e)
        {
            int _eventid=0;
            if(Scheduler.BusinessLayer.Message.MsgDelete())
            {
                Events evt = new Events();
                /*
                if(pnlEvent.Parent==tbpInitial)
                {
                    _eventid=eventid[0];

                    evt.EventID = _eventid;
                    evt.DeleteData(true);

                    //Update the Class data
                    evt.UpdateClassEvent("TestInitialEventID", 0, _courseid);

                    eventid[0]=0;
                }
                else if(pnlEvent.Parent==tbpMidterm)
                {
                    _eventid=eventid[1];
                    evt.EventID = _eventid;
                    evt.DeleteData(true);

                    //Update the Class data
                    evt.UpdateClassEvent("TestMidTermEventID", 0, _courseid);

                    eventid[1]=0;
                }
                else if(pnlEvent.Parent==tbpFinal)
                {
                    _eventid=eventid[2];
                    evt.EventID = _eventid;
                    evt.DeleteData(true);

                    //Update the Class data
                    evt.UpdateClassEvent("TestFinalEventID", 0, _courseid);

                    eventid[2]=0;
                }
                else*/ if(pnlEvent.Parent==tbpClassEvent)
                {
                    _eventid=eventid[3];
                    evt.EventID = _eventid;
                    evt.DeleteData(true);

                    //Update the Class data
                    evt.UpdateClassEvent("EventID", 0, _courseid);

                    eventid[3]=0;
                }

                _curreventid=0;

                InitializeEventForm();
                IsEventChanged=false;
            }
        }
Пример #4
0
        void DeleteEvent()
        {
            System.Data.DataRow eventRow = null;

            if (gvwEvent.SelectedRowsCount > 0)
                eventRow = gvwEvent.GetDataRow(gvwEvent.FocusedRowHandle);
            if (eventRow != null)
            {
                bool isRecur = false;
                int calEventID = Convert.ToInt32(eventRow["CalendarEventID"]);
                int eventID = Convert.ToInt32(eventRow["EventID"]);
                string strRecurrenceText = Common.GetString("select RecurrenceText from Event where EventID=" + eventID.ToString());

                if (strRecurrenceText != "")
                    isRecur = true;

                if (isRecur)
                {
                    #region Delete Recurrence
                    frmDeleteEvents frmDelEvt = new frmDeleteEvents(eventID, calEventID);
                    if (frmDelEvt.ShowDialog() == DialogResult.OK)
                    {
                        LoadEvent();
                    }
                    frmDelEvt.Close();
                    frmDelEvt.Dispose();
                    #endregion

                }
                else
                {
                    #region DeleteEvent
                    if (Message.MsgDelete())
                    {
                        string strMess;
                        Events evt = new Events();
                        evt.EventID = eventID;
                        strMess = evt.CheckClassEvent();
                        if (strMess == "") strMess = evt.CheckProgramEvent();

                        if (strMess != "") {
                            Message.MsgWarning("This Event is linked with" + strMess + ".\n\nEvent cannot be deleted.");
                            return;
                        }

                        evt.DeleteData(true);
                        if (!evt.CheckEventExists(eventID))
                        {
                            string module = string.Empty;
                            int _uid = 0;
                            int _eventtypeindex = 0;
                            Events objEvent = new Events();
                            //Returns Course/Program ID
                            _uid = objEvent.GetEvent(eventID, ref module, ref _eventtypeindex);
                            objEvent.EventID = 0;
                            objEvent.UpdateClassEvent(_uid, "EventId");
                        }
                        LoadEvent();
                    }
                    #endregion
                }

            }
        }