// Load one or more shift codes into the Shift Code Collection private void LoadShift(IJPShiftCodeCollection scc, XmlNode obj) { foreach (XmlNode d in obj) { if (d is XmlWhitespace) { continue; } if (d.Name == "Shift") { IJPShiftCode sc = new IJPShiftCode(); if (int.TryParse(GetXmlAttr(d, "ShiftNumber"), out int shift)) { foreach (XmlAttribute a in d.Attributes) { switch (a.Name) { case "StartHour": sc.StartTime.Hour = (byte)Convert.ToInt16(a.Value); break; case "StartMinute": sc.StartTime.Minute = (byte)Convert.ToInt16(a.Value); break; case "ShiftCode": sc.String = a.Value; break; } } } scc.Add(sc); } } }
private void RetrieveShiftSettings(XmlTextWriter writer, IJPShiftCodeCollection ss, int[] mask) { for (int i = 0; i < mask.Length; i++) { if ((mask[i] & (int)Ba.Shift) > 0) { writer.WriteStartElement("Shifts"); // Start Shifts { for (int shift = 0; shift < ss.Count; shift++) { writer.WriteStartElement("Shift"); // Start Shift { writer.WriteAttributeString("ShiftNumber", (shift + 1).ToString()); writer.WriteAttributeString("StartHour", ss[shift].StartTime.Hour.ToString()); writer.WriteAttributeString("StartMinute", ss[shift].StartTime.Minute.ToString()); writer.WriteAttributeString("ShiftCode", ss[shift].String); } writer.WriteEndElement(); // End Shift } } writer.WriteEndElement(); // End Shifts } } }