Перепрыгнеть в содержание


- - - - -

Помогите с поиском новых матчей


72 ответов в эту тему

#41 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
63

Добавлено 06 January 2015 - 12:21

Сообщенияmaxspeed, on 06 January 2015 - 10:39, сказал:

я по-моему добавил его из другого проекта
а в чем проблема?
не так как -то прописано?

Да не,проблем никаких нет.Я просто думал,что я где-то,что-то пропустил.Ну так ты разобрался с MarketProjection ?

#42 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 06 January 2015 - 13:06

да нет я не понял после того я сделал Add ничего присваивать не надо или все таки надо

#43 OFFLINE   clerk

    Специалист


  • Модератор
  • 584 сообщения
102

Добавлено 06 January 2015 - 13:33

Когда вы сделали marketProjections.Add( Х ), тем самым в добавили компонент Х в набор marketProjections. Если нужен компонент У - добавляете и его, и следующий какой нужен. А больше для marketProjections'а ничего не требуется

#44 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 06 January 2015 - 13:43

а для listMarketCatalogue ? как через него запросить матчи с тоталами например 4,5 и 5,5 ?

#45 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 06 January 2015 - 14:54

Всех с Рождеством Христовым!

#46 OFFLINE   clerk

    Специалист


  • Модератор
  • 584 сообщения
102

Добавлено 06 January 2015 - 17:16

Может, все проще? По эвентрезульт получаете количество рынков на событии. Если рынков 15 - есть тоталы до 6,5, если от 25 - есть все тоталы (до 8,5) если рынков всего 2 то там только тотал 2,5

#47 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
63

Добавлено 06 January 2015 - 17:18

Сообщенияmaxspeed, on 06 January 2015 - 13:06, сказал:

да нет я не понял после того я сделал Add ничего присваивать не надо или все таки надо

Тип MarketProjection - это перечисление.Но переменная marketProjection в методе listMarketCatalogue является массивом типа MarketProjection.Поэтому ты можешь добавить в marketProjection одно или несколько значений MarketProjection.Но добавляются эти значения не в кавычках - "EVENT", а так - MarketProjection.EVENT .Если тебе так будет понятней,то можешь инициализировать marketProjection так:

ISet<MarketProjection> marketProjections = new HashSet<MarketProjection>() {MarketProjection.EVENT };

или так:

ISet<MarketProjection> marketProjections = new HashSet<MarketProjection>() {MarketProjection.EVENT,MarketProjection.RUNNER_METADATA };

и так далее.Всего в marketProjection может быть от 1-го до 7-ми значений(COMPETITIONEVENT , EVENT_TYPE , MARKET_START_TIME , MARKET_DESCRIPTION , RUNNER_DESCRIPTION , RUNNER_METADATA)

Для вызова тоталов в listMarketCatalogue

TimeRange time = new TimeRange();
time.From = DateTime.Now;
time.To = DateTime.Now.AddDays(1);

marketFilter = new MarketFilter();
marketFilter.EventTypeIds.Add("1");
marketFilter.MarketStartTime = time;
marketFilter.MarketTypeCodes.Add("OVER_UNDER_45");
marketFilter.MarketTypeCodes.Add("OVER_UNDER_55");


var marketSort = MarketSort.FIRST_TO_START;
var maxResults = "1";

Но ответ придет тольko на один тотал.Или 4,5 или 5,5. Думаю,чтобы ответ пришел на оба тотала,надо в фильтре заполнить переменную eventIds.Соответственно,ее надо знать заранее.

Отредактировано bardmauzer, 06 January 2015 - 17:20.


#48 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
63

Добавлено 06 January 2015 - 17:29

Сообщенияclerk, on 06 January 2015 - 17:16, сказал:

Может, все проще? По эвентрезульт получаете количество рынков на событии. Если рынков 15 - есть тоталы до 6,5, если от 25 - есть все тоталы (до 8,5) если рынков всего 2 то там только тотал 2,5

Думаю весь гемор от того,что maxspeed никак не может сообразить как ему сортировать рынки по своим критериям.Вот он и хочет найти метод,которым можно сразу вызвать нужные рынки.Но сортировать рано или поздно все таки придется.Значит и учиться надо.

#49 OFFLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 382 сообщения
90

Добавлено 06 January 2015 - 18:07

Сообщенияbardmauzer, on 06 January 2015 - 17:18, сказал:

var maxResults = "1";

Но ответ придет тольko на один тотал.Или 4,5 или 5,5. Думаю,чтобы ответ пришел на оба тотала,надо в фильтре заполнить переменную eventIds.Соответственно,ее надо знать заранее.
так вы же один рез и запрашиваете… напишите 100…

#50 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 06 January 2015 - 19:33

