private void Build(YellowstonePathology.Business.Task.Model.TaskOrder taskOrder) { using (MySqlConnection cn = new MySqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString)) { cn.Open(); this.m_SQLCommand.Connection = cn; using (MySqlDataReader dr = this.m_SQLCommand.ExecuteReader(CommandBehavior.KeyInfo)) { while (dr.Read()) { Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(taskOrder, dr); sqlDataReaderPropertyWriter.WriteProperties(); } dr.NextResult(); while (dr.Read()) { YellowstonePathology.Business.Task.Model.TaskOrderDetail taskOrderDetail = new Task.Model.TaskOrderDetail(); Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(taskOrderDetail, dr); sqlDataReaderPropertyWriter.WriteProperties(); taskOrder.TaskOrderDetailCollection.Add(taskOrderDetail); } } } }
/*public static YellowstonePathology.Business.Task.Model.TaskOrder BuildTaskOrder(XElement taskOrderElement) { YellowstonePathology.Business.Task.Model.TaskOrder taskOrder = new YellowstonePathology.Business.Task.Model.TaskOrder(); YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new YellowstonePathology.Business.Persistence.XmlPropertyWriter(taskOrderElement, taskOrder); xmlPropertyWriter.Write(); List<XElement> taskOrderDetailElements = (from item in taskOrderElement.Elements("TaskOrderDetailCollection") select item).ToList<XElement>(); foreach (XElement taskOrderDetailElement in taskOrderDetailElements.Elements("TaskOrderDetail")) { YellowstonePathology.Business.Task.Model.TaskOrderDetail taskOrderDetail = BuildTaskOrderDetail(taskOrderDetailElement); taskOrder.TaskOrderDetailCollection.Add(taskOrderDetail); } return taskOrder; } public static YellowstonePathology.Business.Task.Model.TaskOrderDetail BuildTaskOrderDetail(XElement taskOrderDetailElement) { YellowstonePathology.Business.Task.Model.TaskOrderDetail taskOrderDetail = new YellowstonePathology.Business.Task.Model.TaskOrderDetail(); YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new YellowstonePathology.Business.Persistence.XmlPropertyWriter(taskOrderDetailElement, taskOrderDetail); xmlPropertyWriter.Write(); return taskOrderDetail; }*/ private static Task.Model.TaskOrderCollection BuildTaskOrderCollection(SqlCommand cmd) { YellowstonePathology.Business.Task.Model.TaskOrderCollection result = new YellowstonePathology.Business.Task.Model.TaskOrderCollection(); using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ProductionConnectionString)) { cn.Open(); cmd.Connection = cn; using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { Task.Model.TaskOrder taskOrder = new Task.Model.TaskOrder(); Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(taskOrder, dr); sqlDataReaderPropertyWriter.WriteProperties(); result.Add(taskOrder); } dr.NextResult(); while (dr.Read()) { Task.Model.TaskOrderDetail taskOrderDetail = new Task.Model.TaskOrderDetail(); Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(taskOrderDetail, dr); sqlDataReaderPropertyWriter.WriteProperties(); foreach (Task.Model.TaskOrder taskOrder in result) { if (taskOrderDetail.TaskOrderId == taskOrder.TaskOrderId) { taskOrder.TaskOrderDetailCollection.Add(taskOrderDetail); break; } } } } } return result; }