Konfiguracja API - uprawnienia, blokada funkcji

0

Witam.
Pytanie mam jak robicie konfigurację do API.
Przykład

public class Settings
{
   public List<SqlSettings> SQL {get;set;}
}

public class SqlSettings
{
   public string Instancja {get;set;}
   public string Uzytkownik {get;set;}
   public string Haslo {get;set;}
   public List<DatabaseSettings> Database {get;set;}
   public List<UserSettings> User {get;set;}
}

public class DatabaseSettings
{
   public string NazwaBazy {get;set;}
   public bool Aktywna {get;set;}
} 

public class UserSettings
{
   public string Login {get;set;}
   public string Email {get;set;}
   public string Nazwisko {get;set;}
   public bool Aktywny {get;set;}
   public ApiSettings API {get;set;}
}

public class ApiSettings
{
   public bool Dokumenty {get;set;}
   public bool Platnosci {get;set;}
   public string DomyslnyDokument {get;set;}
   public string DomyslnyKontrahent {get;set;}
   public bool Towary {get;set;}
   public bool Kontrahenci {get;set;}
}

Mniej wiecej tak wygląda budowa ustawień do API. Wiadomo, jest tego więcej, ale nie ma sensu tego całego tutaj pisać. Problem zaczyna się gdy potrzebuje wyciągnąć ustawienia z której bazy logujący się użytkownik powinien pobierać dane.
W json odpada, nieczytelny jest kod po deserializacji żeby wyciągnąć ustawienia konkretnego użytkownika.
Aktualnie próbuje skorzystać ze sqlite, ale pod visual studio 2017 nie ma entity framework, a pisanie "swojego" jest nie warte straconego czasu.

Jak to się powinno robić? Co robię źle?

0

Jak korzystasz z MS SQL to możesz, przechowywać ustawiania jako plik XML.

0

Co robię źle?

Nazwy klas po angielsku a ich propertiesy po polsku
Nie przerabiałem ale wydaje mi się, że EF6 pójdzie z SQLite
https://erazerbrecht.wordpress.com/2015/06/11/sqlite-entityframework-6-tutorial/

0

Nazwy klas po angielsku a ich propertiesy po polsku

Faktycznie, znacząco wpływa to na wydajność i działanie całego programu. Jestem buntownikiem, nie lubie trzymać się zasad.

Nie przerabiałem ale wydaje mi się, że EF6 pójdzie z SQLite https://erazerbrecht.wordpres[...]e-entityframework-6-tutorial/

Podobno wraz z wersją VS 2017, twórcy SQLite nie potrafią stworzyć providera, aby można było dodać model do gotowej bazy.
System.Data.SQLite: View Ticket

@Kubuś Puchatek W sensie XML w bazie danych czy XML w pliku? Co ma MS SQL wspólnego z XML? Czym się różni deserializacja jsona, a czym xmla?

0

XML w bazie, ms sql posiada typ xml, co ułatwia Ci przechowywanie danych. Możesz sobie serializować dane jako xml i przechowywać je w bazie, na podstawie twoich pól w klasie. Wtedy robisz sobie np 2 kolumny typu nazwa (varchar), ustawienia (xml) i masz wszystko pod ręką.

0

Jeśli mógłbym tworzyć tabele albo bazy to by problemu nie było, ale niestety nie mogę. Co najwyżej mogę zapisywać ustawienia w pliku, lub w bazie plikowej np. SQLite.
Moje API operuje na istniejącej bazie danych i nie mogę tam niczego zmieniać. Druga sprawa, wolałbym coś pewniejszego, z tym MS SQL ostatnio różnie bywa.
Wychodzi na to, że za wiele opcji nie mam

1 użytkowników online, w tym zalogowanych: 0, gości: 1