public Subject parseSubject(DataTable subject) { string student = (string)subject.Rows[0].ItemArray[0]; student = student.Substring(student.IndexOf(' ') + 1, student.LastIndexOf(' ') - student.IndexOf(' ') - 2); //Console.WriteLine(student.Substring(student.IndexOf(' ') + 1, student.LastIndexOf(' ') - student.IndexOf(' ') - 2)); string[] row = ((string)subject.Rows[1].ItemArray[0]).Split('.'); string subname = row[0]; string semname = row[1]; string year = row[2].Substring(row[2].Trim().LastIndexOf(' ') + 1); Subject subj = new Subject { Name = subname, Semestr = semname, Year = year, Student = student }; int i = 0; while (true) { var g = subject.Rows[4].ItemArray[i]; if (g == null) break; string str = (string)g; try { string name = str.Substring(str.IndexOf('(') + 1, str.IndexOf(')') - str.IndexOf('(') - 1).ToLower(); // System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator = "."; float coef = float.Parse(str.Substring(str.LastIndexOf(' ') + 1), new System.Globalization.CultureInfo("en-US")); //subj.Sections.Add(name, new Section() { Name = name, Coef = coef }); Section sect = new Section { Name = name, Coef = coef }; subj.Sections[name] = sect; i += 1; } catch (Exception) { break; } } float tmp = 0; float.TryParse((string)subject.Rows[5].ItemArray[i], System.Globalization.NumberStyles.Float, new System.Globalization.CultureInfo("en-US"), out tmp); subj.Points = tmp; if (float.TryParse((string)subject.Rows[5].ItemArray[i + 2], System.Globalization.NumberStyles.Float, new System.Globalization.CultureInfo("en-US"), out tmp)) { i += 2; subj.Points = tmp; } subj.Mark = (string)subject.Rows[5].ItemArray[i + 1]; int rowNumber = 8; while (rowNumber < subject.Rows.Count && subject.Rows[rowNumber].ItemArray[0] != System.DBNull.Value) { parseSection(subject, rowNumber, subj.Sections); rowNumber += 12; } return subj; }
public void Edit(Subject subject) { Subject subj = Subjects.ToList().Find(s => s.SubjectID == subject.SubjectID); if (subj == null) Add(subject); else subj = subject; }
public void Add(Subject subject) { Subjects = Subjects.Concat(new [] {subject}).ToList(); }