public static int Create(UserModel user, EntityDecisionOption option, int votepower) => ExecuteScalarInt( @"INSERT INTO entity_decision_votes(guid, user_id, option_id, votepower) VALUES (@guid, @user_id, @option_id, @votepower); SELECT currval('entity_decision_votes_id_seq');" , new { guid = Guid.NewGuid().ToString(), user_id = user.id, option_id = option.id, votepower } );
public static FundingTransaction Create( UserModel from, int entityId, EntityType entityType, decimal amount, CurrencyType currencyType, string note = null ) { return(Find(FundingTransaction.Create(from, entityId, entityType, null, amount, currencyType))); }
public EntityDecisionVote UserVote(UserModel user) { return(Connection().Query <EntityDecisionVote>( "SELECT * FROM entity_decision_votes WHERE user_id = @user_id AND option_id = @option_id LIMIT 1", new { user_id = user.id, option_id = id } ).FirstOrDefault()); }
public static (Project project, Repo repo) ImportProject(User me, string originId) { var externalRepo = GetClient().Repository.Get(Convert.ToInt64(originId)).Result; User creator = null; if (me != null) { var token = me.ServiceAccessToken(ServiceType.GitHub); if (token.origin_user_id == "") { GitHubUserUtils.UpdateOriginUserId(me); } var originUserId = token.origin_user_id; creator = externalRepo.Owner.Id == Convert.ToInt64(originUserId) ? me : null; } Repo repository = RepoRepository.CreateAndGet( me, externalRepo.Name, externalRepo.HtmlUrl, RepoServiceType.GitHub, externalRepo.Id.ToString() ); var project = ProjectRepository.FindOrCreate(repository.title, creator, repository); if (externalRepo.Description != null) { project.UpdateCol("description", externalRepo.Description); } return(project, repository); }
public static int Create(UserModel user, Project.Project project) => ExecuteScalarInt( @"INSERT INTO users_votepower(guid, user_id, project_id) VALUES (@guid, @user_id, @project_id); SELECT currval('users_votepower_id_seq');" , new { guid = Guid.NewGuid().ToString(), user_id = user.id, project_id = project.id } );
public static ProjectModel FindOrCreate(string name, UserModel creator, RepoModel repository) { var project = ProjectModel.FindBy("repository_id", repository.id) ?? ProjectModel.Find(ProjectModel.Create(name, creator, repository)); ProjectSetUp.Run(project, creator); return(project); }
public static FundingTransaction[] Get( UserModel user, int limit = 10 ) => Connection().Query <FundingTransaction>( @"SELECT * FROM funding_transactions WHERE from_user_id = @from_user_id LIMIT @limit", new { from_user_id = user.id, limit } ).ToArray();
public static ProjectTeamMemberModel Create(ProjectModel project = null, UserModel user = null) { user = user ?? UserFaker.Create(); project = project ?? ProjectFaker.Create(); return(ProjectTeamMemberRepository.CreateAndGet( project, user )); }
public static Board Find(ProjectModel project, UserModel creator) { return(Connection().Query <Board>( "SELECT * FROM boards WHERE project_id = @project_id AND creator_id = @creator_id LIMIT 1", new { project_id = project.id, creator_id = creator.id } ).FirstOrDefault()); }
public static Card Find(string name, UserModel creator, BoardColumnModel column) { return(Connection().Query <Card>( "SELECT * FROM cards WHERE name = @name AND creator_id = @creator_id AND column_id = @column_id LIMIT 1", new { name, creator_id = creator.id, column_id = column.id } ).FirstOrDefault()); }
public static int Create(string name, UserModel creator = null, RepoModel repo = null) { return(ExecuteScalarInt( @"INSERT INTO public.projects(guid, name, creator_id, repository_id) VALUES (@guid, @name, @creator_id, @repository_id); SELECT currval('projects_id_seq');" , new { guid = Guid.NewGuid().ToString(), name, creator_id = creator?.id, repository_id = repo?.id ?? 0 } )); }
public static ProjectModel Create(UserModel user = null, RepoModel repository = null) { user = user ?? UserFaker.Create(); repository = repository ?? RepoFaker.Create(); return(ProjectRepository.FindOrCreate( "repoName_" + Rand.SmallInt(), user, repository )); }
public static bool IsExist(ProjectModel project, UserModel user) { var res = Connection().ExecuteScalar <bool>( "SELECT COUNT(1) FROM project_team_members WHERE project_id = @project_id AND user_id = @user_id", new { project_id = project.id, user_id = user.id }); return(res); }
public static int ActiveCount(UserModel user) => ExecuteScalarInt( $@"SELECT COUNT(*) FROM invoices WHERE user_id = @user_id AND status IN ({StringUtils.Implode(new [] { InvoiceStatus.Created.ToString(), InvoiceStatus.RequiresConfirmation.ToString() }, ", ", true)})", new { user_id = user.id } );
public static int ActiveCount(UserModel user, int entityId, EntityType type) => ExecuteScalarInt( $@"SELECT COUNT(*) FROM invoices WHERE user_id = @user_id AND entity_id = @entityId AND entity_type = '{type.ToString()}' AND status IN ({StringUtils.Implode(new [] { InvoiceStatus.Created.ToString(), InvoiceStatus.RequiresConfirmation.ToString() }, ", ", true)})", new { user_id = user.id, entityId, type } );
public static BoardModel Create(UserModel user = null) { user = user ?? UserFaker.Create(); return(BoardRepository.CreateAndGet( "boardName_" + Rand.SmallInt(), "description" + Rand.SmallInt(), ProjectFaker.Create(user), user )); }
public static Invoice[] GetForUserByStatuses( UserModel user, InvoiceStatus[] enumStatuses, int limit = 10, int offset = 0 ) => Connection().Query <Invoice>( $@"SELECT * FROM invoices WHERE user_id = @user_id AND status IN ({StringUtils.Implode(enumStatuses.Select(x => x.ToString()).ToArray(), ",", true)}) ORDER BY id DESC OFFSET @offset LIMIT @limit", new { user_id = user.id, offset, limit } ).ToArray();
public static BoardColumnModel Create(UserModel user = null) { user = user ?? UserFaker.Create(); var board = BoardFaker.Create(user); return(BoardColumnRepository.CreateAndGet( "boardColumnName_" + Rand.SmallInt(), board, Convert.ToInt16(Rand.IntRange(0, 20)) )); }
public static int Create( UserModel user, CurrencyType currencyType, decimal setBalance = 0 ) => ExecuteScalarInt( $@"INSERT INTO user_balances(guid, user_id, currency_type, balance) VALUES (@guid, @user_id, '{currencyType.ToString()}', @balance); SELECT currval('user_balances_id_seq');" , new { guid = Guid.NewGuid().ToString(), user_id = user.id, balance = setBalance } );
public static CardModel Create(UserModel user = null) { user ??= UserFaker.Create(); return(CardRepository.CreateAndGet( "cardName_" + Rand.SmallInt(), "description" + Rand.SmallInt(), Rand.IntRange(0, 100), BoardColumnFaker.Create(user), user )); }
public static UserModel Create() { var rand = new Random(); var email = Rand.RandomString() + "@mail.com"; var id = UserModel.Create( email, "test-login" + Rand.RandomString(), Guid.NewGuid().ToString() ); return(UserRepository.Find(id)); }
public static int Create( UserModel user, int entityId, EntityType entityType, decimal amount, CurrencyType currencyType, InvoiceStatus status, CurrencyWallet wallet ) => ExecuteScalarInt( $@"INSERT INTO invoices(guid, user_id, entity_id, entity_type, amount, currency_type, status, wallet_id, updated_at) VALUES (@guid, @user_id, @entity_id, '{entityType.ToString()}', @amount, '{currencyType.ToString()}', '{status.ToString()}', @wallet_id, CURRENT_TIMESTAMP); SELECT currval('invoices_id_seq');" , new { guid = Guid.NewGuid().ToString(), user_id = user.id, entity_id = entityId, amount, wallet_id = wallet.id } );
public static FundingTransaction CreateDeposit( UserModel from, Invoice invoice ) { if (invoice.entity_type != EntityType.UserBalance) { throw new Exception("Deposit can be done only for UserBalance, tried for " + invoice.entity_type); } return(Find(FundingTransaction.Create( from, invoice.entity_id, invoice.entity_type, invoice, invoice.amount, invoice.currency_type ))); }
public static FundingTransaction Find(UserModel user, Invoice invoice, int entityId, EntityType entityType) => Connection().Query <FundingTransaction>( $@"SELECT * FROM funding_transactions WHERE from_user_id = @from_user_id AND invoice_id = @invoice_id AND entity_id = @entity_id AND entity_type = '{entityType.ToString()}' LIMIT 1", new { from_user_id = user.id, invoice_id = invoice.id, entity_id = entityId } ).FirstOrDefault();
public static int Create( UserModel creator, string title, string repoUrl, RepoServiceType serviceType, string originId = "" ) { return(ExecuteScalarInt( $@"INSERT INTO public.repositories(creator_id, guid, title, repo_url, service_type, origin_id) VALUES (@creator_id, @guid, @title, @repo_url, '{serviceType.ToString()}', @origin_id); SELECT currval('repositories_id_seq');" , new { creator_id = creator?.id, guid = Guid.NewGuid().ToString(), title, repo_url = repoUrl, origin_id = originId } )); }
public static ServiceAccessToken FindOrUpdateAccessToken( UserModel user, string accessToken, ServiceType serviceType ) { var token = Find(user, serviceType); if (token == null) { token = Create(user, accessToken, serviceType); } token.UpdateToken(accessToken); return(token); }
public static ExternalRepo CreateFrom(User owner, Repository repository) { if (repository.Fork || repository.Archived) { return(null); } return(new ExternalRepo() { Owner = owner, Id = repository.Id.ToString(), Name = repository.FullName, Description = repository.Description, ServiceType = ServiceType.GitHub }); }
public static Invoice Create( UserModel user = null, int?entityId = null, EntityType entityType = EntityType.Project, CurrencyType currencyType = CurrencyType.BitCoin, InvoiceStatus status = InvoiceStatus.Created ) { return(InvoiceRepository.Create( user ?? UserFaker.Create(), entityId ?? ProjectFaker.Create().id, entityType, 0.001M * Rand.SmallInt(), currencyType, status, CurrencyWalletFaker.Create(currencyType) )); }
public static Invoice Create( UserModel user, int entityId, EntityType entityType, decimal amount, CurrencyType currencyType, InvoiceStatus status, CurrencyWallet wallet ) { switch (entityType) { case EntityType.UserBalance: UserBalanceRepository.FindOrCreate(user, currencyType); break; } var invoice = Find(Invoice.Create(user, entityId, entityType, amount, currencyType, status, wallet)); DiscordWebhooks.SendEvent("system-events", $"New invoice #{invoice.id} was created for user: {invoice.user_id}"); return(invoice); }
public static ExternalRepo[] CreateFromMany(User owner, IEnumerable <Repository> repositories) { var result = new List <ExternalRepo>(); foreach (var repo in repositories) { var externalRepo = CreateFrom(owner, repo); if (externalRepo == null) { continue; } result.Add(externalRepo); } return(result.ToArray()); }