Skip to content

Instantly share code, notes, and snippets.

@AaronC81
Created May 26, 2017 12:12
Show Gist options
  • Save AaronC81/2364e34438679f1c0b22b77bcf0ed0e0 to your computer and use it in GitHub Desktop.
Save AaronC81/2364e34438679f1c0b22b77bcf0ed0e0 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace DataGridTesting
{
public struct TimetableDG {
public string Mon1 { get; set; }
public string Tue1 { get; set; }
public string Wed1 { get; set; }
public string Thu1 { get; set; }
public string Fri1 { get; set; }
public string Mon2 { get; set; }
public string Tue2 { get; set; }
public string Wed2 { get; set; }
public string Thu2 { get; set; }
public string Fri2 { get; set; }
}
// The datagrid needs days as columns and what as rows?
/*
* / Mon Tue Wed Thu Fri
* AM
* 1
* 2
* 3
* LNCH
* 4
* 5
* PM
*
*/
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public IEnumerable<TimetableDG> ConvertDisgustingListToStruct(List<List<List<string>>> input)
{
TimetableDG UnpackListIntoTimetableDG(IEnumerable<List<string>> i)
{
var x = i.ToList();
try
{
return new TimetableDG
{
Mon1 = string.Join(", ", x[0]),
Tue1 = string.Join(", ", x[1]),
Wed1 = string.Join(", ", x[2]),
Thu1 = string.Join(", ", x[3]),
Fri1 = string.Join(", ", x[4]),
Mon2 = string.Join(", ", x[5]),
Tue2 = string.Join(", ", x[6]),
Wed2 = string.Join(", ", x[7]),
Thu2 = string.Join(", ", x[8]),
Fri2 = string.Join(", ", x[9]),
};
} catch (Exception e)
{
return new TimetableDG
{
Mon1 = ".",
Tue1 = ".",
Wed1 = ".",
Thu1 = ".",
Fri1 = ".",
Mon2 = ".",
Tue2 = ".",
Wed2 = ".",
Thu2 = ".",
Fri2 = ".",
};
}
}
// day is a list of periods: AM, 1, 2, 3, Lunch, 4, 5, PM
var amReg = UnpackListIntoTimetableDG(input.Select(x => x[0]));
var period1 = UnpackListIntoTimetableDG(input.Select(x => x[1]));
var period2 = UnpackListIntoTimetableDG(input.Select(x => x[2]));
var period3 = UnpackListIntoTimetableDG(input.Select(x => x[3]));
var lnch = UnpackListIntoTimetableDG(input.Select(x => x[4]));
var period4 = UnpackListIntoTimetableDG(input.Select(x => x[5]));
var period5 = UnpackListIntoTimetableDG(input.Select(x => x[6]));
var pmReg = UnpackListIntoTimetableDG(input.Select(x => x[7]));
yield return amReg;
yield return period1;
yield return period2;
yield return period3;
yield return lnch;
yield return period4;
yield return period5;
yield return pmReg;
}
public MainWindow()
{
InitializeComponent();
var enumerable = ConvertDisgustingListToStruct(new List<List<List<string>>>
{
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
new List<List<string>>
{
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - AM Reg"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 1"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 2"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 3"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Lunch"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 4"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - Period 5"
},
new List<string>
{
"CLASS NAME", "ROOM NAME", "TEACHER INITIALS - PM Reg"
},
},
}).ToList();
datagrid.ItemsSource = enumerable;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment