コード例 #1
0
ファイル: AppRepository.cs プロジェクト: nnqdev2/TestRepo
 public void SaveSchedule(EpiSchedule schedule)
 {
     using (var scope = _scopeFactory.Create()) {
         var ctx = scope.DbContexts.Get <PlanContext>();
         ctx.Set <EpiSchedule>().AddOrUpdate(schedule);
         ctx.SaveChanges();
     }
 }
コード例 #2
0
ファイル: PlanScheduleRow.cs プロジェクト: nnqdev2/TestRepo
 public PlanScheduleRow(Reactor reactor, EpiSchedule schedule)
 {
     _reactorSchedule = new ReactorSchedule()
     {
         Schedule = schedule,
         Reactor  = reactor,
         Tasks    = new ObservableCollection <Task>()
     };
 }
コード例 #3
0
ファイル: EpiPlanViewModel.cs プロジェクト: nnqdev2/TestRepo
        public void CreateNewSchedule()
        {
            log.Trace("CreateNewSchedule");

            Context.Reactors.Load();
            var reactors = Context.Reactors.Local;

            Context.EpiSchedules.Local.Clear();

            EpiSchedule schedule = new EpiSchedule()
            {
                DateCreated = DateTime.Now,
                PublishedBy = "EPI_PLAN_TOOL"
            };

            Context.EpiSchedules.Add(schedule);
            foreach (Reactor reactor in reactors)
            {
                schedule.ReactorSchedules.Add(
                    new ReactorSchedule()
                {
                    Schedule = schedule,
                    Reactor  = reactor
                }
                    );
            }
            SaveChanges();

            ReactorGroups =
                new ObservableCollection <ReactorGroup>()
            {
                new ReactorGroup()
                {
                    GroupName = "ASM",
                    GroupRows = new ObservableCollection <ReactorSchedule>(
                        from sched in schedule.ReactorSchedules
                        where sched.Reactor.ReactType == "ASM"
                        select sched)
                },
                new ReactorGroup()
                {
                    GroupName = "CENTURA",
                    GroupRows = new ObservableCollection <ReactorSchedule>(
                        from sched in schedule.ReactorSchedules
                        where sched.Reactor.ReactType == "CENTURA"
                        select sched)
                }
            };
        }
コード例 #4
0
ファイル: AppRepository.cs プロジェクト: nnqdev2/TestRepo
 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);
     }
 }
コード例 #5
0
ファイル: ScheduleViewModel.cs プロジェクト: nnqdev2/TestRepo
 public void Load()
 {
     if (!Loading)
     {
         Loading = true;
         StatusMessageService.Message = String.Format("Loading {0} schedule.", ScheduleCodeName);
         _schedule = Repository.LoadSchedule(this.ScheduleCode);
         if (_schedule == null)
         {
             _schedule = Repository.CreateSchedule(this.ScheduleCode);
         }
         ID = _schedule.ScheduleID;
         StatusMessageService.Message = "Getting Reactor Statuses...";
         var reactorStatus = Repository.GetStatuses();
         StatusMessageService.Message = "Loading Schedules...";
         BookedOrders.Load();
         var reactors = new List <ReactorViewModel>(16);
         foreach (var rs in _schedule.ReactorSchedules.OrderBy(r => r.Reactor.ReactorNumber))
         {
             ReactorStatus status  = reactorStatus.Find(r => r.ReactorID == rs.ReactorID);
             var           reactor = _factory.Create(rs);
             StatusMessageService.Message = "Loading " + reactor.Caption;
             reactors.Add(reactor);
             reactor.Start         = Start;
             reactor.End           = End;
             reactor.Status        = status;
             reactor.TaskSelected += ReactorTaskSelected;
             reactor.Load(rs.Tasks.OrderBy(t => t.TaskIndex).ToList());
             reactor.RemoveProcessedTasks();
             reactor.RefreshLayout();
         }
         Reactors.Clear();
         Reactors.AddRange(reactors);
         Loading = false;
         StatusMessageService.Message = "Loading Complete.";
         BookedOrders.Orders.View.Refresh();
     }
 }