А как сейчас с работой?
что придётся и логику переписать на значительно более простую
Лучше переписать чем новые костыли городить. Проект то хоть можно как то запустить, на виртуалке или еще как?
у него запрашиваю что-то из таблицы, мне возвращают ещё один интерфейс
Так что UI именно этот интерфейс пользует или по другому?
Да волосы у меня дыбом раньше вставали с этого проекта. Сейчас потихоньку разбираюсь. Сейчас я просто делюсь инфой - были ли у кого-то подобные вещи. ))
Моя задача - переписать всё на Blazor и .NET 5 и далее на 6 (как они деньги выделят на новую Студию и прочие лицензии). Пустую морду с несколькоми простыми формами с тестовыми данными я уже наваял. Т.е. в перспективе, даже с учётом разгребания этого овна мамонта, буду всё равно работать с передовой технологией и последними версиями Дотнета. Если получится до конца раскопать запросы и нормально пообщаться с БД.
К проекту ещё и оракловские либы зачем-то подключены.
А строк подключения сколько?
Сотня таблиц уже не подарочек, нужно долго и нужно разбираться. Видимо дизайн эти же умники делали. Таблицы то хоть связаны между собой? ER диаграмма строилась уже?
Проект то хоть можно как то запустить, на виртуалке или еще как?
Там проект даже не компилился на моей машине. Через месяц мытарств и правок и таки смог избавиться от некомпилящихся частей или пофиксить их. Но проект всё равно не запускается по Ф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...
Мне сказали, что теперь сервер приложений не нужен, а давай сразу запросы
То бишь делаете серверную версию с прямым доступом к базе. Тоже можно, но тогда этот сервер приложений может сидеть в отдельной либе. Главное его не трогать.
По новому то переписать лучше будет, но это когда точно знаешь что делать и как база сделана. В данном случае лучше вначале взять что есть.
Но судя по тому, что грид не очень нужен и в базе деревья, то эта задача не для реляционной базы.