コード例 #1
0
        public async Task <IActionResult> OnPostScriptActionsUpdateAsync(ScriptActionsEdit action)
        {
            if (ModelState.IsValid)
            {
                switch (action.Action)
                {
                case "Create":
                    _context.ScriptActions.Add(action.ScriptAction);
                    break;

                case "Edit":
                    _context.ScriptActions.Update(action.ScriptAction);
                    break;

                case "Delete":
                    _context.ScriptActions.Remove(action.ScriptAction);
                    break;
                }
                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    //CreateNotification(ex.Message);
                }
            }

            return(await GetScriptActionsModalAsync(action));
        }
コード例 #2
0
        public async Task <PartialViewResult> OnGetScriptActionsEdit(int?id)
        {
            ScriptActionsEdit action = new ScriptActionsEdit
            {
                Scriptaction = await _context.ScriptActions.Where(s => s.ScriptActionId == id).FirstOrDefaultAsync()
            };

            action.AvailablecodesSL = (from c in _context.Codes
                                       where c.Category == "VoiceAction" &&
                                       (
                                           (!_context.ScriptActions.Any(sa => c.Code == sa.ActionCode && sa.ScriptId == action.Scriptaction.ScriptId)) ||
                                           c.Code == action.Scriptaction.ActionCode        // get current selection
                                       )
                                       select new SelectListItem {
                Value = c.Code, Text = c.Label
            }).ToList();

            action.AvailableresponsesSL = (from c in _context.Codes
                                           where c.Category == "Keypad" &&
                                           ((!_context.ScriptActions.Any(sa => c.Code == sa.Response && sa.ScriptId == action.Scriptaction.ScriptId)) ||
                                            c.Code == action.Scriptaction.Response)     // get current selection
                                           select new SelectListItem {
                Value = c.Code, Text = c.Label
            }).ToList();

            return(new PartialViewResult
            {
                ViewName = @".\Scripts\ScriptActionsEditModalPartial",
                ViewData = new ViewDataDictionary <ScriptActionsEdit>(ViewData, action)
            });
        }
コード例 #3
0
        public async Task <PartialViewResult> OnGetScriptActionsDelete(int id)
        {
            ScriptActionsEdit action = new ScriptActionsEdit
            {
                ScriptAction = await _context.ScriptActions.FirstOrDefaultAsync(sa => sa.ScriptActionId == id),
                Action       = "Delete"
            };

            return(await GetScriptActionsModalAsync(action));
        }
コード例 #4
0
        private async Task <PartialViewResult> GetScriptActionsModalAsync(ScriptActionsEdit action)
        {
            action = await GetSelectionListsAsync(action);

            return(new PartialViewResult
            {
                ViewName = @".\Scripts\ScriptActions\ScriptActionsModal",
                ViewData = new ViewDataDictionary <ScriptActionsEdit>(ViewData, action)
            });
        }
コード例 #5
0
        public async Task <PartialViewResult> OnGetScriptActionsCreate(int id)
        {
            ScriptActionsEdit action = new ScriptActionsEdit
            {
                ScriptAction = new Models.ScriptActions {
                    ScriptId = id
                },
                Action = "Create"
            };

            return(await GetScriptActionsModalAsync(action));
        }
コード例 #6
0
        public async Task <IActionResult> OnPostScriptActionsEdit(ScriptActionsEdit action)
        {
            if (ModelState.IsValid)
            {
                _context.ScriptActions.Update(action.Scriptaction);
                await _context.SaveChangesAsync();
            }

            return(new PartialViewResult
            {
                ViewName = @".\Scripts\ScriptActionsEditModalPartial",
                ViewData = new ViewDataDictionary <ScriptActionsEdit>(ViewData, action)
            });
        }
コード例 #7
0
        private async Task <ScriptActionsEdit> GetSelectionListsAsync(ScriptActionsEdit action)
        {
            switch (HttpContext.Session.GetString("DeliveryTypeCode"))
            {
            case "V":
                action.AvailableCodesSL = await(from c in _context.Codes
                                                where c.Category == "VoiceAction" &&
                                                (
                                                    (!_context.ScriptActions.Any(sa => c.Code == sa.ActionCode && sa.ScriptId == action.ScriptAction.ScriptId)) ||
                                                    c.Code == action.ScriptAction.ActionCode       // get current selection
                                                )
                                                select new SelectListItem {
                    Value = c.Code, Text = c.Label
                }).ToListAsync();

                action.AvailableResponsesSL = await(from c in _context.Codes
                                                    where c.Category == "Keypad" &&
                                                    ((!_context.ScriptActions.Any(sa => c.Code == sa.Response && sa.ScriptId == action.ScriptAction.ScriptId)) ||
                                                     c.Code == action.ScriptAction.Response)    // get current selection
                                                    select new SelectListItem {
                    Value = c.Code, Text = c.Label
                }).ToListAsync();
                break;

            case "T":
                action.AvailableCodesSL = await(from c in _context.Codes
                                                where c.Category == "SmsAction" &&
                                                (
                                                    (!_context.ScriptActions.Any(sa => c.Code == sa.ActionCode && sa.ScriptId == action.ScriptAction.ScriptId)) ||
                                                    c.Code == action.ScriptAction.ActionCode       // get current selection
                                                )
                                                select new SelectListItem {
                    Value = c.Code, Text = c.Label
                }).ToListAsync();
                break;
            }

            return(action);
        }