public bool CreateActiveGamerScheme(IDbConnection db, active_gamer_scheme activeGamerScheme) { string sqlQuery = @"INSERT INTO active_gamer_scheme (customer_account_id, inviter_id, balance, is_archived, reward) VALUES (@customer_account_id, @inviter_id, @balance, @is_archived, @reward)"; return 1 == db.Execute(sqlQuery, new { customer_account_id = activeGamerScheme.customer_account_id, inviter_id = activeGamerScheme.inviter_id, balance = activeGamerScheme.balance.Value, is_archived = activeGamerScheme.is_archived, reward = activeGamerScheme.reward, }); }
public bool UpdateActiveGamerScheme(IDbConnection db, active_gamer_scheme activeGamerScheme) { string sqlQuery = @"UPDATE active_gamer_scheme SET balance = @balance, is_archived = @is_archived, reward = @reward WHERE customer_account_id = @customer_account_id AND inviter_id = @inviter_id"; return 1 == db.Execute(sqlQuery, new { customer_account_id = activeGamerScheme.customer_account_id, inviter_id = activeGamerScheme.inviter_id, balance = activeGamerScheme.balance.Value, is_archived = activeGamerScheme.is_archived, reward = activeGamerScheme.reward, }); }
public void AddActiveGamerScheme(customer_account customer, coin_transaction coinTransaction) { var repo = Repo.Instance; using (var db = repo.OpenConnectionFromPool()) { var reward = repo.GetActiveGamerScheme(db, customer.id).Data; if (reward == null) { customer_account inviter = repo.GetCustomerByUserName(db, customer.inviter_username).Data; reward = new active_gamer_scheme { customer_account_id = customer.id, inviter_id = inviter.id, balance = 0 }; repo.CreateActiveGamerScheme(db, reward); } if (reward.is_archived) return; reward.balance += coinTransaction.amount; repo.UpdateActiveGamerScheme(db, reward); } }