public async System.Threading.Tasks.Task <ActionResult> Add(Models.ScenarioDetailVM model)
        {
            IScenarioItemService scenarioItemService = DependencyUtils.Resolve <IScenarioItemService>();

            //TrinhNNP
            if (ModelState.IsValid)
            {
                /*Add scenario*/
                var user     = Helper.GetCurrentUser();
                var scenario = new Data.Models.Entities.Scenario
                {
                    Title          = model.Title,
                    Description    = model.Description,
                    LayoutID       = model.LayoutId,
                    BrandID        = user.BrandID,
                    isPublic       = model.IsPublic,
                    AudioArea      = model.AudioArea ?? -1,
                    UpdateDateTime = DateTime.Now,
                };
                await this.scenarioService.CreateAsync(scenario);

                /*Add scenario items*/
                if (model.PlaylistAreaArr != null)
                {
                    foreach (var item in model.PlaylistAreaArr)
                    {
                        var i = 0;
                        if (item.PlaylistIds != null)
                        {
                            foreach (var playlist in item.PlaylistIds)
                            {
                                var scenarioItem = new Data.Models.Entities.ScenarioItem
                                {
                                    AreaID       = item.AreaId,
                                    PlaylistID   = playlist,
                                    DisplayOrder = i++,
                                    ScenarioID   = scenario.ScenarioID,
                                    LayoutID     = scenario.LayoutID,
                                };
                                await scenarioItemService.CreateAsync(scenarioItem);

                                Session.Clear();
                                Session["ADD_RESULT"] = true;
                            }
                        }
                    }
                }
                return(Json(new
                {
                    success = true,
                    url = "/Scenario/Index",
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new
            {
                success = false,
            }, JsonRequestBehavior.AllowGet));
        }
 public JsonResult CheckPlaylistIdIsUsed(int id)
 {
     try
     {
         IScenarioItemService scenarioItemService = DependencyUtils.Resolve <IScenarioItemService>();
         IScenarioService     scenarioService     = DependencyUtils.Resolve <IScenarioService>();
         var scenarioItem    = scenarioItemService.Get().ToList();
         var scenario        = scenarioService.Get().ToList();
         var scenarioItemVMs = new List <Models.ScenarioItemVM>();
         var scenarioVMs     = new List <Models.ScenarioDetailVM>();
         //check playlistId have in playlistItem
         foreach (var item in scenarioItem)
         {
             if (item.PlaylistID == id)
             {
                 var b = new Models.ScenarioItemVM
                 {
                     ScenarioId = item.ScenarioID,
                 };
                 scenarioItemVMs.Add(b);
             }
         }
         // if scenarioItemVMs != null, get Scenario Title by ScenarioId
         if (scenarioItemVMs.Count != 0)
         {
             foreach (var item in scenarioItemVMs)
             {
                 foreach (var itemScenario in scenario)
                 {
                     if (item.ScenarioId == itemScenario.ScenarioID)
                     {
                         var b = new Models.ScenarioDetailVM
                         {
                             Title = itemScenario.Title,
                         };
                         scenarioVMs.Add(b);
                     }
                 }
             }
         }
         return(Json(new
         {
             isUsing = scenarioItemVMs.Count != 0,
             scenarioVMlist = scenarioVMs,
         }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 // GET: Scenario/Form/:id
 public ActionResult Form(int?id)
 {
     Models.ScenarioDetailVM model = null;
     if (id != null)
     {
         var scenario = this.scenarioService.GetById(id ?? -1);
         if (scenario != null)
         {
             model = new Models.ScenarioDetailVM
             {
                 ScenarioId  = scenario.ScenarioID,
                 LayoutId    = scenario.LayoutID,
                 IsPublic    = scenario.isPublic ?? true,
                 AudioArea   = scenario.AudioArea,
                 Title       = scenario.Title,
                 Description = scenario.Description,
             };
         }
     }
     ViewBag.playlistList = PlaylistController.GetPlaylistIdByBrandId();
     return(View(model));
 }