
Кита
14.06.2018
17:02:04
Модель это не POCO и не бизнес-объекты
это распространенная ошибка

FinniV
14.06.2018
17:02:37
да пофиг, я не про это вопрос поднимал
модель - данные

Google

Кита
14.06.2018
17:02:59
короче маппинг тебе в помощь

Max
14.06.2018
17:04:04
Automapper сгодится
хотя человеку просто надо SelectedItem получить из MvvMCross

FinniV
14.06.2018
17:05:34
Это не то

Кита
14.06.2018
17:06:02
маппишь poco в entity а entity во viewmodel. Когда обращаешься к репозиторию получаешь из него список Entity а его маппишь в список вьюмоделей. Каждой вьюмодели в цикле можешь передать парентовую вьюмодель. Главное не забывать чистить. Приходит тебе команада delete во вьюмодель айтема. В паренте есть метод void Delete(ItemViewModel item) Берешь и передаешь this в него а в паренте уже работаешь с коллекцией
Все
так правильно будет делать. Ты же можешь написать любой какой хочешь. Но важно помнить что твои poco это не модель. Что ты показываешь в списке не poco и не entity а ВЬЮМОДЕЛИ

Kirill
14.06.2018
17:07:14

Vladislav
14.06.2018
17:07:20
по-моему, все ж проще при создании айтема передать в него комманду, которая принима параметром аргумент айтема, не будет таких вложеностей

Max
14.06.2018
17:07:21

Кита
14.06.2018
17:07:26
маппил сотни и тысячи айтемов в списке

FinniV
14.06.2018
17:08:12
вот представь
у тебя есть N айтемов типа foo
в каждом айтеме - три кнопки
по клику на кнопку 1. вызывается первая комманда
по клику на кнопку 2. вызывается вторая комманда
1 команда вызывает на вьюмодели метод Method1
который делает что то с этим айтемом в коллекции
2 комманда так же и т.д.

Google

FinniV
14.06.2018
17:08:32
ItemSelected можно забайндить просто к VM базару ноль

Кита
14.06.2018
17:08:42

Max
14.06.2018
17:08:50
все правильно говоришь

FinniV
14.06.2018
17:09:04
но как быть с кликом по кнопкам, не передавая при этом ссылку на VM в обьект

Kirill
14.06.2018
17:09:17
Ну ок) Хотя мы вручную конвертим DTO poco в BussinesObject poco, где толькоо нужные поля в нужном виде.

Кита
14.06.2018
17:09:41

Kirill
14.06.2018
17:09:48

Max
14.06.2018
17:09:55

Кита
14.06.2018
17:10:15
надо всем научиться работать с automapper срочно)
куча проблем сразу решается

Max
14.06.2018
17:10:38
тоже самое про DI)

Кита
14.06.2018
17:10:42
к нему ещё кстати IoC прикручивается

Max
14.06.2018
17:10:52

FinniV
14.06.2018
17:10:53

Кита
14.06.2018
17:11:29

Max
14.06.2018
17:12:35

Kirill
14.06.2018
17:13:14
monkey work??
Ну практически. Но automapper тоже нужно обучать) А бывают не самые тривиальные конвертации. Весь DataConveter по преобразованию DTO <-> BO (в обе стороны, где это нужно) по всему проекту, достаточно крупному занимает 740 строк) Зато сразу наглядно всё. Ну Automapper классная вещь, не спорю. На бекенде используем его. А в мобилках пока не прижился

Александр
14.06.2018
17:13:54

FinniV
14.06.2018
17:14:06
ну так я написал тебе решение)
такое решение и есть сейчас
но смотри что вышло
этот айтем может использоваться на разных паррент VM
из за черго приходится добавлять и соответствующие поля
как избавиться уже от этого( это и был главный вопрос)

Google

Kirill
14.06.2018
17:14:08

Max
14.06.2018
17:14:10

Кита
14.06.2018
17:15:06
реализовывай интерфейс в любой парентовой вьюмодели

Kirill
14.06.2018
17:15:27
я не из этих, кто юзает while(true)
Использушь, используешь, но вот просто не наглядно) C за тебя его вызывает и всё приложение в нём крутится) Ну и так в проектах порой нужен, главное не забыть условие выхода)

