Example #1
0
        public Admin(IContributorRepository contributorRepository, IDemoModelFactory demoModelFactory, IDemoRepository demoRepository)
        {
            this.RequiresAuthentication();

            Delete["/contributor/{username}"] = parameters =>
            {
                contributorRepository.DeleteByUserName((string)parameters.username);
                demoRepository.DeleteByAuthor((string)parameters.username);

                return(Response.AsRedirect("~/contributors"));
            };

            Post["/contributors/refresh"] = parameters =>
            {
                var model =
                    contributorRepository.GetAll();

                demoRepository.DeleteAll();

                foreach (var contributorModel in model)
                {
                    var demos =
                        demoModelFactory.Retrieve(contributorModel.Username);

                    foreach (var demoModel in demos)
                    {
                        demoRepository.Persist(demoModel);
                    }
                }

                return(Response.AsRedirect("~/contributors"));
            };
        }
Example #2
0
        public Admin(IContributorRepository contributorRepository, IDemoModelFactory demoModelFactory, IDemoRepository demoRepository)
        {
            this.RequiresAuthentication();

            Delete["/contributor/{username}"] = parameters =>
            {
                contributorRepository.DeleteByUserName((string)parameters.username);
                demoRepository.DeleteByAuthor((string)parameters.username);

                return Response.AsRedirect("~/contributors");
            };

            Post["/contributors/refresh"] = parameters =>
            {
                var model =
                    contributorRepository.GetAll();

                foreach (var contributorModel in model)
                {
                    var demos =
                        demoModelFactory.Retrieve(contributorModel.Username);

                    foreach (var demoModel in demos)
                    {
                        demoRepository.Persist(demoModel);
                    }
                }

                return Response.AsRedirect("~/contributors");
            };
        }
Example #3
0
        public Contributors(IContributorRepository contributorRepository, IDemoModelFactory demoModelFactory, IContributorModelFactory factory)
            : base("/contributors")
        {
            Get["/"] = x => {
                return(View["contributors"]);
            };

            Post["/"] = x => {
                var contributor =
                    factory.Retrieve((string)Request.Form.username);

                if (contributorRepository != null)
                {
                    contributorRepository.Persist(contributor);
                }

                return(Response.AsRedirect("~/contributors"));
            };
        }
        public Contributors(IContributorRepository contributorRepository, IDemoModelFactory demoModelFactory, IGitHubUserFactory factory)
            : base("/contributors")
        {
            Get["/"] = x => {
                return View["contributors"];
            };

            Post["/"] = x => {
                var contributor =
                    factory.Retrieve((string)Request.Form.username);

                if (contributorRepository != null)
                {
                    contributorRepository.Persist(contributor);
                }

                return Response.AsRedirect("~/contributors");
            };
        }