Ejemplo n.º 1
0
        /// <summary>
        /// Asks name and description of repository.
        /// </summary>
        public override void GetParameters()
        {
            string repositoryName        = this.ConslWorker.AskStringParam("Name of the repository");
            string repositoryDescription = this.ConslWorker.AskStringParam("Description:");

            this.repositoryData = new CreateRepositoryModel(repositoryName, repositoryDescription);
        }
Ejemplo n.º 2
0
        public virtual ActionResult Create(CreateRepositoryModel model)
        {
            JsonResultData data = new JsonResultData(ModelState);

            data.RunWithTry((resultData) =>
            {
                if (ModelState.IsValid)
                {
                    Manager.Create(model.Name, model.Template);
                    resultData.RedirectUrl = Url.Action("Index", new { controller = "home", repositoryName = model.Name });
                }
            });
            return(Json(data));
        }
Ejemplo n.º 3
0
        public string Create(CreateRepositoryModel input, string username)
        {
            var user = this.db.Users.FirstOrDefault(x => x.Id == username);

            var repo = new Repository
            {
                Name      = input.Name,
                CreatedOn = DateTime.UtcNow.ToString(),
                IsPublic  = input.IsPublic,
                OwnerId   = user.Id
            };

            this.db.Repositories.Add(repo);
            this.db.SaveChanges();
            return(repo.Id);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates repository in gitHub.
        /// </summary>
        /// <param name="repositoryData">Data of new repository.</param>
        /// <returns>Client response with status of operation.</returns>
        public async Task <ClientResponse <string> > CreateRepository(CreateRepositoryModel repositoryData)
        {
            if (repositoryData == null || repositoryData.Name == string.Empty)
            {
                var clientResponse = new ClientResponse <string>
                {
                    ResponseData = string.Empty,
                    Message      = MessagesHelper.EmptyDataMessage,
                    Status       = OperationStatus.EmptyData
                };
                return(clientResponse);
            }

            string repositoryJson            = JsonConvert.SerializeObject(repositoryData);
            var    url                       = $"/{UrlConstants.UsersUrlPart}/{UrlConstants.RepositoriesUrlPart}";
            HttpResponseMessage httpresponse = await this.requestSender.SendPostRequestToGitHubApiAsync(url, repositoryJson);

            return(await this.requestSender.ProcessHttpResponse <string>(httpresponse, MessagesHelper.StandartNotFoundMessage));
        }
        public HttpResponse Create(string name, string isPublic)
        {
            if (!this.IsUserSignedIn())
            {
                return(this.Redirect("/Users/Login"));
            }
            if (string.IsNullOrWhiteSpace(name))
            {
                return(this.Error("Name is required!"));
            }
            var isItPublic = isPublic == "Public" ? true : false;
            var createRepo = new CreateRepositoryModel
            {
                Name     = name,
                IsPublic = isItPublic
            };

            var repoId = this.repositoriesService.Create(createRepo, this.GetUserId());

            return(this.Redirect("/Repositories/All"));
        }
Ejemplo n.º 6
0
        public virtual ActionResult Create(CreateRepositoryModel model)
        {
            JsonResultEntry resultEntry = new JsonResultEntry()
            {
                Success = true
            };

            try
            {
                if (ModelState.IsValid)
                {
                    ServiceFactory.RepositoryManager.Create(model.Name, model.Template);
                    resultEntry.RedirectUrl = Url.Action("Index", new { controller = "home", repositoryName = model.Name });
                }
            }
            catch (Exception e)
            {
                resultEntry.SetFailed().AddException(e);
            }
            resultEntry.AddModelState(ViewData.ModelState);
            return(Json(resultEntry));
        }
        public void TestEmptyNameInCreation()
        {
            var httpResponseMessage = new HttpResponseMessage(HttpStatusCode.Created);
            var mock         = new Mock <IRequestSender>();
            var url          = $"/{UrlConstants.UsersUrlPart}/{UrlConstants.RepositoriesUrlPart}";
            var mockResponse = new ClientResponse <string>()
            {
                Message = MessagesHelper.StandartSuccessMessage,
                Status  = OperationStatus.Susseess
            };

            mock.Setup(sender => sender.SendGetRequestToGitHubApiAsync(url))
            .ReturnsAsync(httpResponseMessage);
            mock.Setup(sender =>
                       sender.ProcessHttpResponse <string>(httpResponseMessage, MessagesHelper.StandartNotFoundMessage))
            .ReturnsAsync(mockResponse);
            RepositoryService       repoService  = new RepositoryService(mock.Object);
            CreateRepositoryModel   createModel  = new CreateRepositoryModel(string.Empty, string.Empty);
            ClientResponse <string> testResponse = repoService.CreateRepository(createModel).GetAwaiter().GetResult();

            Assert.Equal(MessagesHelper.EmptyDataMessage, testResponse.Message);
            Assert.Equal(OperationStatus.EmptyData, testResponse.Status);
        }