示例#1
0
        }//end CreateDayScheduleXML

        /// <summary>
        /// Adds a new appointment child to DailySchedule XML
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="date"></param>
        /// <param name="time"></param>
        /// <param name="isBusy"></param>
        /// <returns></returns>
        public static XmlDocument AddApptNode2DayScheduleXML(string fileName, DateTime date, int time, bool isBusy = true)
        {
            try {
                //set booking status to BUSY
                string bookStatus = DaySchedule.GetDayStatusEnumString(DayStatusEnum.BUSY);
                if (!isBusy)
                {
                    //set booking status to AVAILABLE
                    bookStatus = DaySchedule.GetDayStatusEnumString(DayStatusEnum.AVAILABLE);
                }

                //OpenFile handles new file
                XmlDocument xdoc = QueryXML.OpenFile(fileName);

                xdoc = QueryXML.AddChild2Root(filename: fileName, childName: "Booking");
                xdoc = QueryXML.AddChild2LastChild(filename: fileName, childName: "Time", childIValue: time.ToString());
                xdoc = QueryXML.AddChild2LastChild(filename: fileName, childName: "Status", childIValue: bookStatus);

                //save document
                xdoc.Save(fileName);

                return(xdoc);
            }
            catch (Exception ex) {
                ExceptionHandling.LogException(ref ex);
                return(null);
            }
        }//end AddAppt2DayScheduleXML
示例#2
0
        }//end AddAppt2DayScheduleXML

        /// <summary>
        ///Returns the XMLDocument created from staff daily Shedule
        /// it returns fileName by default
        /// </summary>
        /// <param name="employee"></param>
        /// <param name="filePath"></param>
        /// <param name="date"></param>
        /// <param name="isFileNameReq"></param>
        /// <returns></returns>
        public static XmlDocument CreateXMLFromDaySchedule(EmployeeBLL employee, string filePath, DateTime date)
        {
            try {
                //get staff's agenda calendar
                SerializableDictionary <DateTime, DaySchedule> staffCalendar = employee.agenda.staffCalendar;
                //get staff day schedule for given day
                DaySchedule employeeDaySchedule = AgendaBLL.GetDaySchedule(ref staffCalendar, date);

                //create XML file
                XmlDocument xdoc     = new XmlDocument();
                string      fileName = DayScheduleXML.CreateDayScheduleXML(filePath, employee.agenda.ID, date, isFileNameReq: true);

                if (employeeDaySchedule != null)
                {
                    //loop through day schedule. ie: each hr and 1/h of the staff agenda
                    foreach (var pair in employeeDaySchedule.daySchedule)
                    {
                        //get time and availability
                        int    tempTime       = pair.Key;   //ie: 1100, 1130
                        string tempTimeStatus = pair.Value; //ie BUSY, AVAILABLE
                        System.Diagnostics.Debug.Print("Key: {0},  Value: {1}", tempTime, tempTimeStatus);


                        //check if staff is busy
                        if (pair.Value == DaySchedule.GetDayStatusEnumString(DayStatusEnum.BUSY))
                        {
                            //Add child to xml / appointment
                            xdoc = DayScheduleXML.AddApptNode2DayScheduleXML(fileName, date, tempTime);
                        }
                    } //endforloop
                }     //endif
                else
                {
                    //staff daySchedule is empty so enable all buttons
                    System.Diagnostics.Debug.Print("<h2>BLL.DayScheduleXML.CreateXMLFromDaySchedule()</h2> \t  staff daySchedule is empty!");
                    return(null);
                }

                //return XML file
                return(xdoc);
            }
            catch (Exception ex) {
                ExceptionHandling.LogException(ref ex);
                return(null);
            }
        }//end CreateDayScheduleXML