А как сейчас с работой?
что придётся и логику переписать на значительно более простую
Лучше переписать чем новые костыли городить. Проект то хоть можно как то запустить, на виртуалке или еще как?
у него запрашиваю что-то из таблицы, мне возвращают ещё один интерфейс
Так что UI именно этот интерфейс пользует или по другому?
Да волосы у меня дыбом раньше вставали с этого проекта. Сейчас потихоньку разбираюсь. Сейчас я просто делюсь инфой - были ли у кого-то подобные вещи. ))
Моя задача - переписать всё на Blazor и .NET 5 и далее на 6 (как они деньги выделят на новую Студию и прочие лицензии). Пустую морду с несколькоми простыми формами с тестовыми данными я уже наваял. Т.е. в перспективе, даже с учётом разгребания этого овна мамонта, буду всё равно работать с передовой технологией и последними версиями Дотнета. Если получится до конца раскопать запросы и нормально пообщаться с БД.
Проект то хоть можно как то запустить, на виртуалке или еще как?
Там проект даже не компилился на моей машине. Через месяц мытарств и правок и таки смог избавиться от некомпилящихся частей или пофиксить их. Но проект всё равно не запускается по Ф5 - толкьо после сложной установки. Я добавил в солюшен свой проект и потихоньку переписываю составляющие проектики на .NET 5 - минимальное, что мне для общения с БД нужно. Мне сказали повторить старые формы ГУЯ.
Так что UI именно этот интерфейс пользует или по другому?
UI в конце получает скажем список сущностей и наполняет ими скажем компобокс. Но делает это через интерфейсные методы, при нажатии Ф12 на которых меня кидает в интерфейс, а не конкретную реализацию. Сейчас мне подсказали, как найти реализации. Ну и плюс я ещё выяснил, что большинство интерфейсов там имеют единственную реализацию на весь солюшен. Поэтому значительно легче.
Ещё раз спасибо за попытку помочь, я уже там сам разбираюсь потихоньку. Я только хотел рассказать, как бывает, и узнать, было ли что подобнео у других. ))
всё равно работать с передовой технологией и последними версиями Дотнета
ну уже хорошо, можно немного порадоваться.
Если получится до конца раскопать запросы
Судя по описанию, быстро точно не получится. Заказчик то хоть знает что там в базе есть и что ему надо получить?
Пустую морду с несколькоми простыми формами
Либу хоть какую то дали или всё самому найти забесплатно?
Сотня таблиц уже не подарочек, нужно долго и нужно разбираться. Видимо дизайн эти же умники делали. Таблицы то хоть связаны между собой? ER диаграмма строилась уже?
Таблицы связаны - диаграмма связей там есть. Но странно, что полно таблиц с петлями связей - т.е. сама на себя ссылается, чтоли. Т.е. таблица нарисована и от неё связь и тут же на себя. Типа как тут. Зачем это и для чего?
Судя по описанию, быстро точно не получится. Заказчик то хоть знает что там в базе есть и что ему надо получить?
После установки старое приложение нормально работает. Но оно только в IE запускается и в Edge в режиме обратной совместимости. Там ещё поддержка PDA была, но теперь проще просто сделать адаптивную вёрстку в одном веб-гуе на том же Bootstrap, что я и делаю. Мне просто сказали повторить старые формы на новом фреймворке. При этом вытащить сами запросы к БД, чтобы наполнить новый гуй, они вроде тоже пока не могут. Они знают, что проект старый и трудный - у них самих там несколько человек годами его разгребают - коммиты в ветках репы аж 6-летней давности есть. Притом, судя по веткам и слухам, что до меня доходят, там нескольким людям или командам давали этот проект, и пока никто успешно до конца ничего не сделал. Я, похоже, одна из таких "попыток". Мне вроде выделили что-то около года. ))
Мне сказали повторить старые формы ГУЯ.
Если проект как то можно запустить и в формах мало динамики, то можно хотя бы наделать скринов и написать что то типа документации, чтобы заказчик это все проверил.
Но делает это через интерфейсные методы
А получить этот интерфейс самому можно? Можно что то типа юнит тестов сделать для разбора или в REST API перегнать. Есть это как то работает то и конкретная реализация пока не нужна.
и узнать, было ли что подобное у других
проекты бывают разные, но хорошо написанных катострофически мало
Либу хоть какую то дали или всё самому найти забесплатно?
Я, кстати, предложил скачать готовые либы с контролами для Блейзора, но у них требование - все без зависимостей, сам. Ну там может сделают исключение. Но там в основном текстбоксы, списки и максимум грид. Я пока лишь дерево своё написал, чтобы при сворачивании помнило состояние узлов - развёрнуты они или свёрнуты. Ну я тупо через модель сделал (коллекция-дерево) - в модели все узлы запоминают свои состояния (развёрнуто-свёрнуто), а в морде на Блейзор просто эти состояния читаются и соответственно рендерятся или не рендерятся потомки. Написал компонент, который рендерит сам себя до самого последнего потомка, в зависимости от развёрнутости этим потомков. Вобщем, дерево.
А получить этот интерфейс самому можно? Можно что то типа юнит тестов сделать для разбора или в REST API перегнать. Есть это как то работает то и конкретная реализация пока не нужна.
Там между мордой и БД какой-то сервер приложений, в котором все запросы выполняются, как я понял. Клиент (веб-сайт) обращается к этому серверу приложений, но через COM+, где для клиента создаются объекты и он их юзает (удалённо?). Сами объекты на сервере приложений в конечном счёте после всех пертурбаций гоняют голый SQL и возвращают вроде обёртку-ORM. Но запросы я видел в виде голого SQL с параметрами в файлах XML. Потом этот запрос выполняется банальными классами из System.Data.SqlClient. Мне сказали, что теперь сервер приложений не нужен, а давай сразу запросы. Ну т.е. я должен как-то вытащить это и написать проще - без кучи дополнительных файлов, преобразований и с ORM посовременнее. Воротить REST API просто времени нет - им не надо, а надо лишь новую веб-морду и минимальную обвязку по возможности.
Я думаю, мне проще будет натравить на эту БД Entity Framework и просто повторить запросы через новую ORM. Выкинув половину проекта, связанную со всей этой промежуточной кашей общения веб-морды и БД. Я сейчас должен показать заказчику, что даже обёртки над их старой схемой запросов сделать не получится - либы старые и аналогов на .NET 5 нет, а переписывать либо слишком долго, либо исходников нет, либо лицензий на них.
Зачем это и для чего?
ну так там же написано - для дерева.
http://mikehillyer.com/articles/managing-hierarchical-data...
Мне сказали, что теперь сервер приложений не нужен, а давай сразу запросы
То бишь делаете серверную версию с прямым доступом к базе. Тоже можно, но тогда этот сервер приложений может сидеть в отдельной либе. Главное его не трогать.
По новому то переписать лучше будет, но это когда точно знаешь что делать и как база сделана. В данном случае лучше вначале взять что есть.
Но судя по тому, что грид не очень нужен и в базе деревья, то эта задача не для реляционной базы.