public ActionResult Create(ActionType actionType, int jobId)
        {
            ICreateViewModel viewModel = null;

            switch (actionType)
            {
            case ActionType.EmailActionConfiguration:

                viewModel = new CreateEmailActionViewModel
                {
                    ActionType          = actionType,
                    ActionConfiguration = new EmailActionConfiguration
                    {
                        JobConfigurationId = jobId
                    }
                };
                break;

            case ActionType.HipchatActionConfiguration:
                viewModel = new CreateHipChatActionViewModel
                {
                    ActionType          = actionType,
                    ActionConfiguration = new HipchatActionConfiguration()
                    {
                        JobConfigurationId = jobId
                    }
                };
                break;

            default:
                throw new NotSupportedException();
            }
            return(View(viewModel));
        }
        public async Task <ActionResult> EditHipChat(CreateHipChatActionViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                return(await InsertOrUpdate <CreateHipChatActionViewModel, HipchatActionConfiguration>(viewModel, EntityState.Modified));
            }

            return(View("Edit", viewModel));
        }
 public async Task <ActionResult> CreateHipChat(CreateHipChatActionViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         switch (viewModel.ActionType)
         {
         case ActionType.HipchatActionConfiguration:
             return(await InsertOrUpdate <CreateHipChatActionViewModel, HipchatActionConfiguration>(viewModel, EntityState.Added));
         }
     }
     return(View("Create", viewModel));
 }