コード例 #1
0
        // GET: ScheduleOnces/Edit/5
        public PartialViewResult Edit(int?id)
        {
            if (id == null)
            {
                return(PartialView());
            }
            Schedule          schedule = _repo.FindBy(id);
            ScheduleViewModel vmodel   = new ScheduleViewModel();

            vmodel.Name      = schedule.Name;
            vmodel.Repeats   = schedule.Repeats;
            vmodel.StartDate = schedule.StartDate;
            if (schedule == null)
            {
                return(PartialView());
            }

            if (schedule.GetType().BaseType.FullName == typeof(ScheduleOnce).FullName)
            {
                vmodel.Time = ((ScheduleOnce)schedule).Time;
            }
            if (schedule.GetType().BaseType.FullName == typeof(ScheduleDaily).FullName)
            {
                vmodel.RepeatOn = ((ScheduleDaily)schedule).RepeatOn;
                vmodel.StopDate = ((ScheduleDaily)schedule).StopDate;
                vmodel.Time     = ((ScheduleDaily)schedule).Time;
            }
            if (schedule.GetType().BaseType.FullName == typeof(ScheduleWeekly).FullName)
            {
                vmodel.RepeatOnWeeks     = ((ScheduleWeekly)schedule).RepeatOnWeeks;
                vmodel.RepeatOnDaysWeeks = ((ScheduleWeekly)schedule).RepeatOnDaysWeeks;
                vmodel.Time = ((ScheduleWeekly)schedule).Time;
            }
            if (schedule.GetType().BaseType.FullName == typeof(ScheduleMonthly).FullName)
            {
                vmodel.RepeatOnDay   = ((ScheduleMonthly)schedule).RepeatOnDay;
                vmodel.RepeatOnMonth = ((ScheduleMonthly)schedule).RepeatOnMonth;
                vmodel.Time          = ((ScheduleMonthly)schedule).Time;
            }
            if (schedule.GetType().BaseType.FullName == typeof(ScheduleMonthlyRelative).FullName)
            {
                vmodel.RepeatOnFirst  = ((ScheduleMonthlyRelative)schedule).RepeatOnFirst;
                vmodel.RepeatOnDay2   = ((ScheduleMonthlyRelative)schedule).RepeatOnDay;
                vmodel.RepeatOnMonth2 = ((ScheduleMonthlyRelative)schedule).RepeatOnMonth;
                vmodel.Time           = ((ScheduleMonthlyRelative)schedule).Time;
            }
            return(PartialView(vmodel));
        }