Exemplo n.º 1
0
        public ICollection <string> ValidateRepository(RepoCreateModel repo)
        {
            var errors = new List <string>();

            if (repo.Name.Length < RepoMinLength || repo.Name.Length > RepoMaxLength)
            {
                errors.Add("Repository name must be between 5 and 20 symbols long.");
            }

            if (repo.RepositoryType != RepositoryPrivateType && repo.RepositoryType != RepositoryPublicType)
            {
                errors.Add("Repository must be Public or Private.");
            }

            return(errors);
        }
        public HttpResponse Create(RepoCreateModel model)
        {
            var errors = this.validator.ValidateRepository(model);

            if (errors.Any())
            {
                return(Error(errors));
            }

            var repository = new Repository
            {
                Name     = model.Name,
                IsPublic = model.RepositoryType == RepositoryPublicType,
                OwnerId  = this.User.Id
            };

            this.data.Repositories.Add(repository);
            this.data.SaveChanges();

            return(Redirect("/Repositories/All"));
        }