A little problem, now i clean cache and browser doesn't load external file like .js and .css. How can I solve that? If I delete/comment this line everything css and js works well but no extension was loaded // ExtCore Implementation - Startup (...) this.configurationRoot = Configuration; // ExtCore Implementation - ConfigureServices(...) base.ConfigureServices(services);
Dmitry Sikorsky
@DmitrySikorsky
Are you using alpha7?
Can you access your files with browser?
efams
@efams
No, but now I update to alpha7 and it works well! :+1:
Dmitry Sikorsky
@DmitrySikorsky
Happy to hear this :) Yes, it was bug there, I've fixed it!
efams
@efams
Hi guys! Suppose i have many Extensions (ExtA, ExtB, ExtC ...). ExtA, ExtB and ExtC have for example a controller named "Search" that implement a method named "Start()" And then I have the MainApp that implement, like extensions, a controller named "Search" containing "Start()" method. Is possible to call from MainApp controller Search.Start() all Start() method from Extensions, elaborate the result and then return to the View? Suppose than all Extesions Search.Start() return the same type of data.
Hi! It sounds a bit strange that you want to call Start method of controllers directly, maybe it would be better to have some special class for that. But doesn't matter. You can use https://github.com/ExtCore/ExtCore/blob/master/src/ExtCore.Infrastructure/ExtensionManager.cs to get all implementations or instances of some specific type and then run the method. As I remember I have done something like this when have to return JSON with the results of different requests with one request.
efams
@efams
Yes, is better to implement function in other classes and not into the controller... Can you show me an example pleas? I'm trying to call in MainApp the method Start(string key) situated inside class Search in MainApp.ExtA.
a => a.FullName.ToLower().Contains("entityframework.sqlite") is just filter
you can skip it
Артём Баранов
@artemb89
Предлагаю в RepositoryBase реализовать методы CRUD операций, могу сегодня вечером этим заняться, если все согласны
Пронин Андрей
@KANekT
там же что-то такое уже реализовывалось или это в платформусе было
Артём Баранов
@artemb89
Вроде бы нет, в платформусе почти в каждом репозитории есть public Permission WithKey(int id) { return this.dbSet.FirstOrDefault(p => p.Id == id); }
public IEnumerable<Permission> All(){
returnthis.dbSet.OrderBy(p => p.Position);
}
и похожие куски
Пронин Андрей
@KANekT
на прошлой работе было что репозитарий это только CRUD
а все остальные запросы через services выполнялись
_
Артём Баранов
@artemb89
Почти то же самое, в репозитории CRUD, всё остальное в Bl. Т.к. методы чтения,создания, редактирования, удаления в основном одинаковые, хотелось бы добавить виртуальные методы в RepositoryBase, чтобы исключить дублирование кода
Пронин Андрей
@KANekT
да надо бы с возможностью overrride
Dmitry Sikorsky
@DmitrySikorsky
я обычно слой сервисов не использую, т.к. чаще всего это просто копирование функционала из репозитория (вот тут это обсуждали в комментах, и в присланном примере как раз так и было: https://habrahabr.ru/company/microsoft/blog/279985/#comment_8820367). если необходимо выполнять какие-то сложные манипуляции (типа создания пользователя со многими задействованными таблицами и так далее), я использую некие менеджеры или хелперы. идея с CRUD вроде бы хорошая, хотя смущает, что все репозитории получат эти возможности, даже если они не нужны. также, если у сущности составной первичный ключ, то как быть? предлагаю этот момент сначала обсудить
также там висит пул реквест, связанный с путем к каталогу с расширениями. мне кажется, надо вообще пересмотреть механизм формирования пути, т.к. для запаблишенного приложения получается вообще неправильный путь, т. к. там меняется структура проекта. наверное, нужно не от папки src путь писать, а от корня проекта. как считаете?
Артём Баранов
@artemb89
По поводу пути к каталогу расширений согласен. По поводу CRUD, можно написать дополнительный класс, если функционал требуется - наследуем. По поводу составных ключей нужно подумать.
Microsoft.AspNet.Identity не стали использовать в проекте ?
Dmitry Sikorsky
@DmitrySikorsky
SignOut смерджил
Identity использовать не стал, мне эта штука не нравится. Там в таблице пользователей прописаны левые поля, вроде номера телефона, электронной почты и кучи прочего лишнего. + оно работает только с EF.
тогда базовый класс для контекста необходимо было бы наследовать от их класса. короче, жестко весьма
так, давайте разберемся. вы какую версию используете? я проверяю так: беру семпл, копирую исходники платформуса в src, прописываю в сепле альфу из исходников и запускаю. так я вношу правки в сам платформус. у меня стили работают. у вас не работают именно в такой конфигурации, или в старом примере?
я хочу выложить новый пример когда исправлю ошибки в платформусе и выложу новую альфу. скорее всего на выходных.