}//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
}//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