Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 public ScheduleInfo()
 {
     sc = new OrgSchedule();
 }
Esempio n. 3
0
 public ScheduleInfo(OrgSchedule sc)
 {
     this.sc = sc;
 }
Esempio n. 4
0
 public ScheduleInfo(OrgSchedule sc)
 {
     this.sc      = sc;
     SchedDay     = new CodeInfo(sc.SchedDay, "SchedDay");
     AttendCredit = new CodeInfo(sc.AttendCreditId, "AttendCredit");
 }