protected virtual void DbConnExec(Action <IDbConnection> dbConnFn)
 {
     using (var dbCon = DbConnectionFactory.OpenDbConnection())
     {
         dbConnFn(dbCon);
     }
 }
Example #2
0
        public MatchResponse Post(Match request)
        {
            request.DateTime   = DateTime.Now;
            request.UserAuthId = UserSession.UserAuthId;

            using (var db = DbConnectionFactory.OpenDbConnection())
            {
                db.Save(request, true);

                foreach (var teamMatch in request.TeamMatches)
                {
                    teamMatch.Team = TryGetExistingTeam(db, teamMatch);
                    db.Save(teamMatch.Team);
                    teamMatch.TeamId = teamMatch.Team.Id;
                    db.Save(teamMatch, true);

                    foreach (var playerMatch in teamMatch.PlayerMatches)
                    {
                        playerMatch.Player = TryGetExistingPlayer(db, playerMatch);
                        db.Save(playerMatch.Player);
                        playerMatch.PlayerId = playerMatch.Player.Id;
                        db.Save(playerMatch, true);
                    }
                }
            }

            return(Get(request));
        }
 protected virtual T DbConnExec <T>(Func <IDbConnection, T> dbConnFn)
 {
     using (var dbCon = DbConnectionFactory.OpenDbConnection())
     {
         return(dbConnFn(dbCon));
     }
 }
Example #4
0
 private IDbCommand CreateCommand(){
     if(dbCmd==null)
     {
         dbConn = DbConnectionFactory.OpenDbConnection();
         dbCmd  = dbConn.CreateCommand();
     }
     return dbCmd;
 }
Example #5
0
 protected object WithDB(Func <IDbConnection, object> operation)
 {
     using (var db = DbConnectionFactory.OpenDbConnection())
     {
         logic.Init(db, GetSession(), Request);
         return(operation(db));
     }
 }
Example #6
0
        public PreferencesResponse Put(Preferences request)
        {
            ValidateUserRequest(request);

            using (var db = DbConnectionFactory.OpenDbConnection())
            {
                db.Save(request);
                return(Get(request));
            }
        }
Example #7
0
        public PreferencesResponse Get(Preferences request)
        {
            ValidateUserRequest(request);

            using (var db = DbConnectionFactory.OpenDbConnection())
            {
                var userPrefs = db.LoadSelect <Preferences>(p => p.UserId == request.UserId);
                var userPref  = userPrefs.Count == 1 ? userPrefs.First()
                    : new Preferences {
                    UserId = request.UserId, UserName = Session.UserAuthName
                };
                return(new PreferencesResponse {
                    Result = userPref
                });
            }
        }
Example #8
0
        public MatchResponse Get(Match request)
        {
            using (var db = DbConnectionFactory.OpenDbConnection())
            {
                var matches = request.Id == 0 ?
                              db.LoadSelect <Match>()
                    : db.LoadSelect <Match>(t => t.Id == request.Id);

                foreach (var match in matches)
                {
                    if (!string.IsNullOrEmpty(UserSession.Id))
                    {
                        match.UserAuthName = db.SingleById <UserAuth>(match.UserAuthId).UserName;
                    }

                    match.TeamMatches = db.LoadSelect <TeamMatch>(tm => tm.MatchId == match.Id);

                    foreach (var teamMatch in match.TeamMatches)
                    {
                        teamMatch.PlayerMatches = db.LoadSelect <PlayerMatch>(pm => pm.TeamMatchId == teamMatch.Id);

                        foreach (var playerMatch in teamMatch.PlayerMatches)
                        {
                            playerMatch.Player = db.SingleById <Player>(playerMatch.PlayerId);
                        }

                        teamMatch.Team      = db.SingleById <Team>(teamMatch.TeamId);
                        teamMatch.Team.Name = string.Join("/", GetTeamNames(teamMatch));
                    }
                }

                if (!string.IsNullOrWhiteSpace(request.PlayerName))
                {
                    var returnMatches =
                        matches.Where(
                            p => p.TeamMatches.Any(q => q.PlayerMatches.Any(r => r.Player.Name.Equals(request.PlayerName))));

                    matches = returnMatches.ToList();
                }

                return(new MatchResponse {
                    Total = matches.Count, Results = matches.OrderByDescending(m => m.DateTime).ToList()
                });
            }
        }
 protected virtual void DbConnExecTransaction(Action <IDbConnection> dbConnFn)
 {
     using (var dbCon = DbConnectionFactory.OpenDbConnection())
     {
         using (var trans = dbCon.OpenTransaction())
         {
             try
             {
                 dbConnFn(dbCon);
                 trans.Commit();
             }
             catch (Exception ex)
             {
                 trans.Rollback();
                 throw;
             }
         }
     }
 }