public void UpdateSchedules() { var db = DbUtil.Db; var orgSchedules = Org.OrgSchedules.ToList(); for (int i = orgSchedules.Count - 1; i >= 0; i--) { var s = orgSchedules[i]; if (!schedules.Any(ss => ss.Id == s.Id)) { foreach (var memtag in Org.MemberTags.Where(m => m.ScheduleId == s.Id)) { memtag.ScheduleId = null; db.SubmitChanges(); } db.OrgSchedules.DeleteOnSubmit(s); orgSchedules.Remove(s); } } db.SubmitChanges(); foreach (var s in schedules.OrderBy(ss => ss.Id)) { if (s.Id == 0) { s.Id = (orgSchedules.Count > 0) ? orgSchedules.Max(ss => ss.Id) + 1 : 1; } var schedule = orgSchedules.FirstOrDefault(ss => ss.Id == s.Id); if (schedule == null) { schedule = new OrgSchedule { OrganizationId = Id, Id = s.Id, SchedDay = s.SchedDay.Value.ToInt(), SchedTime = s.Time.ToDate(), AttendCreditId = s.AttendCredit.Value.ToInt() }; Org.OrgSchedules.Add(schedule); orgSchedules.Add(schedule); } else { schedule.Update(s.ToOrgSchedule()); } } db.SubmitChanges(); }
public ScheduleInfo() { sc = new OrgSchedule(); }
public ScheduleInfo(OrgSchedule sc) { this.sc = sc; }
public ScheduleInfo(OrgSchedule sc) { this.sc = sc; SchedDay = new CodeInfo(sc.SchedDay, "SchedDay"); AttendCredit = new CodeInfo(sc.AttendCreditId, "AttendCredit"); }