Max
14.06.2018
17:15:43

Александр
14.06.2018
17:15:47

Max
14.06.2018
17:15:54

Vladislav
14.06.2018
17:16:55
a если так? :D
for (long i = 0; i < long.MaxValue; i++)
{
Console.WriteLine("+");
}

Max
14.06.2018
17:17:05
3 ` \n

Alexey
14.06.2018
17:18:20
Коллеги, не могу сбилдить проект из-за трех ошибок. Что от меня хотят?

Kirill
14.06.2018
17:18:22

Alexey
14.06.2018
17:18:27

Kirill
14.06.2018
17:18:32
Ссылаешься на ресурс, а такого нет в приложении

FinniV
14.06.2018
17:19:28

Alexey
14.06.2018
17:19:37
Я не понимаю как их исправить, уже несколько часов ? На форуме предлагаю пляски с бубном в виде повышения Target Framework, но это выглядит как-то... не сильно хорошее решение же, просто отключать 2 версии пользователей?
Так, а как его добавить?

FinniV
14.06.2018
17:19:58

Кита
14.06.2018
17:20:08

Google

Alexey
14.06.2018
17:20:11
Не помогает

Кита
14.06.2018
17:20:30

Kirill
14.06.2018
17:20:45

Alexey
14.06.2018
17:21:13
Ничего не брал, просто стандартный проект завел в vs4mac ?

FinniV
14.06.2018
17:21:36
в студии по 200 ошибок с ресурсами
и спокойно билдит

Kirill
14.06.2018
17:21:59

Max
14.06.2018
17:22:13
пересоздать проект

Alexey
14.06.2018
17:22:55
Вот да, когда я создаю чистый - все нормально. Но у меня в старом некоторая кодбаза под iOS. Неужели пересоздавать - нормальное решение?

Кита
14.06.2018
17:23:00

Max
14.06.2018
17:23:19

Admin
ERROR: S client not available

Alexey
14.06.2018
17:23:27
В смысле, мне интересней понять что именно не нравится компилятору и исправить ошибку. Но я не понимаю что ему не нравится ?

FinniV
14.06.2018
17:23:30

Кита
14.06.2018
17:23:41

FinniV
14.06.2018
17:23:53

Max
14.06.2018
17:23:55

FinniV
14.06.2018
17:24:01
тогда ладно
думал что это не ок

Alexey
14.06.2018
17:24:12
Ну т.е. ты предлагаешь пересоздать проект, перенести всю shared кодбазу, перенастроить iOS часть и дальше заводить Android?

Google

Max
14.06.2018
17:24:14
ок, конечно

Alexey
14.06.2018
17:24:30
(Это я FunniV)

FinniV
14.06.2018
17:24:32

Max
14.06.2018
17:24:34

Alexey
14.06.2018
17:24:49
Ага, понял, сейчас попробую, спасибо

Max
14.06.2018
17:24:58
потом пересоздай android

Кита
14.06.2018
17:25:14
тогда давай по сложнее
я не знаю) сам придумай, главное чтобы код решал задачу. А потом можешь уже пофилософствовать о высоких материях и философии типа “красиво/не красиво”

Vladislav
14.06.2018
17:25:16

Max
14.06.2018
17:25:19
и добавь ссылку на уже новенький shared на .net standart

Vladislav
14.06.2018
17:25:25
question: можна ли как-то растянуть не переводя на grid?

Max
14.06.2018
17:26:16
CenterAndExpand?

Kirill
14.06.2018
17:27:24

Max
14.06.2018
17:29:09
проще - да, в разы

Kirill
14.06.2018
17:29:33

Max
14.06.2018
17:29:56

Alexey
14.06.2018
17:29:57

Kirill
14.06.2018
17:30:07

Max
14.06.2018
17:30:25
Расположение элементов точно

Kirill
14.06.2018
17:30:41
?? тогда не решает)

Alexey
14.06.2018
17:30:45
Просто не могу заставить собраться android версию ?Пересоздал проект, сейчас буду думать как его подключить к shared части

Max
14.06.2018
17:30:50
по скорости - да, есть выйгрыш, но на слабенькой верстке