Ejemplo n.º 1
0
        public static void RenderIndex()
        {
            Type controllerType = typeof(DirectoryListController);
            var  controller     = ObjectFactory.GetInstance(controllerType) as DirectoryListController;
            var  repositories   = controller.repositories;

            HttpContext context = System.Web.HttpContext.Current;

            try
            {
                var settings = RepositoryService.AppSettings;
                var model    = new DirectoryListViewModel
                {
                    RepositoriesDirectory = repositories.GetRepositoriesDirectory().FullName,
                    Repositories          = repositories.GetAllRepositories(null, null)
                                            .Select(x => new RepositoryViewModel(x))
                };
                var view = controller.Index(null, null);

                var baseCtx   = context.Request.RequestContext.HttpContext as HttpContextBase;
                var routeData = new System.Web.Routing.RouteData();
                routeData.Values.Add("Action", "Index");
                routeData.Values.Add("Controller", "DirectoryList");
                var mvcCtx = new ControllerContext(baseCtx, routeData, controller);
                view.ExecuteResult(mvcCtx);
            }
            catch (Exception ex)
            {
                context.Response.Write("<b>Error</b><br/> " + ex.ToString().Replace(Environment.NewLine, "<br/>"));
            }
        }
Ejemplo n.º 2
0
 public FileSetupPageViewModel(
     DirectoryListViewModel dirList,
     NotificationCenterViewModel notificationCenter,
     OpenFileDialogCommand openFile,
     SaveFileDialogCommand saveFile,
     ISaveService saveService
     ) : base("File Setup", PackIconKind.File)
 {
     this.DirList            = dirList;
     this.NotificationCenter = notificationCenter;
     OpenFile            = openFile;
     SaveFile            = saveFile;
     this.saveService    = saveService;
     this.SaveFileAction = (path) => saveService.Save(path);
 }
        public ActionResult Index()
        {
            var dlvm = new DirectoryListViewModel
            {
                RepositoriesDirectory = repositories.GetRepositoriesDirectory().FullName,
                Repositories          = repositories.GetAllRepositories().Select(x => new RepositoryViewModel(x)).ToList()
            };

            bool isAuthenticated = HttpContext.User.Identity.IsAuthenticated;

            for (int i = dlvm.Repositories.Count() - 1; i >= 0; i--)
            {
                bool canRead = false;
                if (isAuthenticated)
                {
                    canRead = AuthService.CanRead(dlvm.Repositories[i].Name, HttpContext.User.Identity.Name);
                }
                if (!AuthService.IsRepositoryPublic(dlvm.Repositories[i].Name) && !canRead)
                {
                    dlvm.Repositories.RemoveAt(i);
                }
            }
            return(View(dlvm));
        }