public static List<AssignmentConstraints> PopulateAssignmentConstraintsList(DataSet assignmentConstraintsData) { List<AssignmentConstraints> lstAssignmentConstraints = new List<AssignmentConstraints>(); AssignmentConstraints assignmentConstraints = null; DataRow[] childRows = null; string filterExpression = string.Empty; bool areSkillsPresent = false; if (assignmentConstraintsData != null) { if ( assignmentConstraintsData.Tables[0].Rows != null && assignmentConstraintsData.Tables[0].Rows.Count > 0) { areSkillsPresent = (assignmentConstraintsData.Tables.Count > 1); for (int i = 0; i < assignmentConstraintsData.Tables[0].Rows.Count; i++) { DataRow drAssignmentConstraint = assignmentConstraintsData.Tables[0].Rows[i]; if (drAssignmentConstraint != null) { assignmentConstraints = new AssignmentConstraints(); assignmentConstraints.WMSourceID = int.Parse(drAssignmentConstraint["WMSourceID"].ToString()); assignmentConstraints.Instance = int.Parse(drAssignmentConstraint["InstanceNumber"].ToString()); assignmentConstraints.StartTime = drAssignmentConstraint["StartTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["StartTime"].ToString()) : DateTime.MinValue; assignmentConstraints.EndTime = drAssignmentConstraint["EndTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["EndTime"].ToString()) : DateTime.MinValue; assignmentConstraints.SpecificStartTime = drAssignmentConstraint["SpecificStartTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["SpecificStartTime"].ToString()) : DateTime.MinValue; assignmentConstraints.MustBeCompletedByTime = drAssignmentConstraint["MustBeCompletedByTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["MustBeCompletedByTime"].ToString()) : DateTime.MinValue; assignmentConstraints.Duration = int.Parse(drAssignmentConstraint["Duration"].ToString()); //Set Time Window to "None" if nothing is returned from the DB here assignmentConstraints.TimeWindow = drAssignmentConstraint["TimeWindow"] != DBNull.Value ? (eTimeWindow)Enum.Parse(typeof(eTimeWindow), drAssignmentConstraint["TimeWindow"].ToString()) : eTimeWindow.None; assignmentConstraints.IsUserSetStartDate = bool.Parse(drAssignmentConstraint["StartTime_IsUserSet"].ToString()); lstAssignmentConstraints.Add(assignmentConstraints); } if (areSkillsPresent) { filterExpression = string.Format("WMSourceID={0}", assignmentConstraints.WMSourceID); childRows = assignmentConstraintsData.Tables[1].Select(filterExpression); // Skills if (childRows != null && childRows.Length > 0) { assignmentConstraints.Skills = new SkillCollection(); for (int index = 0; index < childRows.Length; index++) { assignmentConstraints.Skills.Add(new Skill()); assignmentConstraints.Skills[index].Code = childRows[index]["SkillCode"].ToString(); assignmentConstraints.Skills[index].Description = childRows[index]["SkillDesc"].ToString(); // assignmentConstraints.Skills[index].SourceSystems = childRows[index]["SourceSystems"].ToString(); } } } } } } return lstAssignmentConstraints; }
public static AssignmentConstraints PopulateAssignmentConstraints(DataTable assignmentConstraintsData, DataTable assignmentSkillsData) { //[WMSourceID], //[InstanceNumber], //[AssignmentConstraintID], //[TimeWindow], //[Duration], //[StartTime], //[EndTime], //[SpecificStartTime], //[MustBeCompletedByTime] //[StartTime_IsUserSet] //[StartTime_IsUserSet] //[SkillCodes] AssignmentConstraints assignmentConstraints = new AssignmentConstraints(); if (assignmentConstraintsData.Rows != null && assignmentConstraintsData.Rows.Count > 0) { DataRow drAssignmentConstraint = assignmentConstraintsData.Rows[0]; if (drAssignmentConstraint != null) { assignmentConstraints = new AssignmentConstraints(); assignmentConstraints.WMSourceID = int.Parse(drAssignmentConstraint["WMSourceID"].ToString()); assignmentConstraints.Instance = int.Parse(drAssignmentConstraint["InstanceNumber"].ToString()); assignmentConstraints.StartTime = drAssignmentConstraint["StartTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["StartTime"].ToString()) : DateTime.MinValue; assignmentConstraints.EndTime = drAssignmentConstraint["EndTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["EndTime"].ToString()) : DateTime.MinValue; assignmentConstraints.SpecificStartTime = drAssignmentConstraint["SpecificStartTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["SpecificStartTime"].ToString()) : DateTime.MinValue; assignmentConstraints.MustBeCompletedByTime = drAssignmentConstraint["MustBeCompletedByTime"] != DBNull.Value ? DateTime.Parse(drAssignmentConstraint["MustBeCompletedByTime"].ToString()) : DateTime.MinValue; assignmentConstraints.Duration = int.Parse(drAssignmentConstraint["Duration"].ToString()); //Set Time Window to "None" if nothing is returned from the DB here assignmentConstraints.TimeWindow = drAssignmentConstraint["TimeWindow"] != DBNull.Value ? (eTimeWindow)Enum.Parse(typeof(eTimeWindow), drAssignmentConstraint["TimeWindow"].ToString()) : eTimeWindow.None; assignmentConstraints.IsUserSetStartDate = bool.Parse(drAssignmentConstraint["StartTime_IsUserSet"].ToString()); //Load up Skills data ... if we have any if (assignmentSkillsData != null && assignmentSkillsData.Rows.Count > 0) { assignmentConstraints.Skills = PopulateSkillCollection(assignmentSkillsData); } } } return assignmentConstraints; }