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)); }