Ejemplo n.º 1
0
        public ActionResult <CompetitionDto> GetCompetitionById(string id)
        {
            UserModel user = UserHandler.GetUserDataByToken(Request.Headers["authorization"]);

            user = _repositoryUsers.GetUserByLogin(user.UserLogin);

            var competition = _repositoryCompetition.GetCompetitionById(id);

            if (competition != null)
            {
                if (user.UserType == UserType.person.ToString())
                {
                    return(Ok(_mapper.Map <CompetitionDto>(competition)));
                }
                if (competition.ownerId != user.Id && user.UserType == UserType.company.ToString())
                {
                    return(NotFound());
                }
                return(Ok(_mapper.Map <CompetitionDto>(competition)));
            }
            return(NotFound());
        }
Ejemplo n.º 2
0
        public ActionResult AddCompetition(CompetitionModel competition)
        {
            UserModel owner = UserHandler.GetUserDataByToken(Request.Headers["authorization"]);

            owner = UserHandler.GetUserDataFromDbByLogin(owner.UserLogin);

            #region dbAccess
            string sqlProc = "exec dbo.AddCompetition";
            Dictionary <string, object> queryParams = new Dictionary <string, object> {
                { "@description", competition.description },
                { "@startTime", competition.startTime.ToString("yyyy-MM-dd HH:mm:ss.fff") },
                { "@endTime", competition.endTime.ToString("yyyy-MM-dd HH:mm:ss.fff") },
                { "@placeOf", competition.placeOf },
                { "@ownerId", competition.ownerId }
            };
            DbHandler dbHandler = new DbHandler();
            dbHandler.GenerateProcedure(sqlProc, queryParams);
            dbHandler.GenerateQuerryValues(sqlProc, queryParams);
            sqlProc = dbHandler.AddParamsToQuery(sqlProc, queryParams);
            try
            {
                UserModel userModel = new UserModel();
                DataSet   dataSet   = dbHandler.GetSetFromDb(sqlProc, queryParams);
                foreach (DataRow row in dataSet.Tables["tab"].Rows)
                {
                    userModel.UserMail  = row["UserMail"].ToString();
                    userModel.UserLogin = row["UserLogin"].ToString();
                }
                return(Ok());
            }
            catch (Exception e)
            {
                return(Conflict(e.Message));
            }

            #endregion

            return(Ok());
        }
Ejemplo n.º 3
0
        public ActionResult <IEnumerable <RunDto> > GetRunByCompetitionId(string Id)
        {
            UserModel user    = UserHandler.GetUserDataByToken(Request.Headers["authorization"], true);
            string    sqlProc = "SELECT * FROM run (NOLOCK) WHERE competitionId = @competitionId";
            Dictionary <string, object> queryParams = new Dictionary <string, object> {
                { "@competitionId", Id }
            };
            DbHandler dbHandler = new DbHandler();
            DataSet   dataSet   = dbHandler.GetSetFromDb(sqlProc, queryParams);

            int numberOfRuns = dataSet.Tables["tab"].Rows.Count;

            RunModel[] runModels   = new RunModel[numberOfRuns];
            int        runIterator = 0;

            foreach (DataRow row in dataSet.Tables["tab"].Rows)
            {
                RunModel runModel = new RunModel();
                runModel.competitionId = row["competitionId"].ToString();
                runModel.Id            = row["Id"].ToString();
                runModel.ownerId       = row["ownerId"].ToString();
                runModel.description   = row["description"].ToString();
                runModel.target        = row["target"].ToString();
                runModel.noOfShots     = int.Parse(row["noOfShots"].ToString());

                runModels[runIterator] = runModel;
                runIterator++;
            }
            //RunModel[] runModels = GetRunsByCompIdAndUserID(Id, user.Id);

            return(Ok(runModels));

            //user = _repositoryUsers.GetUserByLogin(user.UserLogin);
            //var run = _repositoryRun.GetRunByCompetitionId(id);
            //return Ok(_mapper.Map<IEnumerable<RunDto>>(run));
        }