public ActionResult Add(SuccessStoryModel model, string add)
        {
            if (!_permissionService.Authorize(PermissionProvider.ManageSuccessStories))
                return AccessDeniedView();

            if (ModelState.IsValid)
            {
                try
                {
                    // Build the story entity
                    SuccessStory success = model.ToEntity();
                    success.Active = (add.ToLower() == "publish");
                    success.Author = _userService.GetUserById(model.AuthorId);

                    // Insert the story entity
                    _successStoryService.InsertSuccessStory(success);
                    _slugService.InsertSlug(new Slug{ SlugUrl = SeoExtensions.GetSeoName(success.Title), SuccessStoryId = success.Id});

                    // Build the uploaded file name and store the file
                    string path = HttpContext.Server.MapPath("/Uploads/Media/");
                    string filename = _webHelper.GetUniqueFileName(path, model.UploadedFile.FileName);
                    model.UploadedFile.SaveAs(path + filename);

                    // Build the media entity
                    var media = new Media
                    {
                        EntityId = success.Id,
                        EntityType = EntityType.SuccessStory,
                        FileName = filename
                    };

                    // Insert the media entity
                    _mediaService.InsertMedia(media);

                    SuccessNotification("The success story details have been added successfully.");
                    return RedirectToAction("Index");
                }
                catch (Exception ex)
                {
                    ErrorNotification(ex.ToString());
                }
            }

            PrepareBreadcrumbs();
            AddBreadcrumb("Add New Story", null);

            return View(PrepareSuccessStoryModel(null));
        }