Спасибо большое за все ответы друзья мои, конечно буду учиться
считаю что самое лучшее учиться на практических примерах
чем в теории

#51 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
63

Добавлено 06 January 2015 - 20:52

Сообщенияdenvb, on 06 January 2015 - 18:07, сказал:

так вы же один рез и запрашиваете… напишите 100…

Да без разницы сколько результатов писать.Напишешь 100,придут 100 рынков тотала 4,5 или тотала 5,5.Возвращается один маркетИД,а он у тоталов разный,даже в пределах одного матча.А вот ивентИД всегда один на все рынки матча.Вот поэтому я думаю,чтобы получить все тоталы за матч,надо заполнять ивентИД.

#52 OFFLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 382 сообщения
90

Добавлено 06 January 2015 - 22:54

Сообщенияbardmauzer, on 06 January 2015 - 20:52, сказал:

Да без разницы сколько результатов писать.Напишешь 100,придут 100 рынков тотала 4,5 или тотала 5,5.Возвращается один маркетИД,а он у тоталов разный,даже в пределах одного матча.А вот ивентИД всегда один на все рынки матча.Вот поэтому я думаю,чтобы получить все тоталы за матч,надо заполнять ивентИД.
Не не, мы друг друга не понимаем. Вы не выкладываете свой код, а мне лень включать комп, а с телефона примеры не покажу. Если все потерпят, я сформулирую алгоритм, который нужен ТС, я сто раз так делал и всё работает

#53 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
63

Добавлено 07 January 2015 - 00:43

Сообщенияdenvb, on 06 January 2015 - 22:54, сказал:

Не не, мы друг друга не понимаем. Вы не выкладываете свой код, а мне лень включать комп, а с телефона примеры не покажу. Если все потерпят, я сформулирую алгоритм, который нужен ТС, я сто раз так делал и всё работает

Да у меня пока и кода то нет.Я в качестве эксперимента сам строку формирую и отправляю в запросе.А потом смотрю какой ответ приходит.А вот почему ТС свои примеры не выкладывает,тоже не понимаю.Давно бы уже добрые люди подсказали и поправили бы как надо.Я тоже не программист и сам только учусь.

#54 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 07 January 2015 - 06:52

да там выкладывать нечего: этот бот + прикручена форма с кнопками и Grid
и пока только тоже учусь что происходит смотрю при каких действиях
пока только listEvent освоил

#55 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 04 February 2015 - 11:45

здравствуйте друзья!
наконец-то вернулся к своей задаче
и хочу попросить совета
получил два запроса listMarketCatalogue с разницей во времени
в одном списке 76 рынков в другом 75
как правильно выделить только новый?
пробовал IList <MarketCatalogue> list3 = listmarket3.Except(listmarket).ToList(); в listmarket3 - 76 рынков в listmarket - 75
в list3 попадает 76 рынков - почему может другой способ надо выбрать?

#56 OFFLINE   clerk

    Специалист


  • Модератор
  • 584 сообщения
102

Добавлено 04 February 2015 - 13:15

попробую.
var markets_1 = client.listMarketCatalogue(...);// это ваш первый список
var markets_2 = client.listMarketCatalogue(...);// это ваш второй список
//пусть первый короче
var mktIDs = new HashSet<string>(markets_1.Select(m1 => m1.MarketId));//создали набор значений для поиска отличий
markets_2.ToList().RemoveAll(m2 => mktIDs.Contains(m2.MarketId));//из второго убираем все элементы первого. оставшиеся используем

#57 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 05 February 2015 - 09:57

значит в markets_1 75 записей
в markets_2 83 записи
после выполнения этих команд
в market_2 83 записи :(

#58 OFFLINE   clerk

    Специалист


  • Модератор
  • 584 сообщения
102

Добавлено 05 February 2015 - 12:27

Вчера писал чисто теоретически.
Сегодня проверил. Сделал тестовый класс с полем идентификатора, сделал два списка разной длины из экземпляров с частично одинаковыми идентификаторами, прогнал списки по предложенной схеме. Все получилось
Вы уверены, что рынки вы получаете с одного события? Если у вас в разных маркеткаталогах разные рынки (без совпадений по ИД) то и из списка ничего не убудет

#59 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 05 February 2015 - 16:00

нет просто делаю listMarketCatalogue и сразу же еще раз listMarketCatalogue только на день позже временной интервал
т.е добавляются новые рынки
вот присоветовали добавить к тому что вы дали
var destArray = markets2.ToList();
destArray.RemoveAll(m2 => mktIDs.Contains(m2.MarketId));

теперь в destArray 8 рынков только остались

#60 OFFLINE   clerk

    Специалист


  • Модератор
  • 584 сообщения
102

Добавлено 05 February 2015 - 16:40

Да, наверное действительно, надо было явно сделать новый список из ИЛиста перед "кастрированием"