예제 #1
0
        public static List <Models.ScheduleVM> GetSchedulesByBrandId()
        {
            IDeviceScenarioService deviceScenarioService = DependencyUtils.Resolve <IDeviceScenarioService>();
            var              scheduleVMs     = new List <Models.ScheduleVM>();
            IBrandService    brandService    = DependencyUtils.Resolve <IBrandService>();
            var              user            = Helper.GetCurrentUser();
            var              scheduleList    = deviceScenarioService.GetSchedulesByBrandID(user.BrandID);
            IDeviceService   deviceService   = DependencyUtils.Resolve <IDeviceService>();
            IScenarioService scenarioService = DependencyUtils.Resolve <IScenarioService>();

            foreach (var item in scheduleList)
            {
                var s = new Models.ScheduleVM
                {
                    ScenarioID       = item.ScenarioID,
                    DeviceScenarioId = item.DeviceScenationID,
                    DeviceID         = item.DeviceID,
                    DeviceName       = deviceService.GetDeviceNameByID(item.DeviceID),
                    ScenarioTitle    = scenarioService.GetScenarioNameById(item.ScenarioID),
                    StartTime        = item.StartTime,
                    TimeToPlay       = item.TimesToPlay,
                    EndTime          = item.EndTime,
                };
                scheduleVMs.Add(s);
            }
            return(scheduleVMs);
        }
예제 #2
0
 // GET: Scheduling/Form/:id
 public ActionResult Form(int?id)
 {
     Models.ScheduleAddVM model = null;
     if (id != null)
     {
         IDeviceScenarioService deviceScenarioService = DependencyUtils.Resolve <IDeviceScenarioService>();
         IDeviceService         deviceService         = DependencyUtils.Resolve <IDeviceService>();
         IScenarioService       scenarioService       = DependencyUtils.Resolve <IScenarioService>();
         var item = deviceScenarioService.Get(id);
         if (item != null)
         {
             model = new Models.ScheduleAddVM
             {
                 ScenarioID       = item.ScenarioID,
                 DeviceScenarioId = item.DeviceScenationID,
                 DeviceID         = item.DeviceID,
                 isHorizontal     = scenarioService.GetScenarioOrientationById(item.ScenarioID) ?? true,
                 isFixed          = item.TimesToPlay == null,
                 StartTime        = item.StartTime,
                 TimeToPlay       = item.TimesToPlay,
                 EndTime          = item.EndTime,
                 LayoutID         = item.LayoutID,
             };
         }
     }
     return(View(model));
 }
예제 #3
0
        public async System.Threading.Tasks.Task <ActionResult> Add(Models.ScheduleAddVM model)
        {
            IDeviceScenarioService deviceScenarioService = DependencyUtils.Resolve <IDeviceScenarioService>();

            if (ModelState.IsValid && CheckTimeValid(model.DeviceID, model.StartTime, model.EndTime))
            {
                if (model.isFixed)
                {
                    model.TimeToPlay = null;
                }
                else
                {
                    model.EndTime = null;
                }
                IScenarioService scenarioService = DependencyUtils.Resolve <IScenarioService>();
                var schedule = new Data.Models.Entities.DeviceScenario
                {
                    ScenarioID  = model.ScenarioID,
                    DeviceID    = model.DeviceID,
                    TimesToPlay = model.TimeToPlay,
                    StartTime   = model.StartTime,
                    EndTime     = model.EndTime,
                    LayoutID    = scenarioService.GetLayoutIDById(model.ScenarioID),
                };
                await deviceScenarioService.CreateAsync(schedule);

                return(new ContentResult
                {
                    Content = string.Format("<script type='text/javascript'>window.parent.location.href = '{0}';</script>", Url.Action("Index", "Scheduling")),
                    ContentType = "text/html"
                });
            }
            return(View("Form", model));
        }
예제 #4
0
        public async System.Threading.Tasks.Task <ActionResult> Update(Models.ScheduleAddVM model)
        {
            IDeviceScenarioService deviceScenarioService = DependencyUtils.Resolve <IDeviceScenarioService>();

            if (ModelState.IsValid && CheckTimeValid(model.DeviceID, model.StartTime, model.EndTime))
            {
                if (model.isFixed)
                {
                    model.TimeToPlay = null;
                }
                else
                {
                    model.EndTime = null;
                }
                var schedule = deviceScenarioService.Get(model.DeviceScenarioId);
                if (schedule != null)
                {
                    schedule.ScenarioID  = model.ScenarioID;
                    schedule.DeviceID    = model.DeviceID;
                    schedule.EndTime     = model.EndTime;
                    schedule.StartTime   = model.StartTime;
                    schedule.TimesToPlay = model.TimeToPlay;
                }
                await deviceScenarioService.UpdateAsync(schedule);

                return(new ContentResult
                {
                    Content = string.Format("<script type='text/javascript'>window.parent.location.href = '{0}';</script>", Url.Action("Index", "Scheduling")),
                    ContentType = "text/html"
                });
            }
            return(View("Form", model));
        }
예제 #5
0
        // GET: Schedule/Delete/:id
        public ActionResult Delete(int id)
        {
            IDeviceScenarioService deviceScenarioService = DependencyUtils.Resolve <IDeviceScenarioService>();
            var schedule = deviceScenarioService.Get(id);

            if (schedule != null)
            {
                deviceScenarioService.Delete(schedule);
            }
            return(this.RedirectToAction("Index"));
        }
예제 #6
0
        bool CheckTimeValid(int?deviceID, DateTime startTime, DateTime?endTime)
        {
            var result = true;

            if (startTime > endTime)
            {
                result = false;
            }
            else
            {
                IDeviceScenarioService deviceScenarioService = DependencyUtils.Resolve <IDeviceScenarioService>();
                result = deviceScenarioService.CheckTimeValid(deviceID ?? -1, startTime, endTime ?? DateTime.MinValue);
            }
            return(result);
        }
 public JsonResult CheckScenarioIdIsUsed(int id)
 {
     try
     {
         IDeviceScenarioService deviceScenarioService = DependencyUtils.Resolve <IDeviceScenarioService>();
         var deviceScenario = deviceScenarioService.Get(a => a.ScenarioID == id).FirstOrDefault();
         return(Json(new
         {
             isUsing = deviceScenario != null,
         }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }