示例#1
0
    static IRepositoryCreationViewModel GetMeAViewModel(
        IServiceProvider provider = null,
        IRepositoryCreationService creationService = null,
        IModelService modelService = null)
    {
        if (provider == null)
        {
            provider = Substitutes.ServiceProvider;
        }
        var os = provider.GetOperatingSystem();

        creationService = creationService ?? provider.GetRepositoryCreationService();
        var avatarProvider = provider.GetAvatarProvider();
        var connection     = provider.GetConnection();

        connection.HostAddress.Returns(HostAddress.GitHubDotComHostAddress);
        var usageTracker = Substitute.For <IUsageTracker>();

        modelService = modelService ?? Substitute.For <IModelService>();
        var factory = GetMeAFactory(modelService);

        var vm = new RepositoryCreationViewModel(factory, os, creationService, usageTracker);

        vm.InitializeAsync(connection).Wait();
        return(vm);
    }
示例#2
0
        //[ValidateAntiForgeryToken]
        public ActionResult Create(RepositoryCreationViewModel p)
        {
            if (ModelState.IsValid)
            {
                if (Session["userid"] != null && Session["nickname"] != null)
                {
                    TBRepository tmp = new TBRepository {
                        FDRepositoryName = p.RepositoryName, FDDescription = p.RepositoryDescription
                    };
                    tmp.FDOwner = Session["userid"].ToString();
                    db.TBRepositories.Add(tmp);
                    db.SaveChanges();
                    //SqlParameter FDOwner = new SqlParameter("FDOwner", SqlDbType.VarChar, Common.Const.EmailOrPhoneLength);
                    //FDOwner.Value = Session["userid"].ToString();
                    //SqlParameter FDRepositoryName = new SqlParameter("FDRepositoryName", SqlDbType.VarChar, Common.Const.RepositoryNameLength);
                    //FDRepositoryName.Value = p.RepositoryName;
                    //SqlParameter FDDescription = new SqlParameter("FDDescription", SqlDbType.VarChar, Common.Const.RepositoryDescriptionLength);
                    //FDDescription.Value = p.RepositoryDescription;

                    //SqlParameter output = new SqlParameter("outputObject", SqlDbType.Int);
                    //output.Value = 0;
                    ////output inserted not work here
                    //int repid = db.Database.ExecuteSqlCommand("insert into TBRepositories (FDOwner,FDRepositoryName,FDDescription) output INSERTED.FDRepositoryID  values (@FDOwner,@FDRepositoryName,@FDDescription)", FDOwner, FDRepositoryName, FDDescription);
                    TBCreator tmpCreator = new TBCreator {
                        FDRepositoryID = tmp.FDRepositoryID, FDCreator = Session["nickname"].ToString(), FDToken = "owner", FDLoginMethod = Common.Const.LoginMethod_SUPERLOGIN
                    };
                    //tmpCreator.FDRepositoryID = (int)output.Value;
                    db.TBCreators.Add(tmpCreator);
                    db.SaveChanges();
                    //System.Diagnostics.Debug.WriteLine("@@@@@@@@@@@@@@@@  " + tmp.FDRepositoryID);
                }
            }

            return(RedirectToAction("../"));
        }
示例#3
0
        public void IsPopulatedByTheRepositoryHost()
        {
            var accounts = new List <IAccount> {
                new AccountDesigner(), new AccountDesigner()
            };
            var repositoryHost = Substitute.For <IRepositoryHost>();

            repositoryHost.ModelService.GetAccounts().Returns(Observable.Return(accounts));
            var vm = new RepositoryCreationViewModel(
                repositoryHost,
                Substitute.For <IOperatingSystem>(),
                Substitute.For <IRepositoryCreationService>());

            Assert.Equal(vm.Accounts[0], vm.SelectedAccount);
            Assert.Equal(2, vm.Accounts.Count);
        }
示例#4
0
        public async Task IsPopulatedByTheRepositoryHosAsynct()
        {
            var accounts = new List <IAccount> {
                new AccountDesigner(), new AccountDesigner()
            };
            var connection   = Substitute.For <IConnection>();
            var modelService = Substitute.For <IModelService>();

            connection.HostAddress.Returns(HostAddress.GitHubDotComHostAddress);
            modelService.GetAccounts().Returns(Observable.Return(accounts));
            var vm = new RepositoryCreationViewModel(
                GetMeAFactory(modelService),
                Substitute.For <IOperatingSystem>(),
                Substitute.For <IRepositoryCreationService>(),
                Substitute.For <IUsageTracker>());
            await vm.InitializeAsync(connection);

            Assert.That(vm.Accounts[0], Is.EqualTo(vm.SelectedAccount));
            Assert.That(2, Is.EqualTo(vm.Accounts.Count));
        }
        public void IsPopulatedByTheRepositoryHost()
        {
            var accounts = new List <IAccount> {
                new AccountDesigner(), new AccountDesigner()
            };
            var connection   = Substitute.For <IConnection>();
            var modelService = Substitute.For <IModelService>();

            connection.HostAddress.Returns(HostAddress.GitHubDotComHostAddress);
            modelService.GetAccounts().Returns(Observable.Return(accounts));
            var vm = new RepositoryCreationViewModel(
                connection,
                GetMeAFactory(modelService),
                Substitute.For <IOperatingSystem>(),
                Substitute.For <IRepositoryCreationService>(),
                Substitute.For <IUsageTracker>());

            Assert.Equal(vm.Accounts[0], vm.SelectedAccount);
            Assert.Equal(2, vm.Accounts.Count);
        }