public static void Initialize(TestContext context)
        {
            database = DalFactory.CreateDatabase();

            dao = DalFactory.CreateTournamentDao(database);

            Assert.IsNotNull(database);
        }
        public HttpResponseMessage FindById(int id)
        {
            // if (Authentication.getInstance().isAuthenticateWithHeader(Request))
            // {
            ITournamentDao TournamentDao = DalFactory.CreateTournamentDao(database);

            return(Request.CreateResponse <Tournament>(TournamentDao.FindById(id)));
            //}
            //else
            //{
            //return new HttpResponseMessage(HttpStatusCode.Forbidden);
            //}
        }
        public HttpResponseMessage GetAll()
        {
            //if (Authentication.getInstance().isAuthenticateWithHeader(Request))
            //{
            ITournamentDao TournamentDao = DalFactory.CreateTournamentDao(database);

            return(Request.CreateResponse <IEnumerable <Tournament> >(HttpStatusCode.OK, TournamentDao.FindAll()));
            //}
            //else
            //{
            //return new HttpResponseMessage(HttpStatusCode.Forbidden);
            //}
        }
        public HttpResponseMessage FindByDay(DateTime day)
        {
            //if (Authentication.getInstance().isAuthenticateWithHeader(Request))
            //{
            //var time = UnixTimeStampToDateTime(day);
            ITournamentDao TournamentDao = DalFactory.CreateTournamentDao(database);

            return(Request.CreateResponse <IList <Tournament> >(HttpStatusCode.OK, TournamentDao.FindByDay(day)));
            //}
            //else
            //{
            //	return new HttpResponseMessage(HttpStatusCode.Forbidden);
            //}
        }
        public HttpResponseMessage GetAgenda()
        {
            IMatchDao      MatchDao = DalFactory.CreateMatchDao(database);
            ITournamentDao to       = DalFactory.CreateTournamentDao(database);

            var list = MatchDao.FindAll();

            var listMatchIEn = list.Where(m =>
            {
                return(!m.Finished);
            });

            // MatchPaginateClass mpc = new MatchPaginateClass(list.Count, list);
            return(Request.CreateResponse <IEnumerable <Match> >(HttpStatusCode.OK, listMatchIEn));
        }
        public HttpResponseMessage Update([FromBody] Tournament team, int id)
        {
            //if (Authentication.getInstance().isAuthenticateWithHeader(Request))
            //{
            ITournamentDao TournamentDao = DalFactory.CreateTournamentDao(database);
            Tournament     t             = new Tournament(id, team.Name, team.Timestamp);
            var            tx            = TournamentDao.FindByDay(t.Timestamp);

            if (tx.Count > 1 && tx.Any(x => x.ID == t.ID))
            {
                return(Request.CreateResponse <bool>(HttpStatusCode.Conflict, false));
            }
            else
            {
                TournamentDao.Update(t);
                return(Request.CreateResponse <bool>(HttpStatusCode.OK, true));
            }
            //}
            //return new HttpResponseMessage(HttpStatusCode.Forbidden);
        }
        public HttpResponseMessage Insert([FromBody] Tournament tournament)
        {
            //if (Authentication.getInstance().isAuthenticateWithHeader(Request))
            //{
            ITournamentDao TournamentDao = DalFactory.CreateTournamentDao(database);
            int            id            = TournamentDao.Insert(tournament);

            if (id == -1)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "Can't create two tournaments on one day!"));
            }
            else
            {
                return(new HttpResponseMessage(HttpStatusCode.Created));
            }
            //}
            //else
            //{
            //	return new HttpResponseMessage(HttpStatusCode.Forbidden);
            //}
        }