예제 #1
0
        /// <summary>
        /// Get Conductor object from XmlNode
        /// </summary>
        /// <param name="conductorItemNode"></param>
        /// <remarks>
        /// Takes an eventConductor child element from an eventItem and gets all its
        /// child elements to create a Conductor object, then returns that object.
        /// </remarks>
        /// <returns></returns>
        public static Conductor GetConductorFromNode(System.Xml.Linq.XElement conductorItemNode)
        {
            System.Xml.Linq.XElement conductorElement = conductorItemNode.Element(Constants.Conductor.conductorElement);
            if (conductorElement == null || string.IsNullOrEmpty((string)conductorElement.GetXElement(Constants.Conductor.conductorIDElement)))
            {
                return(null);
            }

            int conductorID;

            int.TryParse((string)conductorElement.GetXElement(Constants.Conductor.conductorIDElement), out conductorID);


            var conductor = Conductor.GetConductorByID(conductorID);

            if (!conductor.IsNew)
            {
                return(conductor);
            }

            var conductorFirstName = conductorElement.GetXElement(Constants.Conductor.conductorFirstNameElement);
            var conductorLastName  = conductorElement.GetXElement(Constants.Conductor.conductorLastNameElement);
            var conductorNote      = conductorElement.GetXElement(Constants.Conductor.conductorNoteElement);
            var conductorName4     = conductorElement.GetXElement(Constants.Conductor.conductorName4Element);
            var conductorName5     = conductorElement.GetXElement(Constants.Conductor.conductorName5Element);

            conductor = SetConductorData(conductorID, conductor, conductorFirstName, conductorLastName, conductorName4, conductorName5, conductorNote);

            return(conductor);
        }