private DataSet GetTemplate() { DataSet ds = new DataSet(); try { STD_RoutineByValueManager STD_RoutineByValueManager = new STD_RoutineByValueManager(); ds = STD_RoutineByValueManager.GetSTD_GetColumnNames(); DataTable table = new DataTable("tblRoutineTemplate"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string columnName = ds.Tables[0].Rows[i][0].ToString(); table.Columns.Add(columnName, typeof(string)); } ds.Tables.Add(table); } catch (Exception ex) { ex.Message.ToString(); } return ds; }
private void GenerateRoutine(string classID, string employeeID, string subjectID) { Hashtable htRoutineValues = new Hashtable(); string crValue = string.Empty; DataRow newRow = null; DataSet dsRoutine = new DataSet(); DataSet dsWeekDay = new DataSet(); dsRoutine.Clear(); STD_RoutineByValueManager STD_RoutineByValueManager = new STD_RoutineByValueManager(); dsRoutine = STD_RoutineByValueManager.GetSTD_RoutineByParam(subjectID, employeeID, classID); dsWeekDay = STD_RoutineByValueManager.GetSTD_WeekDay(); //string[] weekDayNames1= dsWeekDay.Tables[0].AsEnumerable().Select(dr => dr["Name"].ToString()).ToArray(); DataSet ds = GetTemplate(); if (dsRoutine.Tables[0].Columns.Contains("subjectname")) dsRoutine.Tables[0].Columns.Remove("subjectname"); if (dsRoutine.Tables[0].Columns.Contains("Order")) dsRoutine.Tables[0].Columns.Remove("Order"); string[] columnNames = (from dc in dsRoutine.Tables[0].Columns.Cast<DataColumn>() select dc.ColumnName).ToArray(); string[] allColumnNames = (from dc in ds.Tables["tblRoutineTemplate"].Columns.Cast<DataColumn>() select dc.ColumnName).ToArray(); //string[] weekDayNames = { "Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thrusday", "Friday", "", "Days" }; //string[] weekDayNames = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.DayNames; string[] weekDayNames = dsWeekDay.Tables[0].AsEnumerable().Select(dr => dr["Name"].ToString()).ToArray(); if(dsRoutine.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsRoutine.Tables[0].Rows.Count; i++) { for (int j = 0; j < columnNames.Count(); j++) { string rowValue = String.Empty, columnName = String.Empty, currDay = String.Empty; rowValue = dsRoutine.Tables[0].Rows[i][j].ToString(); currDay = dsRoutine.Tables[0].Rows[i][0].ToString(); columnName = columnNames[j].ToString(); if (prevDayName == currDay) { string parameter = "Days = '" + prevDayName + "'"; if (!weekDayNames.Contains(columnName)) { if (htRoutineValues[columnName] == null) { htRoutineValues.Add(columnName, rowValue); crValue = htRoutineValues[columnName].ToString(); rowValue = crValue; } else { if ((rowValue != htRoutineValues[columnName].ToString()) && rowValue != "") { if (htRoutineValues[columnName].ToString() == "" || rowValue == "") crValue = rowValue; else crValue = rowValue + ", " + htRoutineValues[columnName].ToString(); htRoutineValues[columnName] = crValue; rowValue = crValue; } } } DataRow[] rows = ds.Tables["tblRoutineTemplate"].Select(parameter); string rowname = columnName; if (allColumnNames.Contains(columnName)) { if (rowValue != String.Empty) { rows[0][rowname] = rowValue; rows[0].AcceptChanges(); rows[0].SetModified(); } } } else { htRoutineValues.Clear(); if (!weekDayNames.Contains(columnName)) { htRoutineValues.Add(columnName, rowValue); } newRow = ds.Tables["tblRoutineTemplate"].NewRow(); string rowname = columnName; if (allColumnNames.Contains(columnName)) { newRow[rowname] = rowValue; ds.Tables["tblRoutineTemplate"].Rows.Add(newRow); } } prevDayName = dsRoutine.Tables[0].Rows[i][0].ToString(); rowValue = String.Empty; prevColName = columnName; } } Session["tblRoutineTemplate"] = ds; Comm_Display_Routine dRoutine = new Comm_Display_Routine(); dvAddRoutine.InnerHtml = dRoutine.ConvertDataTableToHTMLString(ds.Tables["tblRoutineTemplate"], "2px", "1", true, true); } else { ds.Clear(); Session["tblRoutineTemplate"] = null; dvAddRoutine.InnerHtml = "No Record Found"; } }