func (urs *UserRegistrationService) FindByFacebookID(facebookID string) (*model.User, int) {
	ctx := urs.ctx
	now := ctx.MustGet("now").(time.Time)
	dbm := ctx.MustGet("dbmap").(*gorp.DbMap)

	uRepo := repository.NewUserRepo(dbm, now)

	u, _ := uRepo.FindByFacebookID(facebookID)
	return u, Complete
}
func (s *UserLoginService) setUserInContext(accessToken string) int {
	now := s.ctx.MustGet("now").(time.Time)
	dbm := s.ctx.MustGet("dbmap").(*gorp.DbMap)
	ur := repository.NewUserRepo(dbm, now)

	u, err := ur.FindByAccessToken(accessToken)

	if err != nil {
		return notFoundUserByAccessToken
	}
	s.ctx.Set("user", u)

	return findUserByAccessToken
}
func (urs *UserRegistrationService) InitializeUserByFbIDAndEmail(facebookID string, email string) (*model.User, int) {
	ctx := urs.ctx
	now := ctx.MustGet("now").(time.Time)
	dbm := ctx.MustGet("dbmap").(*gorp.DbMap)

	tx, err := dbm.Begin()
	if err != nil {
		fmt.Println(err)
		return &model.User{}, CantBeginTransactionOnInitialize
	}

	uRepo := repository.NewUserRepo(dbm, now)

	u, err := uRepo.CreateByFacebookIDAndEmail(facebookID, email)
	if err != nil {
		log.Fatalln(err)
		tx.Rollback()
		return &model.User{}, FailToCreateUserByFacebookIDAndEmail
	}

	tx.Commit()
	return u, Complete
}