public PlanScheduleRow(Reactor reactor, EpiSchedule schedule) { _reactorSchedule = new ReactorSchedule() { Schedule = schedule, Reactor = reactor, Tasks = new ObservableCollection <Task>() }; }
ReactorViewModel IReactorViewModelFactory.Create(ReactorSchedule reactorSchedule) { var vm = this.resolutionRoot.Get <ReactorViewModel>( new IParameter[] { new ConstructorArgument("id", reactorSchedule.ReactorScheduleID, true), new ConstructorArgument("reactorId", reactorSchedule.ReactorID, true), new ConstructorArgument("caption", reactorSchedule.Reactor.Caption, true), new ConstructorArgument("reactType", reactorSchedule.Reactor.ReactType, true), new ConstructorArgument("reactNumber", reactorSchedule.Reactor.ReactorNumber, true) } ); return(vm); }
public EpiSchedule CreateSchedule(String schedCode, List <ReactorSchedule> models) { using (var scope = _scopeFactory.Create()) { var ctx = scope.DbContexts.Get <PlanContext>(); foreach (var sched in ctx.EpiSchedules.Where(s => s.SchedCode == schedCode & s.Status == "A") ) { sched.Status = "I"; } EpiSchedule schedule = new EpiSchedule() { SchedCode = schedCode, Status = "A", DateCreated = DateTime.Now, }; foreach (var model in models) { var rs = new ReactorSchedule { Reactor = ctx.Reactors.Find(model.ReactorID) }; StatusMessageService.Message = "Adding: " + rs.Reactor.Caption; int count = model.Tasks.Count; int index = 1; foreach (var task in model.Tasks) { var pubTask = new Task(); Mapper.Map(task, pubTask); pubTask.TaskID = 0; pubTask.MasterTaskID = task.TaskID; StatusMessageService.Message = String.Format("Adding task: {0} of {1}", index, count); ctx.Tasks.Add(pubTask); rs.Tasks.Add(pubTask); index++; } ctx.ReactorSchedules.Add(rs); schedule.ReactorSchedules.Add(rs); } ctx.EpiSchedules.Add(schedule); schedule.DateCreated = DateTime.Now; schedule.DatePublished = DateTime.Now; schedule.CreatedBy = AuthenticationService.UserID; ctx.SaveChanges(); return(schedule); } }