mirror of
https://github.com/claunia/marechai.git
synced 2025-12-16 19:14:25 +00:00
Major refactor and cleanup.
This commit is contained in:
@@ -1,27 +1,34 @@
|
||||
# Contributing
|
||||
|
||||
## Commit signature
|
||||
|
||||
For security reason we require all commits to be cryptographically signed.
|
||||
This section explains how to setup the development environment for that purpose.
|
||||
|
||||
### Visual Studio and Visual Studio Code for Windows
|
||||
You need to install Git for Windows. It is available as a component of Visual Studio, or separately in https://gitforwindows.org.
|
||||
|
||||
You need to install Git for Windows. It is available as a component of Visual Studio, or separately
|
||||
in https://gitforwindows.org.
|
||||
|
||||
You also need to install Gpg4win from https://www.gpg4win.org. Ensure to select the Kleopatra component.
|
||||
|
||||
Once you have them installed, open Kleopatra and generate a new key pair, of OpenPGP type, following the instructions [here](https://www.gpg4win.org/doc/en/gpg4win-compendium_12.html).
|
||||
Once you have them installed, open Kleopatra and generate a new key pair, of OpenPGP type, following the
|
||||
instructions [here](https://www.gpg4win.org/doc/en/gpg4win-compendium_12.html).
|
||||
Save aside the fingerprint, you'll need it later.
|
||||
|
||||
Now go to environment variables (in the properties of your computer) and add this to the path:
|
||||
`C:\Program Files\Git\usr\bin`
|
||||
|
||||
Finally, open Git Bash, and write the following commands if you want all git commits to be signed:
|
||||
|
||||
```bash
|
||||
git config --global commit.gpgsign true
|
||||
git config --global user.signingkey <FINGERPRINT>
|
||||
git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
|
||||
```
|
||||
|
||||
or if you want the options to apply only for this project
|
||||
|
||||
```bash
|
||||
cd /DRIVE/PATH_TO_PROJECT
|
||||
git config commit.gpgsign true
|
||||
@@ -29,8 +36,11 @@ git config user.signingkey FINGERPRINT
|
||||
git config gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
|
||||
```
|
||||
|
||||
replacing `FINGERPRINT` with the fingerprint you saved from the key generation, `DRIVE` with the drive letter and `PATH_TO_PROJECT` using `/` as path separator.
|
||||
replacing `FINGERPRINT` with the fingerprint you saved from the key generation, `DRIVE` with the drive letter and
|
||||
`PATH_TO_PROJECT` using `/` as path separator.
|
||||
|
||||
Once this is done, every time you commit in VS / VSCode, a message box titled `pinentry-qt` will ask for the passphrase you set up earlier and sign the commit with your key.
|
||||
Once this is done, every time you commit in VS / VSCode, a message box titled `pinentry-qt` will ask for the passphrase
|
||||
you set up earlier and sign the commit with your key.
|
||||
|
||||
For GitHub to recognize your signature you need to follow the steps [here](https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account).
|
||||
For GitHub to recognize your signature you need to follow the
|
||||
steps [here](https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account).
|
||||
@@ -29,21 +29,30 @@ using System.ComponentModel.DataAnnotations;
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace Marechai.Database
|
||||
{
|
||||
namespace Marechai.Database;
|
||||
|
||||
public enum NewsType
|
||||
{
|
||||
NewComputerInDb = 1, NewConsoleInDb = 2, NewComputerInCollection = 3,
|
||||
NewConsoleInCollection = 4, UpdatedComputerInDb = 5, UpdatedConsoleInDb = 6,
|
||||
UpdatedComputerInCollection = 7, UpdatedConsoleInCollection = 8, NewMoneyDonation = 9
|
||||
NewComputerInDb = 1,
|
||||
NewConsoleInDb = 2,
|
||||
NewComputerInCollection = 3,
|
||||
NewConsoleInCollection = 4,
|
||||
UpdatedComputerInDb = 5,
|
||||
UpdatedConsoleInDb = 6,
|
||||
UpdatedComputerInCollection = 7,
|
||||
UpdatedConsoleInCollection = 8,
|
||||
NewMoneyDonation = 9
|
||||
}
|
||||
|
||||
public enum StatusType
|
||||
{
|
||||
[Display(Name = "Unknown")]
|
||||
Unknown = 0, [Display(Name = "Tested good")]
|
||||
TestedGood = 1, [Display(Name = "Not tested")]
|
||||
NotTested = 2, [Display(Name = "Tested bad")]
|
||||
Unknown = 0,
|
||||
[Display(Name = "Tested good")]
|
||||
TestedGood = 1,
|
||||
[Display(Name = "Not tested")]
|
||||
NotTested = 2,
|
||||
[Display(Name = "Tested bad")]
|
||||
TestedBad = 3
|
||||
}
|
||||
|
||||
@@ -231,15 +240,22 @@ namespace Marechai.Database
|
||||
/// <summary>Pioneer LaserDisc</summary>
|
||||
LD = 21,
|
||||
/// <summary>Pioneer LaserDisc data</summary>
|
||||
LDROM = 22, LDROM2 = 23, LVROM = 24, MegaLD = 254,
|
||||
LDROM = 22,
|
||||
LDROM2 = 23,
|
||||
LVROM = 24,
|
||||
MegaLD = 254,
|
||||
/// <summary>Sony Hi-MD</summary>
|
||||
HiMD = 26,
|
||||
/// <summary>Sony MiniDisc</summary>
|
||||
MD = 27, MDData = 28, MDData2 = 29,
|
||||
MD = 27,
|
||||
MDData = 28,
|
||||
MDData2 = 29,
|
||||
/// <summary>5.25", Phase-Change, 1834348 sectors, 8192 bytes/sector, Ultra Density Optical, ECMA-350, ISO 17345</summary>
|
||||
UDO = 30,
|
||||
/// <summary>5.25", Phase-Change, 3669724 sectors, 8192 bytes/sector, Ultra Density Optical 2, ECMA-380, ISO 11976</summary>
|
||||
UDO2 = 31, PlayStationMemoryCard = 32, PlayStationMemoryCard2 = 33,
|
||||
UDO2 = 31,
|
||||
PlayStationMemoryCard = 32,
|
||||
PlayStationMemoryCard2 = 33,
|
||||
/// <summary>Sony PlayStation game CD</summary>
|
||||
PS1CD = 34,
|
||||
/// <summary>Sony PlayStation 2 game CD</summary>
|
||||
@@ -267,7 +283,8 @@ namespace Marechai.Database
|
||||
/// <summary>Sega Saturn disc</summary>
|
||||
SATURNCD = 46,
|
||||
/// <summary>Sega/Yamaha Gigabyte Disc</summary>
|
||||
GDROM = 47, SegaCard = 48,
|
||||
GDROM = 47,
|
||||
SegaCard = 48,
|
||||
/// <summary>PC-Engine / TurboGrafx cartridge</summary>
|
||||
HuCard = 49,
|
||||
/// <summary>PC-Engine / TurboGrafx CD</summary>
|
||||
@@ -287,256 +304,455 @@ namespace Marechai.Database
|
||||
/// <summary>3.5" floppy</summary>
|
||||
Microfloppy = 57,
|
||||
/// <summary>5.25", DS, ?D, ?? tracks, ?? spt, 512 bytes/sector, GCR, opposite side heads, aka Twiggy</summary>
|
||||
AppleFileWare = 58, Bernoulli = 59, Bernoulli2 = 60, Ditto = 61,
|
||||
DittoMax = 62, Jaz = 63, Jaz2 = 64,
|
||||
PocketZip = 65, REV120 = 66, REV35 = 67,
|
||||
REV70 = 68, ZIP100 = 69, ZIP250 = 70,
|
||||
ZIP750 = 71, CompactCassette = 72, Data8 = 73,
|
||||
MiniDV = 74, CFast = 75, CompactFlash = 76,
|
||||
CompactFlashType2 = 77, EZ135 = 78, EZ230 = 79,
|
||||
Quest = 80, SparQ = 81, SQ100 = 82,
|
||||
SQ200 = 83, SQ300 = 84, SQ310 = 85,
|
||||
SQ327 = 86, SQ400 = 87, SQ800 = 88,
|
||||
SQ1500 = 89, SQ2000 = 90, SyJet = 91,
|
||||
FamicomGamePak = 92, GameBoyAdvanceGamePak = 93, GameBoyGamePak = 94,
|
||||
GOD = 95, N64DD = 96, N64GamePak = 97,
|
||||
NESGamePak = 98, Nintendo3DSGameCard = 99, NintendoDiskCard = 100,
|
||||
NintendoDSGameCard = 101, NintendoDSiGameCard = 102, SNESGamePak = 103,
|
||||
SNESGamePakUS = 104, WOD = 105, WUOD = 106,
|
||||
SwitchGameCard = 107, MemoryStick = 108, MemoryStickDuo = 109,
|
||||
MemoryStickMicro = 110, MemoryStickPro = 111, MemoryStickProDuo = 112,
|
||||
microSD = 113, miniSD = 114, SecureDigital = 115,
|
||||
MMC = 116, MMCmicro = 117, RSMMC = 118,
|
||||
MMCplus = 118, MMCmobile = 119, eMMC = 120,
|
||||
MO120 = 121, MO90 = 122, MO300 = 123,
|
||||
MO356 = 124, CompactFloppy = 125, DemiDiskette = 126,
|
||||
AppleFileWare = 58,
|
||||
Bernoulli = 59,
|
||||
Bernoulli2 = 60,
|
||||
Ditto = 61,
|
||||
DittoMax = 62,
|
||||
Jaz = 63,
|
||||
Jaz2 = 64,
|
||||
PocketZip = 65,
|
||||
REV120 = 66,
|
||||
REV35 = 67,
|
||||
REV70 = 68,
|
||||
ZIP100 = 69,
|
||||
ZIP250 = 70,
|
||||
ZIP750 = 71,
|
||||
CompactCassette = 72,
|
||||
Data8 = 73,
|
||||
MiniDV = 74,
|
||||
CFast = 75,
|
||||
CompactFlash = 76,
|
||||
CompactFlashType2 = 77,
|
||||
EZ135 = 78,
|
||||
EZ230 = 79,
|
||||
Quest = 80,
|
||||
SparQ = 81,
|
||||
SQ100 = 82,
|
||||
SQ200 = 83,
|
||||
SQ300 = 84,
|
||||
SQ310 = 85,
|
||||
SQ327 = 86,
|
||||
SQ400 = 87,
|
||||
SQ800 = 88,
|
||||
SQ1500 = 89,
|
||||
SQ2000 = 90,
|
||||
SyJet = 91,
|
||||
FamicomGamePak = 92,
|
||||
GameBoyAdvanceGamePak = 93,
|
||||
GameBoyGamePak = 94,
|
||||
GOD = 95,
|
||||
N64DD = 96,
|
||||
N64GamePak = 97,
|
||||
NESGamePak = 98,
|
||||
Nintendo3DSGameCard = 99,
|
||||
NintendoDiskCard = 100,
|
||||
NintendoDSGameCard = 101,
|
||||
NintendoDSiGameCard = 102,
|
||||
SNESGamePak = 103,
|
||||
SNESGamePakUS = 104,
|
||||
WOD = 105,
|
||||
WUOD = 106,
|
||||
SwitchGameCard = 107,
|
||||
MemoryStick = 108,
|
||||
MemoryStickDuo = 109,
|
||||
MemoryStickMicro = 110,
|
||||
MemoryStickPro = 111,
|
||||
MemoryStickProDuo = 112,
|
||||
microSD = 113,
|
||||
miniSD = 114,
|
||||
SecureDigital = 115,
|
||||
MMC = 116,
|
||||
MMCmicro = 117,
|
||||
RSMMC = 118,
|
||||
MMCplus = 118,
|
||||
MMCmobile = 119,
|
||||
eMMC = 120,
|
||||
MO120 = 121,
|
||||
MO90 = 122,
|
||||
MO300 = 123,
|
||||
MO356 = 124,
|
||||
CompactFloppy = 125,
|
||||
DemiDiskette = 126,
|
||||
/// <summary>3.5", 652 tracks, 2 sides, 512 bytes/sector, Floptical, ECMA-207, ISO 14169</summary>
|
||||
Floptical = 127, HiFD = 128, QuickDisk = 129, UHD144 = 130,
|
||||
VideoFloppy = 131, Wafer = 132, ZXMicrodrive = 133,
|
||||
BeeCard = 134, Borsu = 135, DataStore = 136,
|
||||
MiniCard = 137, Orb = 138, Orb5 = 139,
|
||||
SmartMedia = 140, xD = 141, XQD = 142,
|
||||
DataPlay = 143, LS120 = 144, LS240 = 145,
|
||||
FD32MB = 146, RDX = 147, PunchedCard = 148
|
||||
Floptical = 127,
|
||||
HiFD = 128,
|
||||
QuickDisk = 129,
|
||||
UHD144 = 130,
|
||||
VideoFloppy = 131,
|
||||
Wafer = 132,
|
||||
ZXMicrodrive = 133,
|
||||
BeeCard = 134,
|
||||
Borsu = 135,
|
||||
DataStore = 136,
|
||||
MiniCard = 137,
|
||||
Orb = 138,
|
||||
Orb5 = 139,
|
||||
SmartMedia = 140,
|
||||
xD = 141,
|
||||
XQD = 142,
|
||||
DataPlay = 143,
|
||||
LS120 = 144,
|
||||
LS240 = 145,
|
||||
FD32MB = 146,
|
||||
RDX = 147,
|
||||
PunchedCard = 148
|
||||
}
|
||||
|
||||
public enum StorageInterface
|
||||
{
|
||||
Unknown = 0, ACSI = 1, ATA = 2,
|
||||
XTA = 3, ESDI = 4, SCSI = 5,
|
||||
USB = 6, FireWire = 7, SASI = 8,
|
||||
ST506 = 9, IPI = 10, SMD = 11,
|
||||
SATA = 12, SSA = 13, DSSI = 14,
|
||||
HIPPI = 15, SAS = 16, FC = 17,
|
||||
PCIe = 18, M2 = 19, SataExpress = 20
|
||||
Unknown = 0,
|
||||
ACSI = 1,
|
||||
ATA = 2,
|
||||
XTA = 3,
|
||||
ESDI = 4,
|
||||
SCSI = 5,
|
||||
USB = 6,
|
||||
FireWire = 7,
|
||||
SASI = 8,
|
||||
ST506 = 9,
|
||||
IPI = 10,
|
||||
SMD = 11,
|
||||
SATA = 12,
|
||||
SSA = 13,
|
||||
DSSI = 14,
|
||||
HIPPI = 15,
|
||||
SAS = 16,
|
||||
FC = 17,
|
||||
PCIe = 18,
|
||||
M2 = 19,
|
||||
SataExpress = 20
|
||||
}
|
||||
|
||||
public enum ColorSpace : ushort
|
||||
{
|
||||
[Display(Name = "sRGB")]
|
||||
Srgb = 1, [Display(Name = "Adobe RGB")]
|
||||
AdobeRgb = 2, [Display(Name = "Wide Gamut RGB")]
|
||||
WideGamutRgb = 4093, [Display(Name = "ICC Profile")]
|
||||
IccProfile = 65534, [Display(Name = "Uncalibrated")]
|
||||
Srgb = 1,
|
||||
[Display(Name = "Adobe RGB")]
|
||||
AdobeRgb = 2,
|
||||
[Display(Name = "Wide Gamut RGB")]
|
||||
WideGamutRgb = 4093,
|
||||
[Display(Name = "ICC Profile")]
|
||||
IccProfile = 65534,
|
||||
[Display(Name = "Uncalibrated")]
|
||||
Uncalibrated = 65535
|
||||
}
|
||||
|
||||
public enum Contrast : ushort
|
||||
{
|
||||
Normal = 0, Low = 1, High = 2
|
||||
Normal = 0,
|
||||
Low = 1,
|
||||
High = 2
|
||||
}
|
||||
|
||||
public enum ExposureMode : ushort
|
||||
{
|
||||
Auto = 0, Manual = 1, [Display(Name = "Auto bracket")]
|
||||
Auto = 0,
|
||||
Manual = 1,
|
||||
[Display(Name = "Auto bracket")]
|
||||
AutoBracket = 2
|
||||
}
|
||||
|
||||
public enum ExposureProgram : ushort
|
||||
{
|
||||
[Display(Name = "Not Defined")]
|
||||
Undefined = 0, [Display(Name = "Manual")]
|
||||
Manual = 1, [Display(Name = "Program AE")]
|
||||
ProgramAe = 2, [Display(Name = "Aperture-priority AE")]
|
||||
ApAe = 3, [Display(Name = "Shutter speed priority AE")]
|
||||
ShutterAe = 4, [Display(Name = "Creative (Slow speed)")]
|
||||
Creative = 5, [Display(Name = "Action (High speed)")]
|
||||
Action = 6, [Display(Name = "Portrait")]
|
||||
Portrait = 7, [Display(Name = "Landscape")]
|
||||
Landscape = 8, [Display(Name = "Bulb")]
|
||||
Undefined = 0,
|
||||
[Display(Name = "Manual")]
|
||||
Manual = 1,
|
||||
[Display(Name = "Program AE")]
|
||||
ProgramAe = 2,
|
||||
[Display(Name = "Aperture-priority AE")]
|
||||
ApAe = 3,
|
||||
[Display(Name = "Shutter speed priority AE")]
|
||||
ShutterAe = 4,
|
||||
[Display(Name = "Creative (Slow speed)")]
|
||||
Creative = 5,
|
||||
[Display(Name = "Action (High speed)")]
|
||||
Action = 6,
|
||||
[Display(Name = "Portrait")]
|
||||
Portrait = 7,
|
||||
[Display(Name = "Landscape")]
|
||||
Landscape = 8,
|
||||
[Display(Name = "Bulb")]
|
||||
Bulb = 9
|
||||
}
|
||||
|
||||
public enum Flash : ushort
|
||||
{
|
||||
[Display(Name = "No Flash")]
|
||||
None = 0, [Display(Name = "Fired")]
|
||||
Fired = 1, [Display(Name = "Fired, Return not detected")]
|
||||
FiredNoReturn = 5, [Display(Name = "Fired, Return detected")]
|
||||
FiredReturn = 7, [Display(Name = "On, Did not fire")]
|
||||
OnDidNotFire = 8, [Display(Name = "On, Fired")]
|
||||
OnFired = 9, [Display(Name = "On, Return not detected")]
|
||||
OnNoReturn = 13, [Display(Name = "On, Return detected")]
|
||||
OnReturn = 15, [Display(Name = "Off, Did not fire")]
|
||||
OffDidNotFire = 16, [Display(Name = "Off, Did not fire, Return not detected")]
|
||||
OffDidNotFireNoReturn = 20, [Display(Name = "Auto, Did not fire")]
|
||||
AutoDidNotFire = 24, [Display(Name = "Auto, Fired")]
|
||||
AutoFired = 25, [Display(Name = "Auto, Fired, Return not detected")]
|
||||
AutoFiredNoReturn = 29, [Display(Name = "Auto, Fired, Return detected")]
|
||||
AutoFiredReturn = 31, [Display(Name = "No flash function")]
|
||||
NoFlash = 32, [Display(Name = "Off, No flash function")]
|
||||
OffNoFlash = 48, [Display(Name = "Fired, Red-eye reduction")]
|
||||
FiredRedEye = 65, [Display(Name = "Fired, Red-eye reduction, Return not detected")]
|
||||
FiredRedEyeNoReturn = 69, [Display(Name = "Fired, Red-eye reduction, Return detected")]
|
||||
FiredRedEyeReturn = 71, [Display(Name = "On, Red-eye reduction")]
|
||||
OnRedEye = 73, [Display(Name = "On, Red-eye reduction, Return not detected")]
|
||||
OnRedEyeNoReturn = 77, [Display(Name = "On, Red-eye reduction, Return detected")]
|
||||
OnRedEyeReturn = 79, [Display(Name = "Off, Red-eye reduction")]
|
||||
OffRedEye = 80, [Display(Name = "Auto, Did not fire, Red-eye reduction")]
|
||||
AutoNotFireRedEye = 88, [Display(Name = "Auto, Fired, Red-eye reduction")]
|
||||
AutoFiredRedEye = 89, [Display(Name = "Auto, Fired, Red-eye reduction, Return not detected")]
|
||||
AutoFiredRedEyeNoReturn = 93, [Display(Name = "Auto, Fired, Red-eye reduction, Return detected")]
|
||||
None = 0,
|
||||
[Display(Name = "Fired")]
|
||||
Fired = 1,
|
||||
[Display(Name = "Fired, Return not detected")]
|
||||
FiredNoReturn = 5,
|
||||
[Display(Name = "Fired, Return detected")]
|
||||
FiredReturn = 7,
|
||||
[Display(Name = "On, Did not fire")]
|
||||
OnDidNotFire = 8,
|
||||
[Display(Name = "On, Fired")]
|
||||
OnFired = 9,
|
||||
[Display(Name = "On, Return not detected")]
|
||||
OnNoReturn = 13,
|
||||
[Display(Name = "On, Return detected")]
|
||||
OnReturn = 15,
|
||||
[Display(Name = "Off, Did not fire")]
|
||||
OffDidNotFire = 16,
|
||||
[Display(Name = "Off, Did not fire, Return not detected")]
|
||||
OffDidNotFireNoReturn = 20,
|
||||
[Display(Name = "Auto, Did not fire")]
|
||||
AutoDidNotFire = 24,
|
||||
[Display(Name = "Auto, Fired")]
|
||||
AutoFired = 25,
|
||||
[Display(Name = "Auto, Fired, Return not detected")]
|
||||
AutoFiredNoReturn = 29,
|
||||
[Display(Name = "Auto, Fired, Return detected")]
|
||||
AutoFiredReturn = 31,
|
||||
[Display(Name = "No flash function")]
|
||||
NoFlash = 32,
|
||||
[Display(Name = "Off, No flash function")]
|
||||
OffNoFlash = 48,
|
||||
[Display(Name = "Fired, Red-eye reduction")]
|
||||
FiredRedEye = 65,
|
||||
[Display(Name = "Fired, Red-eye reduction, Return not detected")]
|
||||
FiredRedEyeNoReturn = 69,
|
||||
[Display(Name = "Fired, Red-eye reduction, Return detected")]
|
||||
FiredRedEyeReturn = 71,
|
||||
[Display(Name = "On, Red-eye reduction")]
|
||||
OnRedEye = 73,
|
||||
[Display(Name = "On, Red-eye reduction, Return not detected")]
|
||||
OnRedEyeNoReturn = 77,
|
||||
[Display(Name = "On, Red-eye reduction, Return detected")]
|
||||
OnRedEyeReturn = 79,
|
||||
[Display(Name = "Off, Red-eye reduction")]
|
||||
OffRedEye = 80,
|
||||
[Display(Name = "Auto, Did not fire, Red-eye reduction")]
|
||||
AutoNotFireRedEye = 88,
|
||||
[Display(Name = "Auto, Fired, Red-eye reduction")]
|
||||
AutoFiredRedEye = 89,
|
||||
[Display(Name = "Auto, Fired, Red-eye reduction, Return not detected")]
|
||||
AutoFiredRedEyeNoReturn = 93,
|
||||
[Display(Name = "Auto, Fired, Red-eye reduction, Return detected")]
|
||||
AutoFiredRedEyeReturn = 95
|
||||
}
|
||||
|
||||
public enum LightSource : ushort
|
||||
{
|
||||
[Display(Name = "Unknown")]
|
||||
Unknown = 0, [Display(Name = "Daylight")]
|
||||
Daylight = 1, [Display(Name = "Fluorescent")]
|
||||
Fluorescent = 2, [Display(Name = "Tungsten (Incandescent)")]
|
||||
Incandescent = 3, [Display(Name = "Flash")]
|
||||
Flash = 4, [Display(Name = "Fine Weather")]
|
||||
FineWeather = 9, [Display(Name = "Cloudy")]
|
||||
Cloudy = 10, [Display(Name = "Shade")]
|
||||
Shade = 11, [Display(Name = "Daylight Fluorescent")]
|
||||
DaylightFluorescent = 12, [Display(Name = "Day White Fluorescent")]
|
||||
DayWhiteFluorescent = 13, [Display(Name = "Cool White Fluorescent")]
|
||||
CoolWhiteFluorescent = 14, [Display(Name = "White Fluorescent")]
|
||||
WhiteFluorescent = 15, [Display(Name = "Warm White Fluorescent")]
|
||||
WarmWhiteFluorescent = 16, [Display(Name = "Standard Light A")]
|
||||
StandardLightA = 17, [Display(Name = "Standard Light B")]
|
||||
StandardLightB = 18, [Display(Name = "Standard Light C")]
|
||||
StandardLightC = 19, [Display(Name = "D55")]
|
||||
D55 = 20, [Display(Name = "D65")]
|
||||
D65 = 21, [Display(Name = "D75")]
|
||||
D75 = 22, [Display(Name = "D50")]
|
||||
D50 = 23, [Display(Name = "ISO Studio Tungsten")]
|
||||
ISOStudioTungsten = 24, [Display(Name = "Other")]
|
||||
Unknown = 0,
|
||||
[Display(Name = "Daylight")]
|
||||
Daylight = 1,
|
||||
[Display(Name = "Fluorescent")]
|
||||
Fluorescent = 2,
|
||||
[Display(Name = "Tungsten (Incandescent)")]
|
||||
Incandescent = 3,
|
||||
[Display(Name = "Flash")]
|
||||
Flash = 4,
|
||||
[Display(Name = "Fine Weather")]
|
||||
FineWeather = 9,
|
||||
[Display(Name = "Cloudy")]
|
||||
Cloudy = 10,
|
||||
[Display(Name = "Shade")]
|
||||
Shade = 11,
|
||||
[Display(Name = "Daylight Fluorescent")]
|
||||
DaylightFluorescent = 12,
|
||||
[Display(Name = "Day White Fluorescent")]
|
||||
DayWhiteFluorescent = 13,
|
||||
[Display(Name = "Cool White Fluorescent")]
|
||||
CoolWhiteFluorescent = 14,
|
||||
[Display(Name = "White Fluorescent")]
|
||||
WhiteFluorescent = 15,
|
||||
[Display(Name = "Warm White Fluorescent")]
|
||||
WarmWhiteFluorescent = 16,
|
||||
[Display(Name = "Standard Light A")]
|
||||
StandardLightA = 17,
|
||||
[Display(Name = "Standard Light B")]
|
||||
StandardLightB = 18,
|
||||
[Display(Name = "Standard Light C")]
|
||||
StandardLightC = 19,
|
||||
[Display(Name = "D55")]
|
||||
D55 = 20,
|
||||
[Display(Name = "D65")]
|
||||
D65 = 21,
|
||||
[Display(Name = "D75")]
|
||||
D75 = 22,
|
||||
[Display(Name = "D50")]
|
||||
D50 = 23,
|
||||
[Display(Name = "ISO Studio Tungsten")]
|
||||
ISOStudioTungsten = 24,
|
||||
[Display(Name = "Other")]
|
||||
Other = 255
|
||||
}
|
||||
|
||||
public enum MeteringMode : ushort
|
||||
{
|
||||
[Display(Name = "Unknown")]
|
||||
Unknown = 0, [Display(Name = "Average")]
|
||||
Average = 1, [Display(Name = "Center-weighted average")]
|
||||
CenterWeightedAverage = 2, [Display(Name = "Spot")]
|
||||
Spot = 3, [Display(Name = "Multi-spot")]
|
||||
MultiSpot = 4, [Display(Name = "Multi-segment")]
|
||||
MultiSegment = 5, [Display(Name = "Partial")]
|
||||
Partial = 6, [Display(Name = "Other")]
|
||||
Unknown = 0,
|
||||
[Display(Name = "Average")]
|
||||
Average = 1,
|
||||
[Display(Name = "Center-weighted average")]
|
||||
CenterWeightedAverage = 2,
|
||||
[Display(Name = "Spot")]
|
||||
Spot = 3,
|
||||
[Display(Name = "Multi-spot")]
|
||||
MultiSpot = 4,
|
||||
[Display(Name = "Multi-segment")]
|
||||
MultiSegment = 5,
|
||||
[Display(Name = "Partial")]
|
||||
Partial = 6,
|
||||
[Display(Name = "Other")]
|
||||
Other = 255
|
||||
}
|
||||
|
||||
public enum Orientation : ushort
|
||||
{
|
||||
[Display(Name = "Horizontal (normal)")]
|
||||
Horizontal = 1, [Display(Name = "Mirror horizontal")]
|
||||
MirrorHorizontal = 2, [Display(Name = "Rotate 180")]
|
||||
Rotate180 = 3, [Display(Name = "Mirror vertical")]
|
||||
MirrorVertical = 4, [Display(Name = "Mirror horizontal and rotate 270 CW")]
|
||||
MirrorHorizontalAndRotate270CW = 5, [Display(Name = "Rotate 90 CW")]
|
||||
Rotate90CW = 6, [Display(Name = "Mirror horizontal and rotate 90 CW")]
|
||||
MirrorHorizontalAndRotate90CW = 7, [Display(Name = "Rotate 270 CW")]
|
||||
Horizontal = 1,
|
||||
[Display(Name = "Mirror horizontal")]
|
||||
MirrorHorizontal = 2,
|
||||
[Display(Name = "Rotate 180")]
|
||||
Rotate180 = 3,
|
||||
[Display(Name = "Mirror vertical")]
|
||||
MirrorVertical = 4,
|
||||
[Display(Name = "Mirror horizontal and rotate 270 CW")]
|
||||
MirrorHorizontalAndRotate270CW = 5,
|
||||
[Display(Name = "Rotate 90 CW")]
|
||||
Rotate90CW = 6,
|
||||
[Display(Name = "Mirror horizontal and rotate 90 CW")]
|
||||
MirrorHorizontalAndRotate90CW = 7,
|
||||
[Display(Name = "Rotate 270 CW")]
|
||||
Rotate270CW = 8
|
||||
}
|
||||
|
||||
public enum ResolutionUnit : ushort
|
||||
{
|
||||
None = 1, Inches = 2, Centimeters = 3
|
||||
None = 1,
|
||||
Inches = 2,
|
||||
Centimeters = 3
|
||||
}
|
||||
|
||||
public enum Saturation : ushort
|
||||
{
|
||||
Normal = 0, Low = 1, High = 2
|
||||
Normal = 0,
|
||||
Low = 1,
|
||||
High = 2
|
||||
}
|
||||
|
||||
public enum SceneCaptureType : ushort
|
||||
{
|
||||
Standard = 0, Landscape = 1, Portrait = 2,
|
||||
Standard = 0,
|
||||
Landscape = 1,
|
||||
Portrait = 2,
|
||||
Night = 3
|
||||
}
|
||||
|
||||
public enum SensingMethod : ushort
|
||||
{
|
||||
[Display(Name = "Not defined")]
|
||||
Undefined = 1, [Display(Name = "One-chip color area")]
|
||||
OneChipColorArea = 2, [Display(Name = "Two-chip color area")]
|
||||
TwoChipColorArea = 3, [Display(Name = "Three-chip color area")]
|
||||
ThreeChipColorArea = 4, [Display(Name = "Color sequential area")]
|
||||
ColorSequentialArea = 5, [Display(Name = "Trilinear")]
|
||||
Trilinear = 7, [Display(Name = "Color sequential linear")]
|
||||
Undefined = 1,
|
||||
[Display(Name = "One-chip color area")]
|
||||
OneChipColorArea = 2,
|
||||
[Display(Name = "Two-chip color area")]
|
||||
TwoChipColorArea = 3,
|
||||
[Display(Name = "Three-chip color area")]
|
||||
ThreeChipColorArea = 4,
|
||||
[Display(Name = "Color sequential area")]
|
||||
ColorSequentialArea = 5,
|
||||
[Display(Name = "Trilinear")]
|
||||
Trilinear = 7,
|
||||
[Display(Name = "Color sequential linear")]
|
||||
ColorSequentialLinear = 8
|
||||
}
|
||||
|
||||
public enum SubjectDistanceRange : ushort
|
||||
{
|
||||
Unknown = 0, Macro = 1, Close = 2,
|
||||
Unknown = 0,
|
||||
Macro = 1,
|
||||
Close = 2,
|
||||
Distant = 3
|
||||
}
|
||||
|
||||
public enum WhiteBalance : ushort
|
||||
{
|
||||
Auto = 0, Manual = 1
|
||||
Auto = 0,
|
||||
Manual = 1
|
||||
}
|
||||
|
||||
public enum Sharpness : ushort
|
||||
{
|
||||
Normal = 0, Low = 1, High = 2
|
||||
Normal = 0,
|
||||
Low = 1,
|
||||
High = 2
|
||||
}
|
||||
|
||||
public enum AuditType : byte
|
||||
{
|
||||
None = 0, Created = 1, Updated = 2,
|
||||
None = 0,
|
||||
Created = 1,
|
||||
Updated = 2,
|
||||
Deleted = 3
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum DumpStatus : ulong
|
||||
{
|
||||
Unknown = 0, Cracked = 1 << 0, Fixed = 1 << 1,
|
||||
Hacked = 1 << 2, Modified = 1 << 3, Pirated = 1 << 4,
|
||||
Trained = 1 << 5, Translated = 1 << 6, Overdumped = 1 << 7,
|
||||
Underdumped = 1 << 8, Infected = 1 << 9, Damaged = 1 << 10,
|
||||
Verified = 1 << 11, MissingData = 1 << 12, MissingNonRequiredData = 1 << 13,
|
||||
MissingEssentialData = 1 << 14, DamagedSubchannel = 1 << 15
|
||||
Unknown = 0,
|
||||
Cracked = 1 << 0,
|
||||
Fixed = 1 << 1,
|
||||
Hacked = 1 << 2,
|
||||
Modified = 1 << 3,
|
||||
Pirated = 1 << 4,
|
||||
Trained = 1 << 5,
|
||||
Translated = 1 << 6,
|
||||
Overdumped = 1 << 7,
|
||||
Underdumped = 1 << 8,
|
||||
Infected = 1 << 9,
|
||||
Damaged = 1 << 10,
|
||||
Verified = 1 << 11,
|
||||
MissingData = 1 << 12,
|
||||
MissingNonRequiredData = 1 << 13,
|
||||
MissingEssentialData = 1 << 14,
|
||||
DamagedSubchannel = 1 << 15
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum SubchannelStatus : byte
|
||||
{
|
||||
None = 0, P = 1 << 0, Q = 1 << 1,
|
||||
R = 1 << 2, S = 1 << 3, T = 1 << 4,
|
||||
U = 1 << 5, V = 1 << 6, W = 1 << 7
|
||||
None = 0,
|
||||
P = 1 << 0,
|
||||
Q = 1 << 1,
|
||||
R = 1 << 2,
|
||||
S = 1 << 3,
|
||||
T = 1 << 4,
|
||||
U = 1 << 5,
|
||||
V = 1 << 6,
|
||||
W = 1 << 7
|
||||
}
|
||||
|
||||
public enum DistributionMode : uint
|
||||
{
|
||||
Unknown = 0, Retail = 1, Bundle = 2,
|
||||
Unknown = 0,
|
||||
Retail = 1,
|
||||
Bundle = 2,
|
||||
Oem = 3
|
||||
}
|
||||
|
||||
public enum MasteringTextType : byte
|
||||
{
|
||||
Unknown = 0, LotNumber = 1, MasteringSid = 2,
|
||||
MouldSid = 3, MasteringCode = 4, Barcode = 5,
|
||||
Unknown = 0,
|
||||
LotNumber = 1,
|
||||
MasteringSid = 2,
|
||||
MouldSid = 3,
|
||||
MasteringCode = 4,
|
||||
Barcode = 5,
|
||||
Toolstamp = 6
|
||||
}
|
||||
|
||||
public enum DocumentScanType : uint
|
||||
{
|
||||
Page = 0, Cover = 1, BackCover = 2,
|
||||
TableOfContents = 3, Index = 4, CopyrightPage = 5
|
||||
}
|
||||
Page = 0,
|
||||
Cover = 1,
|
||||
BackCover = 2,
|
||||
TableOfContents = 3,
|
||||
Index = 4,
|
||||
CopyrightPage = 5
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.Data;
|
||||
|
||||
namespace Marechai.Database
|
||||
{
|
||||
namespace Marechai.Database;
|
||||
|
||||
/// <summary>Interface to database</summary>
|
||||
public interface IDbCore
|
||||
{
|
||||
@@ -54,4 +54,3 @@ namespace Marechai.Database
|
||||
|
||||
bool TableExists(string tableName);
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@
|
||||
*******************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
@@ -31,6 +32,7 @@ namespace Marechai.Database.Migrations
|
||||
{
|
||||
public partial class InitialMigration : Migration
|
||||
{
|
||||
[SuppressMessage("Performance", "CA1861:Avoid constant arrays as arguments", Justification = "The method is called just once")]
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable("admins", table => new
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Marechai.Database.Migrations
|
||||
{
|
||||
public partial class Licenses : Migration
|
||||
{
|
||||
[SuppressMessage("Performance", "CA1861:Avoid constant arrays as arguments", Justification = "The method is called just once.")]
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable("Licenses", table => new
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Marechai.Database.Migrations
|
||||
{
|
||||
public partial class AddDocumentRoles : Migration
|
||||
{
|
||||
[SuppressMessage("Performance", "CA1861:Avoid constant arrays as arguments", Justification = "The method is called just once.")]
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable("DocumentRoles", table => new
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Marechai.Database.Migrations
|
||||
{
|
||||
@@ -1275,6 +1276,7 @@ namespace Marechai.Database.Migrations
|
||||
migrationBuilder.DeleteData("Licenses", "Id", 363);
|
||||
}
|
||||
|
||||
[SuppressMessage("Performance", "CA1861:Avoid constant arrays as arguments", Justification = "The method is called just once.")]
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.InsertData("DocumentRoles", new[]
|
||||
|
||||
@@ -26,22 +26,22 @@
|
||||
using System;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class ApplicationRole : IdentityRole
|
||||
{
|
||||
public const string ROLE_UBERADMIN = "UberAdmin";
|
||||
public const string ROLE_WRITER = "Writer";
|
||||
public const string ROLE_PROOFREADER = "Proofreader";
|
||||
public const string ROLE_TRANSLATOR = "Translator";
|
||||
public const string ROLE_SUPERTRANSLATOR = "SuperTranslator";
|
||||
public const string ROLE_COLLABORATOR = "Collaborator";
|
||||
public const string ROLE_CURATOR = "Curator";
|
||||
public const string ROLE_PHYSICALCURATOR = "PhysicalCurator";
|
||||
public const string ROLE_TECHNICIAN = "Technician";
|
||||
public const string ROLE_SUPERTECHNICIAN = "SuperTechnician";
|
||||
public const string ROLE_ADMIN = "Administrator";
|
||||
public const string ROLE_NONE = "NormalUser";
|
||||
public const string RoleUberAdmin = "UberAdmin";
|
||||
public const string RoleWriter = "Writer";
|
||||
public const string RoleProofreader = "Proofreader";
|
||||
public const string RoleTranslator = "Translator";
|
||||
public const string RoleSuperTranslator = "SuperTranslator";
|
||||
public const string RoleCollaborator = "Collaborator";
|
||||
public const string RoleCurator = "Curator";
|
||||
public const string RolePhysicalCurator = "PhysicalCurator";
|
||||
public const string RoleTechnician = "Technician";
|
||||
public const string RoleSuperTechnician = "SuperTechnician";
|
||||
public const string RoleAdmin = "Administrator";
|
||||
public const string RoleNone = "NormalUser";
|
||||
|
||||
public ApplicationRole() => Created = DateTime.UtcNow;
|
||||
|
||||
@@ -60,4 +60,3 @@ namespace Marechai.Database.Models
|
||||
public string Description { get; set; }
|
||||
public DateTime Created { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class ApplicationUser : IdentityUser
|
||||
{
|
||||
public virtual ICollection<MachinePhoto> Photos { get; set; }
|
||||
@@ -38,4 +38,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<DocumentScan> DocumentScans { get; set; }
|
||||
public virtual ICollection<MagazineScan> MagazineScans { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,8 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Audit : BaseModel<long>
|
||||
{
|
||||
public AuditType Type { get; set; }
|
||||
@@ -22,4 +22,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual ApplicationUser User { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,15 +28,18 @@ using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Aaru.CommonTypes.Structs;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public abstract class BaseFile : BaseModel<ulong>
|
||||
{
|
||||
[StringLength(8192), Required]
|
||||
[StringLength(8192)]
|
||||
[Required]
|
||||
public string Path { get; set; }
|
||||
[StringLength(255), Required]
|
||||
[StringLength(255)]
|
||||
[Required]
|
||||
public string Name { get; set; }
|
||||
[Required, DefaultValue('/')]
|
||||
[Required]
|
||||
[DefaultValue('/')]
|
||||
public char PathSeparator { get; set; }
|
||||
public bool IsDirectory { get; set; }
|
||||
public DateTime? CreationDate { get; set; }
|
||||
@@ -52,4 +55,3 @@ namespace Marechai.Database.Models
|
||||
public ulong? Inode { get; set; }
|
||||
public ulong? Links { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public abstract class BaseModel<TKey>
|
||||
{
|
||||
public TKey Id { get; set; }
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
||||
public DateTime UpdatedOn { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public abstract class BasePhoto : BaseModel<Guid>
|
||||
{
|
||||
public double? Aperture { get; set; }
|
||||
@@ -99,4 +99,3 @@ namespace Marechai.Database.Models
|
||||
public int LicenseId { get; set; }
|
||||
public string UserId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public abstract class BaseScan : BaseModel<Guid>
|
||||
{
|
||||
public string Author { get; set; }
|
||||
@@ -60,4 +60,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public string UserId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Book : DocumentBase
|
||||
{
|
||||
[StringLength(13, MinimumLength = 10)]
|
||||
@@ -48,4 +48,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<BooksByMachineFamily> MachineFamilies { get; set; }
|
||||
public virtual ICollection<BookScan> Scans { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,12 +25,11 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class BookScan : DocumentScanBase
|
||||
{
|
||||
[Required]
|
||||
public virtual Book Book { get; set; }
|
||||
public long BookId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class BooksByMachine : BaseModel<long>
|
||||
{
|
||||
public long BookId { get; set; }
|
||||
@@ -33,4 +33,3 @@ namespace Marechai.Database.Models
|
||||
public virtual Book Book { get; set; }
|
||||
public virtual Machine Machine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class BooksByMachineFamily : BaseModel<long>
|
||||
{
|
||||
public long BookId { get; set; }
|
||||
@@ -33,4 +33,3 @@ namespace Marechai.Database.Models
|
||||
public virtual Book Book { get; set; }
|
||||
public virtual MachineFamily MachineFamily { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,41 +26,54 @@
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class BrowserTest : BaseModel<int>
|
||||
{
|
||||
[DisplayName("User agent"), Required, StringLength(128)]
|
||||
[DisplayName("User agent")]
|
||||
[Required]
|
||||
[StringLength(128)]
|
||||
public string UserAgent { get; set; }
|
||||
[Required, StringLength(64)]
|
||||
[Required]
|
||||
[StringLength(64)]
|
||||
public string Browser { get; set; }
|
||||
[Required, StringLength(16)]
|
||||
[Required]
|
||||
[StringLength(16)]
|
||||
public string Version { get; set; }
|
||||
[DisplayName("Operating system"), Required, StringLength(32)]
|
||||
[DisplayName("Operating system")]
|
||||
[Required]
|
||||
[StringLength(32)]
|
||||
public string Os { get; set; }
|
||||
[Required, StringLength(8)]
|
||||
[Required]
|
||||
[StringLength(8)]
|
||||
public string Platform { get; set; }
|
||||
[DisplayName("GIF87"), DefaultValue(false)]
|
||||
[DisplayName("GIF87")]
|
||||
[DefaultValue(false)]
|
||||
public bool Gif87 { get; set; }
|
||||
[DisplayName("GIF89"), DefaultValue(false)]
|
||||
[DisplayName("GIF89")]
|
||||
[DefaultValue(false)]
|
||||
public bool Gif89 { get; set; }
|
||||
[DisplayName("JPEG"), DefaultValue(false)]
|
||||
[DisplayName("JPEG")]
|
||||
[DefaultValue(false)]
|
||||
public bool Jpeg { get; set; }
|
||||
[DisplayName("PNG"), DefaultValue(false)]
|
||||
[DisplayName("PNG")]
|
||||
[DefaultValue(false)]
|
||||
public bool Png { get; set; }
|
||||
[DisplayName("Transparent PNG"), DefaultValue(false)]
|
||||
[DisplayName("Transparent PNG")]
|
||||
[DefaultValue(false)]
|
||||
public bool Pngt { get; set; }
|
||||
[DisplayName("Animated GIF"), DefaultValue(false)]
|
||||
[DisplayName("Animated GIF")]
|
||||
[DefaultValue(false)]
|
||||
public bool Agif { get; set; }
|
||||
[DefaultValue(false)]
|
||||
public bool Table { get; set; }
|
||||
[DefaultValue(false)]
|
||||
public bool Colors { get; set; }
|
||||
[DisplayName("JavaScript"), DefaultValue(false)]
|
||||
[DisplayName("JavaScript")]
|
||||
[DefaultValue(false)]
|
||||
public bool Js { get; set; }
|
||||
[DefaultValue(false)]
|
||||
public bool Frames { get; set; }
|
||||
[DefaultValue(false)]
|
||||
public bool Flash { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompaniesByBook : BaseModel<long>
|
||||
{
|
||||
public int CompanyId { get; set; }
|
||||
public long BookId { get; set; }
|
||||
[Column(TypeName = "char(3)"), Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Required]
|
||||
public string RoleId { get; set; }
|
||||
|
||||
public virtual DocumentCompany Company { get; set; }
|
||||
public virtual Book Book { get; set; }
|
||||
public virtual DocumentRole Role { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompaniesByDocument : BaseModel<long>
|
||||
{
|
||||
public int CompanyId { get; set; }
|
||||
public long DocumentId { get; set; }
|
||||
[Column(TypeName = "char(3)"), Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Required]
|
||||
public string RoleId { get; set; }
|
||||
|
||||
public virtual DocumentCompany Company { get; set; }
|
||||
public virtual Document Document { get; set; }
|
||||
public virtual DocumentRole Role { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompaniesByMagazine : BaseModel<long>
|
||||
{
|
||||
public int CompanyId { get; set; }
|
||||
public long MagazineId { get; set; }
|
||||
[Column(TypeName = "char(3)"), Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Required]
|
||||
public string RoleId { get; set; }
|
||||
|
||||
public virtual DocumentCompany Company { get; set; }
|
||||
public virtual Magazine Magazine { get; set; }
|
||||
public virtual DocumentRole Role { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompaniesBySoftwareFamily : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -40,4 +40,3 @@ namespace Marechai.Database.Models
|
||||
public int CompanyId { get; set; }
|
||||
public ulong SoftwareFamilyId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompaniesBySoftwareVariant : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -40,4 +40,3 @@ namespace Marechai.Database.Models
|
||||
public int CompanyId { get; set; }
|
||||
public ulong SoftwareVariantId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompaniesBySoftwareVersion : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -40,4 +40,3 @@ namespace Marechai.Database.Models
|
||||
public int CompanyId { get; set; }
|
||||
public ulong SoftwareVersionId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -29,8 +29,8 @@ using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Company : BaseModel<int>
|
||||
{
|
||||
public Company()
|
||||
@@ -46,15 +46,18 @@ namespace Marechai.Database.Models
|
||||
|
||||
[Required]
|
||||
public string Name { get; set; }
|
||||
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true), DataType(DataType.Date)]
|
||||
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? Founded { get; set; }
|
||||
[Url, StringLength(255)]
|
||||
[Url]
|
||||
[StringLength(255)]
|
||||
public string Website { get; set; }
|
||||
[StringLength(45)]
|
||||
public string Twitter { get; set; }
|
||||
[StringLength(45)]
|
||||
public string Facebook { get; set; }
|
||||
[DisplayFormat(DataFormatString = "{0:d}"), DataType(DataType.Date)]
|
||||
[DisplayFormat(DataFormatString = "{0:d}")]
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? Sold { get; set; }
|
||||
public int? SoldToId { get; set; }
|
||||
[StringLength(80)]
|
||||
@@ -63,7 +66,8 @@ namespace Marechai.Database.Models
|
||||
public string City { get; set; }
|
||||
[StringLength(80)]
|
||||
public string Province { get; set; }
|
||||
[StringLength(25), DisplayName("Postal code")]
|
||||
[StringLength(25)]
|
||||
[DisplayName("Postal code")]
|
||||
public string PostalCode { get; set; }
|
||||
public short? CountryId { get; set; }
|
||||
[Required]
|
||||
@@ -97,4 +101,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<CompaniesBySoftwareVersion> SoftwareVersions { get; set; }
|
||||
public virtual ICollection<CompaniesBySoftwareVariant> SoftwareVariants { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,16 +26,17 @@
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompanyDescription : BaseModel<int>
|
||||
{
|
||||
public int CompanyId { get; set; }
|
||||
[MaxLength(262144, ErrorMessage = "Description is too long"), Required]
|
||||
[MaxLength(262144, ErrorMessage = "Description is too long")]
|
||||
[Required]
|
||||
public string Text { get; set; }
|
||||
[MaxLength(262144, ErrorMessage = "Description is too long"), DisplayName("HTML")]
|
||||
[MaxLength(262144, ErrorMessage = "Description is too long")]
|
||||
[DisplayName("HTML")]
|
||||
public string Html { get; set; }
|
||||
|
||||
public virtual Company Company { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CompanyLogo : BaseModel<int>
|
||||
{
|
||||
public int CompanyId { get; set; }
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public virtual Company Company { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CurrencyInflation : BaseModel<int>
|
||||
{
|
||||
[Required]
|
||||
@@ -35,4 +35,3 @@ namespace Marechai.Database.Models
|
||||
public float Inflation { get; set; }
|
||||
public string CurrencyCode { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class CurrencyPegging : BaseModel<int>
|
||||
{
|
||||
[Required]
|
||||
@@ -43,4 +43,3 @@ namespace Marechai.Database.Models
|
||||
public string SourceCode { get; set; }
|
||||
public string DestinationCode { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Document : DocumentBase
|
||||
{
|
||||
public virtual Iso31661Numeric Country { get; set; }
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<DocumentsByMachineFamily> MachineFamilies { get; set; }
|
||||
public virtual ICollection<DocumentScan> Scans { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public abstract class DocumentBase : BaseModel<long>
|
||||
{
|
||||
[Required]
|
||||
public string Title { get; set; }
|
||||
public string NativeTitle { get; set; }
|
||||
[DisplayFormat(DataFormatString = "{0:d}"), DataType(DataType.Date)]
|
||||
[DisplayFormat(DataFormatString = "{0:d}")]
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? Published { get; set; }
|
||||
public short? CountryId { get; set; }
|
||||
[MaxLength(262144, ErrorMessage = "Synopsis is too long")]
|
||||
public string Synopsis { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DocumentCompany : BaseModel<int>
|
||||
{
|
||||
[Required]
|
||||
@@ -41,4 +41,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<CompaniesByBook> Books { get; set; }
|
||||
public virtual ICollection<CompaniesByMagazine> Magazines { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,8 +28,8 @@ using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DocumentPerson : BaseModel<int>
|
||||
{
|
||||
[Required]
|
||||
@@ -41,7 +41,8 @@ namespace Marechai.Database.Models
|
||||
[DisplayName("Name to be displayed")]
|
||||
public string DisplayName { get; set; }
|
||||
|
||||
[NotMapped, DisplayName("Name")]
|
||||
[NotMapped]
|
||||
[DisplayName("Name")]
|
||||
public string FullName => DisplayName ?? Alias ?? $"{Name} {Surname}";
|
||||
|
||||
[DisplayName("Linked person")]
|
||||
@@ -50,4 +51,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<PeopleByBook> Books { get; set; }
|
||||
public virtual ICollection<PeopleByMagazine> Magazines { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,14 +27,15 @@ using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DocumentRole
|
||||
{
|
||||
[Column(TypeName = "char(3)"), Key, Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Key]
|
||||
[Required]
|
||||
public string Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
[DefaultValue(false)]
|
||||
public bool Enabled { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,12 +25,11 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DocumentScan : DocumentScanBase
|
||||
{
|
||||
[Required]
|
||||
public virtual Document Document { get; set; }
|
||||
public long DocumentId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,11 +23,10 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public abstract class DocumentScanBase : BaseScan
|
||||
{
|
||||
public DocumentScanType Type { get; set; }
|
||||
public uint? Page { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DocumentsByMachine : BaseModel<long>
|
||||
{
|
||||
public long DocumentId { get; set; }
|
||||
@@ -33,4 +33,3 @@ namespace Marechai.Database.Models
|
||||
public virtual Document Document { get; set; }
|
||||
public virtual Machine Machine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DocumentsByMachineFamily : BaseModel<long>
|
||||
{
|
||||
public long DocumentId { get; set; }
|
||||
@@ -33,4 +33,3 @@ namespace Marechai.Database.Models
|
||||
public virtual Document Document { get; set; }
|
||||
public virtual MachineFamily MachineFamily { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Dump : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -46,4 +46,3 @@ namespace Marechai.Database.Models
|
||||
public ulong MediaId { get; set; }
|
||||
public ulong MediaDumpId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,13 +26,14 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DumpHardware : BaseModel<ulong>
|
||||
{
|
||||
[StringLength(48)]
|
||||
public string Manufacturer { get; set; }
|
||||
[StringLength(48), Required]
|
||||
[StringLength(48)]
|
||||
[Required]
|
||||
public string Model { get; set; }
|
||||
[StringLength(48)]
|
||||
public string Revision { get; set; }
|
||||
@@ -40,15 +41,16 @@ namespace Marechai.Database.Models
|
||||
public string Firmware { get; set; }
|
||||
[StringLength(64)]
|
||||
public string Serial { get; set; }
|
||||
[StringLength(64), Required]
|
||||
[StringLength(64)]
|
||||
[Required]
|
||||
public string SoftwareName { get; set; }
|
||||
[StringLength(32)]
|
||||
public string SoftwareVersion { get; set; }
|
||||
[StringLength(64)]
|
||||
public string SoftwareOperatingSystem { get; set; }
|
||||
[Required, Column(TypeName = "json")]
|
||||
[Required]
|
||||
[Column(TypeName = "json")]
|
||||
public Extent[] Extents { get; set; }
|
||||
[Required]
|
||||
public virtual Dump Dump { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
// Not for table
|
||||
public class Extent
|
||||
{
|
||||
@@ -32,4 +32,3 @@ namespace Marechai.Database.Models
|
||||
public long End { get; set; }
|
||||
public bool Error { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class DbFile : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -52,4 +52,3 @@ namespace Marechai.Database.Models
|
||||
public bool Hack { get; set; }
|
||||
public string HackGroup { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class FileDataStream : BaseModel<ulong>
|
||||
{
|
||||
[StringLength(255)]
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public ulong FileId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class FileDataStreamsByMediaFile : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
public ulong FileDataStreamId { get; set; }
|
||||
public ulong MediaFileId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class FileDataStreamsByStandaloneFile : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
public ulong FileDataStreamId { get; set; }
|
||||
public ulong StandaloneFileId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class FilesByFilesystem : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
public ulong FilesystemId { get; set; }
|
||||
public ulong FileId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Filesystem : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -55,4 +55,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<FilesystemsByMediaDumpFile> MediaDumpFileImages { get; set; }
|
||||
public virtual ICollection<FilesByFilesystem> Files { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class FilesystemsByLogicalPartition : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual LogicalPartition Partition { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class FilesystemsByMediaDumpFile : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual MediaDumpFileImage MediaDumpFileImage { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Forbidden : BaseModel<int>
|
||||
{
|
||||
public string Browser { get; set; }
|
||||
@@ -32,4 +32,3 @@ namespace Marechai.Database.Models
|
||||
public string Ip { get; set; }
|
||||
public string Referer { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,8 +28,8 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Gpu : BaseModel<int>
|
||||
{
|
||||
public Gpu()
|
||||
@@ -38,12 +38,15 @@ namespace Marechai.Database.Models
|
||||
ResolutionsByGpu = new HashSet<ResolutionsByGpu>();
|
||||
}
|
||||
|
||||
[Required, StringLength(128)]
|
||||
[Required]
|
||||
[StringLength(128)]
|
||||
public string Name { get; set; }
|
||||
public int? CompanyId { get; set; }
|
||||
[DisplayName("Model code"), StringLength(45)]
|
||||
[DisplayName("Model code")]
|
||||
[StringLength(45)]
|
||||
public string ModelCode { get; set; }
|
||||
[DisplayFormat(DataFormatString = "{0:d}"), DataType(DataType.Date)]
|
||||
[DisplayFormat(DataFormatString = "{0:d}")]
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? Introduced { get; set; }
|
||||
[StringLength(45)]
|
||||
public string Package { get; set; }
|
||||
@@ -61,4 +64,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<ResolutionsByGpu> ResolutionsByGpu { get; set; }
|
||||
public virtual ICollection<GpusBySoftwareVariant> Software { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class GpusByMachine : BaseModel<long>
|
||||
{
|
||||
public int GpuId { get; set; }
|
||||
@@ -36,4 +36,3 @@ namespace Marechai.Database.Models
|
||||
public virtual Gpu Gpu { get; set; }
|
||||
public virtual Machine Machine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class GpusByOwnedMachine : BaseModel<long>
|
||||
{
|
||||
public int GpuId { get; set; }
|
||||
@@ -36,4 +36,3 @@ namespace Marechai.Database.Models
|
||||
public virtual Gpu Gpu { get; set; }
|
||||
public virtual OwnedMachine OwnedMachine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class GpusBySoftwareVariant : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -36,4 +36,3 @@ namespace Marechai.Database.Models
|
||||
public bool? Minimum { get; set; }
|
||||
public bool? Recommended { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,16 +27,17 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class InstructionSet : BaseModel<int>
|
||||
{
|
||||
public InstructionSet() => Processors = new HashSet<Processor>();
|
||||
|
||||
[Required, StringLength(45), Remote("VerifyUnique", "InstructionSets", "Admin")]
|
||||
[Required]
|
||||
[StringLength(45)]
|
||||
[Remote("VerifyUnique", "InstructionSets", "Admin")]
|
||||
public string Name { get; set; }
|
||||
|
||||
public virtual ICollection<Processor> Processors { get; set; }
|
||||
public virtual ICollection<InstructionSetsBySoftwareVariant> Software { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,20 +28,18 @@ using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class InstructionSetExtension : BaseModel<int>
|
||||
{
|
||||
public InstructionSetExtension() =>
|
||||
InstructionSetExtensionsByProcessor = new HashSet<InstructionSetExtensionsByProcessor>();
|
||||
|
||||
[DisplayName("Name"), Required, StringLength(45), Remote("VerifyUnique", "InstructionSetExtensions", "Admin")]
|
||||
[DisplayName("Name")]
|
||||
[Required]
|
||||
[StringLength(45)]
|
||||
[Remote("VerifyUnique", "InstructionSetExtensions", "Admin")]
|
||||
public string Extension { get; set; }
|
||||
|
||||
public virtual ICollection<InstructionSetExtensionsByProcessor> InstructionSetExtensionsByProcessor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
public virtual ICollection<InstructionSetExtensionsByProcessor> InstructionSetExtensionsByProcessor { get; set; }
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class InstructionSetExtensionsByProcessor : BaseModel<int>
|
||||
{
|
||||
[Remote("VerifyUnique", "InstructionSetExtensionsByProcessor", "Admin", AdditionalFields = nameof(ExtensionId))]
|
||||
@@ -37,4 +37,3 @@ namespace Marechai.Database.Models
|
||||
public virtual InstructionSetExtension Extension { get; set; }
|
||||
public virtual Processor Processor { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class InstructionSetsBySoftwareVariant : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual SoftwareVariant SoftwareVariant { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,8 +28,8 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Iso31661Numeric
|
||||
{
|
||||
public Iso31661Numeric() => Companies = new HashSet<Company>();
|
||||
@@ -41,7 +41,8 @@ namespace Marechai.Database.Models
|
||||
|
||||
[Required]
|
||||
public short Id { get; set; }
|
||||
[Required, StringLength(64)]
|
||||
[Required]
|
||||
[StringLength(64)]
|
||||
public string Name { get; set; }
|
||||
|
||||
public virtual ICollection<Company> Companies { get; set; }
|
||||
@@ -50,4 +51,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<Book> Books { get; set; }
|
||||
public virtual ICollection<Magazine> Magazines { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Iso4217
|
||||
{
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
@@ -36,14 +36,17 @@ namespace Marechai.Database.Models
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
||||
public DateTime UpdatedOn { get; set; }
|
||||
|
||||
[StringLength(3), Required, Key]
|
||||
[StringLength(3)]
|
||||
[Required]
|
||||
[Key]
|
||||
public string Code { get; set; }
|
||||
[Column(TypeName = "smallint(3)"), Required]
|
||||
[Column(TypeName = "smallint(3)")]
|
||||
[Required]
|
||||
public short Numeric { get; set; }
|
||||
public byte? MinorUnits { get; set; }
|
||||
[StringLength(150), Required]
|
||||
[StringLength(150)]
|
||||
[Required]
|
||||
public string Name { get; set; }
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? Withdrawn { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,8 +28,8 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
/// <summary>ISO-639 codes</summary>
|
||||
public class Iso639
|
||||
{
|
||||
@@ -38,7 +38,9 @@ namespace Marechai.Database.Models
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
||||
public DateTime UpdatedOn { get; set; }
|
||||
|
||||
[Column(TypeName = "char(3)"), Key, Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Key]
|
||||
[Required]
|
||||
public string Id { get; set; }
|
||||
[Column(TypeName = "char(3)")]
|
||||
public string Part2B { get; set; }
|
||||
@@ -46,15 +48,17 @@ namespace Marechai.Database.Models
|
||||
public string Part2T { get; set; }
|
||||
[Column(TypeName = "char(2)")]
|
||||
public string Part1 { get; set; }
|
||||
[Column(TypeName = "char(1)"), Required]
|
||||
[Column(TypeName = "char(1)")]
|
||||
[Required]
|
||||
public string Scope { get; set; }
|
||||
[Column(TypeName = "char(1)"), Required]
|
||||
[Column(TypeName = "char(1)")]
|
||||
[Required]
|
||||
public string Type { get; set; }
|
||||
[Column(TypeName = "varchar(150)"), Required]
|
||||
[Column(TypeName = "varchar(150)")]
|
||||
[Required]
|
||||
public string ReferenceName { get; set; }
|
||||
[Column(TypeName = "varchar(150)")]
|
||||
public string Comment { get; set; }
|
||||
|
||||
public virtual ICollection<LanguagesBySoftwareVariant> Software { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class LanguagesBySoftwareVariant : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual SoftwareVariant SoftwareVariant { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,24 +28,31 @@ using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class License : BaseModel<int>
|
||||
{
|
||||
[Required]
|
||||
public string Name { get; set; }
|
||||
[DisplayName("SPDX identifier")]
|
||||
public string SPDX { get; set; }
|
||||
[DisplayName("FSF approved"), Required, DefaultValue(false)]
|
||||
[DisplayName("FSF approved")]
|
||||
[Required]
|
||||
[DefaultValue(false)]
|
||||
public bool FsfApproved { get; set; }
|
||||
[DisplayName("OSI approved"), Required, DefaultValue(false)]
|
||||
[DisplayName("OSI approved")]
|
||||
[Required]
|
||||
[DefaultValue(false)]
|
||||
public bool OsiApproved { get; set; }
|
||||
[DisplayName("License text link"), StringLength(512), Url]
|
||||
[DisplayName("License text link")]
|
||||
[StringLength(512)]
|
||||
[Url]
|
||||
public string Link { get; set; }
|
||||
[DisplayName("License text"), Column(TypeName = "longtext"), StringLength(131072),
|
||||
DataType(DataType.MultilineText)]
|
||||
[DisplayName("License text")]
|
||||
[Column(TypeName = "longtext")]
|
||||
[StringLength(131072)]
|
||||
[DataType(DataType.MultilineText)]
|
||||
public string Text { get; set; }
|
||||
public virtual ICollection<MachinePhoto> Photos { get; set; }
|
||||
public virtual ICollection<OwnedMachinePhoto> OwnedMachinePhotos { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Log : BaseModel<int>
|
||||
{
|
||||
public string Browser { get; set; }
|
||||
@@ -32,4 +32,3 @@ namespace Marechai.Database.Models
|
||||
public string Date { get; set; }
|
||||
public string Referer { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class LogicalPartition : BaseModel<ulong>
|
||||
{
|
||||
public uint Sequence { get; set; }
|
||||
@@ -43,4 +43,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<FilesystemsByLogicalPartition> Filesystems { get; set; }
|
||||
public virtual ICollection<LogicalPartitionsByMedia> Media { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class LogicalPartitionsByMedia : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual LogicalPartition Partition { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Machine : BaseModel<int>
|
||||
{
|
||||
public Machine()
|
||||
@@ -42,11 +42,13 @@ namespace Marechai.Database.Models
|
||||
|
||||
[Required]
|
||||
public int CompanyId { get; set; }
|
||||
[Required, StringLength(255)]
|
||||
[Required]
|
||||
[StringLength(255)]
|
||||
public string Name { get; set; }
|
||||
[Required]
|
||||
public MachineType Type { get; set; }
|
||||
[DisplayFormat(DataFormatString = "{0:d}"), DataType(DataType.Date)]
|
||||
[DisplayFormat(DataFormatString = "{0:d}")]
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? Introduced { get; set; }
|
||||
public int? FamilyId { get; set; }
|
||||
[StringLength(50)]
|
||||
@@ -66,4 +68,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<MagazinesByMachine> Magazines { get; set; }
|
||||
public virtual ICollection<MachinesBySoftwareVariant> Software { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MachineFamiliesBySoftwareVariant : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual SoftwareVariant SoftwareVariant { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,14 +26,15 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MachineFamily : BaseModel<int>
|
||||
{
|
||||
public MachineFamily() => Machines = new HashSet<Machine>();
|
||||
|
||||
public int CompanyId { get; set; }
|
||||
[Required, StringLength(255)]
|
||||
[Required]
|
||||
[StringLength(255)]
|
||||
public string Name { get; set; }
|
||||
|
||||
public virtual Company Company { get; set; }
|
||||
@@ -43,4 +44,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<MagazinesByMachineFamily> Magazines { get; set; }
|
||||
public virtual ICollection<MachineFamiliesBySoftwareVariant> Software { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MachinePhoto : BasePhoto
|
||||
{
|
||||
[Url]
|
||||
@@ -36,4 +36,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public int MachineId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MachinesBySoftwareVariant : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual SoftwareVariant SoftwareVariant { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,17 +27,17 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Magazine : DocumentBase
|
||||
{
|
||||
[StringLength(8, MinimumLength = 8)]
|
||||
public string Issn { get; set; }
|
||||
[DisplayFormat(DataFormatString = "{0:d}"), DataType(DataType.Date)]
|
||||
[DisplayFormat(DataFormatString = "{0:d}")]
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? FirstPublication { get; set; }
|
||||
|
||||
public virtual Iso31661Numeric Country { get; set; }
|
||||
public virtual ICollection<MagazineIssue> Issues { get; set; }
|
||||
public virtual ICollection<CompaniesByMagazine> Companies { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MagazineIssue : BaseModel<long>
|
||||
{
|
||||
[Required]
|
||||
@@ -36,7 +36,8 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public string Caption { get; set; }
|
||||
public string NativeCaption { get; set; }
|
||||
[DisplayFormat(DataFormatString = "{0:d}"), DataType(DataType.Date)]
|
||||
[DisplayFormat(DataFormatString = "{0:d}")]
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime? Published { get; set; }
|
||||
[StringLength(18)]
|
||||
public string ProductCode { get; set; }
|
||||
@@ -50,4 +51,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<Media> Coverdiscs { get; set; }
|
||||
public virtual ICollection<MagazineScan> Scans { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,12 +25,11 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MagazineScan : DocumentScanBase
|
||||
{
|
||||
[Required]
|
||||
public virtual MagazineIssue Magazine { get; set; }
|
||||
public long MagazineId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MagazinesByMachine : BaseModel<long>
|
||||
{
|
||||
public long MagazineId { get; set; }
|
||||
@@ -33,4 +33,3 @@ namespace Marechai.Database.Models
|
||||
public virtual MagazineIssue Magazine { get; set; }
|
||||
public virtual Machine Machine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,8 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MagazinesByMachineFamily : BaseModel<long>
|
||||
{
|
||||
public long MagazineId { get; set; }
|
||||
@@ -33,4 +33,3 @@ namespace Marechai.Database.Models
|
||||
public virtual MagazineIssue Magazine { get; set; }
|
||||
public virtual MachineFamily MachineFamily { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -33,11 +33,11 @@ using Microsoft.EntityFrameworkCore.ChangeTracking;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MarechaiContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>
|
||||
{
|
||||
readonly ValueConverter<string, byte[]> hexToBytesConverter =
|
||||
readonly ValueConverter<string, byte[]> _hexToBytesConverter =
|
||||
new(v => HexStringToBytesConverter.StringToHex(v), v => HexStringToBytesConverter.HexToString(v));
|
||||
|
||||
public MarechaiContext() {}
|
||||
@@ -136,28 +136,26 @@ namespace Marechai.Database.Models
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
if(optionsBuilder.IsConfigured)
|
||||
return;
|
||||
if(optionsBuilder.IsConfigured) return;
|
||||
|
||||
IConfigurationBuilder builder = new ConfigurationBuilder().AddJsonFile("appsettings.json");
|
||||
IConfigurationRoot configuration = builder.Build();
|
||||
|
||||
optionsBuilder.
|
||||
UseMySql(configuration.GetConnectionString("DefaultConnection"),
|
||||
new MariaDbServerVersion(new Version(10, 5, 0)), b => b.UseMicrosoftJson()).
|
||||
UseLazyLoadingProxies();
|
||||
optionsBuilder
|
||||
.UseMySql(configuration.GetConnectionString("DefaultConnection"),
|
||||
new MariaDbServerVersion(new Version(10, 5, 0)),
|
||||
b => b.UseMicrosoftJson())
|
||||
.UseLazyLoadingProxies();
|
||||
}
|
||||
|
||||
public async Task<int> SaveChangesWithUserAsync(string userId)
|
||||
{
|
||||
ChangeTracker.DetectChanges();
|
||||
List<Audit> audits = new();
|
||||
List<Audit> audits = [];
|
||||
|
||||
foreach(EntityEntry entry in ChangeTracker.Entries())
|
||||
{
|
||||
if(entry.Entity is Audit ||
|
||||
entry.State == EntityState.Detached ||
|
||||
entry.State == EntityState.Unchanged)
|
||||
if(entry.Entity is Audit || entry.State == EntityState.Detached || entry.State == EntityState.Unchanged)
|
||||
continue;
|
||||
|
||||
var audit = new Audit();
|
||||
@@ -167,7 +165,7 @@ namespace Marechai.Database.Models
|
||||
Dictionary<string, object> keys = new();
|
||||
Dictionary<string, object> olds = new();
|
||||
Dictionary<string, object> news = new();
|
||||
List<string> columns = new();
|
||||
List<string> columns = [];
|
||||
|
||||
foreach(PropertyEntry property in entry.Properties)
|
||||
{
|
||||
@@ -207,17 +205,13 @@ namespace Marechai.Database.Models
|
||||
}
|
||||
}
|
||||
|
||||
if(keys.Count > 0)
|
||||
audit.Keys = keys;
|
||||
if(keys.Count > 0) audit.Keys = keys;
|
||||
|
||||
if(olds.Count > 0)
|
||||
audit.OldValues = olds;
|
||||
if(olds.Count > 0) audit.OldValues = olds;
|
||||
|
||||
if(news.Count > 0)
|
||||
audit.NewValues = news;
|
||||
if(news.Count > 0) audit.NewValues = news;
|
||||
|
||||
if(columns.Count > 0)
|
||||
audit.AffectedColumns = columns;
|
||||
if(columns.Count > 0) audit.AffectedColumns = columns;
|
||||
|
||||
audits.Add(audit);
|
||||
}
|
||||
@@ -249,11 +243,15 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.HasIndex(e => e.Edition);
|
||||
|
||||
entity.HasOne(d => d.Previous).WithOne(d => d.Next).HasForeignKey<Book>(d => d.PreviousId).
|
||||
OnDelete(DeleteBehavior.ClientSetNull);
|
||||
entity.HasOne(d => d.Previous)
|
||||
.WithOne(d => d.Next)
|
||||
.HasForeignKey<Book>(d => d.PreviousId)
|
||||
.OnDelete(DeleteBehavior.ClientSetNull);
|
||||
|
||||
entity.HasOne(d => d.Source).WithMany(d => d.Derivates).HasForeignKey(d => d.SourceId).
|
||||
OnDelete(DeleteBehavior.ClientSetNull);
|
||||
entity.HasOne(d => d.Source)
|
||||
.WithMany(d => d.Derivates)
|
||||
.HasForeignKey(d => d.SourceId)
|
||||
.OnDelete(DeleteBehavior.ClientSetNull);
|
||||
|
||||
entity.HasOne(d => d.Country).WithMany(p => p.Books).HasForeignKey(d => d.CountryId);
|
||||
});
|
||||
@@ -296,51 +294,63 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.Agif).HasColumnName("agif").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Agif).HasColumnName("agif").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Browser).IsRequired().HasColumnName("browser").HasColumnType("varchar(64)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Browser)
|
||||
.IsRequired()
|
||||
.HasColumnName("browser")
|
||||
.HasColumnType("varchar(64)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Colors).HasColumnName("colors").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Colors)
|
||||
.HasColumnName("colors")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Flash).HasColumnName("flash").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Flash).HasColumnName("flash").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Frames).HasColumnName("frames").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Frames)
|
||||
.HasColumnName("frames")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Gif87).HasColumnName("gif87").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Gif87).HasColumnName("gif87").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Gif89).HasColumnName("gif89").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Gif89).HasColumnName("gif89").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Jpeg).HasColumnName("jpeg").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Jpeg).HasColumnName("jpeg").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Js).HasColumnName("js").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Os).IsRequired().HasColumnName("os").HasColumnType("varchar(32)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Os)
|
||||
.IsRequired()
|
||||
.HasColumnName("os")
|
||||
.HasColumnType("varchar(32)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Platform).IsRequired().HasColumnName("platform").HasColumnType("varchar(8)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Platform)
|
||||
.IsRequired()
|
||||
.HasColumnName("platform")
|
||||
.HasColumnType("varchar(8)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Png).HasColumnName("png").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Pngt).HasColumnName("pngt").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Pngt).HasColumnName("pngt").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Table).HasColumnName("table").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Table).HasColumnName("table").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.UserAgent).IsRequired().HasColumnName("user_agent").
|
||||
HasColumnType("varchar(128)").HasDefaultValueSql("''");
|
||||
entity.Property(e => e.UserAgent)
|
||||
.IsRequired()
|
||||
.HasColumnName("user_agent")
|
||||
.HasColumnType("varchar(128)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Version).IsRequired().HasColumnName("version").HasColumnType("varchar(16)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Version)
|
||||
.IsRequired()
|
||||
.HasColumnName("version")
|
||||
.HasColumnType("varchar(16)")
|
||||
.HasDefaultValueSql("''");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<MarechaiDb>(entity =>
|
||||
@@ -349,8 +359,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.Updated).HasColumnName("updated").HasColumnType("datetime").
|
||||
HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
entity.Property(e => e.Updated)
|
||||
.HasColumnName("updated")
|
||||
.HasColumnType("datetime")
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
|
||||
entity.Property(e => e.Version).HasColumnName("version").HasColumnType("int(11)");
|
||||
});
|
||||
@@ -436,8 +448,11 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Founded).HasColumnName("founded").HasColumnType("datetime");
|
||||
|
||||
entity.Property(e => e.Name).IsRequired().HasColumnName("name").HasColumnType("varchar(128)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Name)
|
||||
.IsRequired()
|
||||
.HasColumnName("name")
|
||||
.HasColumnType("varchar(128)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.PostalCode).HasColumnName("postal_code").HasColumnType("varchar(25)");
|
||||
|
||||
@@ -453,14 +468,20 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Website).HasColumnName("website").HasColumnType("varchar(255)");
|
||||
|
||||
entity.HasOne(d => d.Country).WithMany(p => p.Companies).HasForeignKey(d => d.CountryId).
|
||||
HasConstraintName("fk_companies_country");
|
||||
entity.HasOne(d => d.Country)
|
||||
.WithMany(p => p.Companies)
|
||||
.HasForeignKey(d => d.CountryId)
|
||||
.HasConstraintName("fk_companies_country");
|
||||
|
||||
entity.HasOne(d => d.SoldTo).WithMany(p => p.InverseSoldToNavigation).HasForeignKey(d => d.SoldToId).
|
||||
HasConstraintName("fk_companies_sold_to");
|
||||
entity.HasOne(d => d.SoldTo)
|
||||
.WithMany(p => p.InverseSoldToNavigation)
|
||||
.HasForeignKey(d => d.SoldToId)
|
||||
.HasConstraintName("fk_companies_sold_to");
|
||||
|
||||
entity.HasOne(d => d.DocumentCompany).WithOne(p => p.Company).
|
||||
HasForeignKey<DocumentCompany>(d => d.CompanyId).OnDelete(DeleteBehavior.SetNull);
|
||||
entity.HasOne(d => d.DocumentCompany)
|
||||
.WithOne(p => p.Company)
|
||||
.HasForeignKey<DocumentCompany>(d => d.CompanyId)
|
||||
.OnDelete(DeleteBehavior.SetNull);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<CompanyDescription>().HasIndex(e => e.Text).IsFullText();
|
||||
@@ -490,8 +511,11 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Year).HasColumnName("year").HasColumnType("int(4)");
|
||||
|
||||
entity.HasOne(d => d.Company).WithMany(p => p.Logos).HasForeignKey(d => d.CompanyId).
|
||||
OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("fk_company_logos_company1");
|
||||
entity.HasOne(d => d.Company)
|
||||
.WithMany(p => p.Logos)
|
||||
.HasForeignKey(d => d.CompanyId)
|
||||
.OnDelete(DeleteBehavior.ClientSetNull)
|
||||
.HasConstraintName("fk_company_logos_company1");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<Document>(entity =>
|
||||
@@ -528,8 +552,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.HasIndex(e => e.DisplayName);
|
||||
|
||||
entity.HasOne(d => d.Person).WithOne(p => p.DocumentPerson).
|
||||
HasForeignKey<Person>(d => d.DocumentPersonId).OnDelete(DeleteBehavior.SetNull);
|
||||
entity.HasOne(d => d.Person)
|
||||
.WithOne(p => p.DocumentPerson)
|
||||
.HasForeignKey<Person>(d => d.DocumentPersonId)
|
||||
.OnDelete(DeleteBehavior.SetNull);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<DocumentRole>(entity =>
|
||||
@@ -579,17 +605,29 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.Browser).IsRequired().HasColumnName("browser").HasColumnType("char(128)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Browser)
|
||||
.IsRequired()
|
||||
.HasColumnName("browser")
|
||||
.HasColumnType("char(128)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Date).IsRequired().HasColumnName("date").HasColumnType("char(20)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Date)
|
||||
.IsRequired()
|
||||
.HasColumnName("date")
|
||||
.HasColumnType("char(20)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Ip).IsRequired().HasColumnName("ip").HasColumnType("char(16)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Ip)
|
||||
.IsRequired()
|
||||
.HasColumnName("ip")
|
||||
.HasColumnType("char(16)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Referer).IsRequired().HasColumnName("referer").HasColumnType("char(255)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Referer)
|
||||
.IsRequired()
|
||||
.HasColumnName("referer")
|
||||
.HasColumnType("char(255)")
|
||||
.HasDefaultValueSql("''");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<Gpu>(entity =>
|
||||
@@ -624,8 +662,11 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.ModelCode).HasColumnName("model_code").HasColumnType("varchar(45)");
|
||||
|
||||
entity.Property(e => e.Name).IsRequired().HasColumnName("name").HasColumnType("char(128)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Name)
|
||||
.IsRequired()
|
||||
.HasColumnName("name")
|
||||
.HasColumnType("char(128)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Package).HasColumnName("package").HasColumnType("varchar(45)");
|
||||
|
||||
@@ -635,8 +676,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Transistors).HasColumnName("transistors").HasColumnType("bigint(20)");
|
||||
|
||||
entity.HasOne(d => d.Company).WithMany(p => p.Gpus).HasForeignKey(d => d.CompanyId).
|
||||
HasConstraintName("fk_gpus_company");
|
||||
entity.HasOne(d => d.Company)
|
||||
.WithMany(p => p.Gpus)
|
||||
.HasForeignKey(d => d.CompanyId)
|
||||
.HasConstraintName("fk_gpus_company");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<GpusByMachine>(entity =>
|
||||
@@ -653,11 +696,15 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.MachineId).HasColumnName("machine").HasColumnType("int(11)");
|
||||
|
||||
entity.HasOne(d => d.Gpu).WithMany(p => p.GpusByMachine).HasForeignKey(d => d.GpuId).
|
||||
HasConstraintName("fk_gpus_by_machine_gpu");
|
||||
entity.HasOne(d => d.Gpu)
|
||||
.WithMany(p => p.GpusByMachine)
|
||||
.HasForeignKey(d => d.GpuId)
|
||||
.HasConstraintName("fk_gpus_by_machine_gpu");
|
||||
|
||||
entity.HasOne(d => d.Machine).WithMany(p => p.Gpus).HasForeignKey(d => d.MachineId).
|
||||
HasConstraintName("fk_gpus_by_machine_machine");
|
||||
entity.HasOne(d => d.Machine)
|
||||
.WithMany(p => p.Gpus)
|
||||
.HasForeignKey(d => d.MachineId)
|
||||
.HasConstraintName("fk_gpus_by_machine_machine");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<GpusByOwnedMachine>(entity =>
|
||||
@@ -699,13 +746,17 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.ExtensionId).HasColumnName("extension_id").HasColumnType("int(11)");
|
||||
|
||||
entity.HasOne(d => d.Extension).WithMany(p => p.InstructionSetExtensionsByProcessor).
|
||||
HasForeignKey(d => d.ExtensionId).OnDelete(DeleteBehavior.ClientSetNull).
|
||||
HasConstraintName("fk_extension_extension_id");
|
||||
entity.HasOne(d => d.Extension)
|
||||
.WithMany(p => p.InstructionSetExtensionsByProcessor)
|
||||
.HasForeignKey(d => d.ExtensionId)
|
||||
.OnDelete(DeleteBehavior.ClientSetNull)
|
||||
.HasConstraintName("fk_extension_extension_id");
|
||||
|
||||
entity.HasOne(d => d.Processor).WithMany(p => p.InstructionSetExtensions).
|
||||
HasForeignKey(d => d.ProcessorId).OnDelete(DeleteBehavior.ClientSetNull).
|
||||
HasConstraintName("fk_extension_processor_id");
|
||||
entity.HasOne(d => d.Processor)
|
||||
.WithMany(p => p.InstructionSetExtensions)
|
||||
.HasForeignKey(d => d.ProcessorId)
|
||||
.OnDelete(DeleteBehavior.ClientSetNull)
|
||||
.HasConstraintName("fk_extension_processor_id");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<InstructionSet>(entity =>
|
||||
@@ -765,17 +816,29 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.Browser).IsRequired().HasColumnName("browser").HasColumnType("char(128)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Browser)
|
||||
.IsRequired()
|
||||
.HasColumnName("browser")
|
||||
.HasColumnType("char(128)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Date).IsRequired().HasColumnName("date").HasColumnType("char(20)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Date)
|
||||
.IsRequired()
|
||||
.HasColumnName("date")
|
||||
.HasColumnType("char(20)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Ip).IsRequired().HasColumnName("ip").HasColumnType("char(16)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Ip)
|
||||
.IsRequired()
|
||||
.HasColumnName("ip")
|
||||
.HasColumnType("char(16)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Referer).IsRequired().HasColumnName("referer").HasColumnType("char(255)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Referer)
|
||||
.IsRequired()
|
||||
.HasColumnName("referer")
|
||||
.HasColumnType("char(255)")
|
||||
.HasDefaultValueSql("''");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<MachineFamily>(entity =>
|
||||
@@ -792,8 +855,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Name).IsRequired().HasColumnName("name").HasColumnType("varchar(255)");
|
||||
|
||||
entity.HasOne(d => d.Company).WithMany(p => p.MachineFamilies).HasForeignKey(d => d.CompanyId).
|
||||
HasConstraintName("fk_machine_families_company");
|
||||
entity.HasOne(d => d.Company)
|
||||
.WithMany(p => p.MachineFamilies)
|
||||
.HasForeignKey(d => d.CompanyId)
|
||||
.HasConstraintName("fk_machine_families_company");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<Machine>(entity =>
|
||||
@@ -814,8 +879,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.CompanyId).HasColumnName("company").HasColumnType("int(11)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.CompanyId)
|
||||
.HasColumnName("company")
|
||||
.HasColumnType("int(11)")
|
||||
.HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.FamilyId).HasColumnName("family").HasColumnType("int(11)");
|
||||
|
||||
@@ -827,11 +894,16 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Type).HasColumnName("type").HasColumnType("int(11)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.HasOne(d => d.Company).WithMany(p => p.Machines).HasForeignKey(d => d.CompanyId).
|
||||
OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("fk_machines_company");
|
||||
entity.HasOne(d => d.Company)
|
||||
.WithMany(p => p.Machines)
|
||||
.HasForeignKey(d => d.CompanyId)
|
||||
.OnDelete(DeleteBehavior.ClientSetNull)
|
||||
.HasConstraintName("fk_machines_company");
|
||||
|
||||
entity.HasOne(d => d.Family).WithMany(p => p.Machines).HasForeignKey(d => d.FamilyId).
|
||||
HasConstraintName("fk_machines_family");
|
||||
entity.HasOne(d => d.Family)
|
||||
.WithMany(p => p.Machines)
|
||||
.HasForeignKey(d => d.FamilyId)
|
||||
.HasConstraintName("fk_machines_family");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<OwnedMachine>(entity =>
|
||||
@@ -1091,8 +1163,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Usage).HasColumnName("usage").HasColumnType("int(11)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.HasOne(d => d.Machine).WithMany(p => p.Memory).HasForeignKey(d => d.MachineId).
|
||||
HasConstraintName("fk_memory_by_machine_machine");
|
||||
entity.HasOne(d => d.Machine)
|
||||
.WithMany(p => p.Memory)
|
||||
.HasForeignKey(d => d.MachineId)
|
||||
.HasConstraintName("fk_memory_by_machine_machine");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<MemoryByOwnedMachine>(entity =>
|
||||
@@ -1120,11 +1194,16 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.Donator).IsRequired().HasColumnName("donator").HasColumnType("char(128)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Donator)
|
||||
.IsRequired()
|
||||
.HasColumnName("donator")
|
||||
.HasColumnType("char(128)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Quantity).HasColumnName("quantity").HasColumnType("decimal(11,2)").
|
||||
HasDefaultValueSql("'0.00'");
|
||||
entity.Property(e => e.Quantity)
|
||||
.HasColumnName("quantity")
|
||||
.HasColumnType("decimal(11,2)")
|
||||
.HasDefaultValueSql("'0.00'");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<News>(entity =>
|
||||
@@ -1139,8 +1218,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.AddedId).HasColumnName("added_id").HasColumnType("int(11)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.AddedId)
|
||||
.HasColumnName("added_id")
|
||||
.HasColumnType("int(11)")
|
||||
.HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Date).IsRequired().HasColumnName("date").HasColumnType("datetime");
|
||||
|
||||
@@ -1223,8 +1304,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.HasOne(d => d.CountryOfBirth).WithMany(p => p.People).HasForeignKey(d => d.CountryOfBirthId);
|
||||
|
||||
entity.HasOne(d => d.DocumentPerson).WithOne(p => p.Person).
|
||||
HasForeignKey<DocumentPerson>(d => d.PersonId).OnDelete(DeleteBehavior.SetNull);
|
||||
entity.HasOne(d => d.DocumentPerson)
|
||||
.WithOne(p => p.Person)
|
||||
.HasForeignKey<DocumentPerson>(d => d.PersonId)
|
||||
.OnDelete(DeleteBehavior.SetNull);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<Processor>(entity =>
|
||||
@@ -1311,8 +1394,11 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.ModelCode).HasColumnName("model_code").HasColumnType("varchar(45)");
|
||||
|
||||
entity.Property(e => e.Name).IsRequired().HasColumnName("name").HasColumnType("char(50)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Name)
|
||||
.IsRequired()
|
||||
.HasColumnName("name")
|
||||
.HasColumnType("char(50)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.Package).HasColumnName("package").HasColumnType("varchar(45)");
|
||||
|
||||
@@ -1330,11 +1416,15 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Transistors).HasColumnName("transistors").HasColumnType("bigint(20)");
|
||||
|
||||
entity.HasOne(d => d.Company).WithMany(p => p.Processors).HasForeignKey(d => d.CompanyId).
|
||||
HasConstraintName("fk_processors_company");
|
||||
entity.HasOne(d => d.Company)
|
||||
.WithMany(p => p.Processors)
|
||||
.HasForeignKey(d => d.CompanyId)
|
||||
.HasConstraintName("fk_processors_company");
|
||||
|
||||
entity.HasOne(d => d.InstructionSet).WithMany(p => p.Processors).HasForeignKey(d => d.InstructionSetId).
|
||||
HasConstraintName("fk_processors_instruction_set");
|
||||
entity.HasOne(d => d.InstructionSet)
|
||||
.WithMany(p => p.Processors)
|
||||
.HasForeignKey(d => d.InstructionSetId)
|
||||
.HasConstraintName("fk_processors_instruction_set");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ProcessorsByMachine>(entity =>
|
||||
@@ -1355,11 +1445,15 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Speed).HasColumnName("speed");
|
||||
|
||||
entity.HasOne(d => d.Machine).WithMany(p => p.Processors).HasForeignKey(d => d.MachineId).
|
||||
HasConstraintName("fk_processors_by_machine_machine");
|
||||
entity.HasOne(d => d.Machine)
|
||||
.WithMany(p => p.Processors)
|
||||
.HasForeignKey(d => d.MachineId)
|
||||
.HasConstraintName("fk_processors_by_machine_machine");
|
||||
|
||||
entity.HasOne(d => d.Processor).WithMany(p => p.ProcessorsByMachine).HasForeignKey(d => d.ProcessorId).
|
||||
HasConstraintName("fk_processors_by_machine_processor");
|
||||
entity.HasOne(d => d.Processor)
|
||||
.WithMany(p => p.ProcessorsByMachine)
|
||||
.HasForeignKey(d => d.ProcessorId)
|
||||
.HasConstraintName("fk_processors_by_machine_processor");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ProcessorsByOwnedMachine>(entity =>
|
||||
@@ -1389,14 +1483,16 @@ namespace Marechai.Database.Models
|
||||
{
|
||||
e.Width,
|
||||
e.Height
|
||||
}).HasDatabaseName("idx_resolutions_resolution");
|
||||
})
|
||||
.HasDatabaseName("idx_resolutions_resolution");
|
||||
|
||||
entity.HasIndex(e => new
|
||||
{
|
||||
e.Width,
|
||||
e.Height,
|
||||
e.Colors
|
||||
}).HasDatabaseName("idx_resolutions_resolution_with_color");
|
||||
})
|
||||
.HasDatabaseName("idx_resolutions_resolution_with_color");
|
||||
|
||||
entity.HasIndex(e => new
|
||||
{
|
||||
@@ -1404,17 +1500,16 @@ namespace Marechai.Database.Models
|
||||
e.Height,
|
||||
e.Colors,
|
||||
e.Palette
|
||||
}).HasDatabaseName("idx_resolutions_resolution_with_color_and_palette");
|
||||
})
|
||||
.HasDatabaseName("idx_resolutions_resolution_with_color_and_palette");
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.Chars).HasColumnName("chars").HasColumnType("tinyint(1)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Chars).HasColumnName("chars").HasColumnType("tinyint(1)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Colors).HasColumnName("colors").HasColumnType("bigint(20)");
|
||||
|
||||
entity.Property(e => e.Height).HasColumnName("height").HasColumnType("int(11)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Height).HasColumnName("height").HasColumnType("int(11)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.Palette).HasColumnName("palette").HasColumnType("bigint(20)");
|
||||
|
||||
@@ -1435,11 +1530,15 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.ResolutionId).HasColumnName("resolution").HasColumnType("int(11)");
|
||||
|
||||
entity.HasOne(d => d.Gpu).WithMany(p => p.ResolutionsByGpu).HasForeignKey(d => d.GpuId).
|
||||
HasConstraintName("fk_resolutions_by_gpu_gpu");
|
||||
entity.HasOne(d => d.Gpu)
|
||||
.WithMany(p => p.ResolutionsByGpu)
|
||||
.HasForeignKey(d => d.GpuId)
|
||||
.HasConstraintName("fk_resolutions_by_gpu_gpu");
|
||||
|
||||
entity.HasOne(d => d.Resolution).WithMany(p => p.ResolutionsByGpu).HasForeignKey(d => d.ResolutionId).
|
||||
HasConstraintName("fk_resolutions_by_gpu_resolution");
|
||||
entity.HasOne(d => d.Resolution)
|
||||
.WithMany(p => p.ResolutionsByGpu)
|
||||
.HasForeignKey(d => d.ResolutionId)
|
||||
.HasConstraintName("fk_resolutions_by_gpu_resolution");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ResolutionsByScreen>(entity =>
|
||||
@@ -1485,11 +1584,15 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.SoundSynthId).HasColumnName("sound_synth").HasColumnType("int(11)");
|
||||
|
||||
entity.HasOne(d => d.Machine).WithMany(p => p.Sound).HasForeignKey(d => d.MachineId).
|
||||
HasConstraintName("fk_sound_by_machine_machine");
|
||||
entity.HasOne(d => d.Machine)
|
||||
.WithMany(p => p.Sound)
|
||||
.HasForeignKey(d => d.MachineId)
|
||||
.HasConstraintName("fk_sound_by_machine_machine");
|
||||
|
||||
entity.HasOne(d => d.SoundSynth).WithMany(p => p.SoundByMachine).HasForeignKey(d => d.SoundSynthId).
|
||||
HasConstraintName("fk_sound_by_machine_sound_synth");
|
||||
entity.HasOne(d => d.SoundSynth)
|
||||
.WithMany(p => p.SoundByMachine)
|
||||
.HasForeignKey(d => d.SoundSynthId)
|
||||
.HasConstraintName("fk_sound_by_machine_sound_synth");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<SoundByOwnedMachine>(entity =>
|
||||
@@ -1537,8 +1640,11 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.ModelCode).HasColumnName("model_code").HasColumnType("varchar(45)");
|
||||
|
||||
entity.Property(e => e.Name).IsRequired().HasColumnName("name").HasColumnType("char(50)").
|
||||
HasDefaultValueSql("''");
|
||||
entity.Property(e => e.Name)
|
||||
.IsRequired()
|
||||
.HasColumnName("name")
|
||||
.HasColumnType("char(50)")
|
||||
.HasDefaultValueSql("''");
|
||||
|
||||
entity.Property(e => e.SquareWave).HasColumnName("square_wave").HasColumnType("int(11)");
|
||||
|
||||
@@ -1548,8 +1654,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.WhiteNoise).HasColumnName("white_noise").HasColumnType("int(11)");
|
||||
|
||||
entity.HasOne(d => d.Company).WithMany(p => p.SoundSynths).HasForeignKey(d => d.CompanyId).
|
||||
HasConstraintName("fk_sound_synths_company");
|
||||
entity.HasOne(d => d.Company)
|
||||
.WithMany(p => p.SoundSynths)
|
||||
.HasForeignKey(d => d.CompanyId)
|
||||
.HasConstraintName("fk_sound_synths_company");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<StorageByMachine>(entity =>
|
||||
@@ -1568,15 +1676,19 @@ namespace Marechai.Database.Models
|
||||
|
||||
entity.Property(e => e.Capacity).HasColumnName("capacity").HasColumnType("bigint(20)");
|
||||
|
||||
entity.Property(e => e.Interface).HasColumnName("interface").HasColumnType("int(11)").
|
||||
HasDefaultValueSql("'0'");
|
||||
entity.Property(e => e.Interface)
|
||||
.HasColumnName("interface")
|
||||
.HasColumnType("int(11)")
|
||||
.HasDefaultValueSql("'0'");
|
||||
|
||||
entity.Property(e => e.MachineId).HasColumnName("machine").HasColumnType("int(11)");
|
||||
|
||||
entity.Property(e => e.Type).HasColumnName("type").HasColumnType("int(11)").HasDefaultValueSql("'0'");
|
||||
|
||||
entity.HasOne(d => d.Machine).WithMany(p => p.Storage).HasForeignKey(d => d.MachineId).
|
||||
HasConstraintName("fk_storage_by_machine_machine");
|
||||
entity.HasOne(d => d.Machine)
|
||||
.WithMany(p => p.Storage)
|
||||
.HasForeignKey(d => d.MachineId)
|
||||
.HasConstraintName("fk_storage_by_machine_machine");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<StorageByOwnedMachine>(entity =>
|
||||
@@ -1612,10 +1724,7 @@ namespace Marechai.Database.Models
|
||||
entity.HasIndex(d => d.Withdrawn);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<CurrencyInflation>(entity =>
|
||||
{
|
||||
entity.HasIndex(d => d.Year);
|
||||
});
|
||||
modelBuilder.Entity<CurrencyInflation>(entity => { entity.HasIndex(d => d.Year); });
|
||||
|
||||
modelBuilder.Entity<CurrencyPegging>(entity =>
|
||||
{
|
||||
@@ -1639,10 +1748,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<DbFile>(entity =>
|
||||
{
|
||||
entity.Property(e => e.Md5).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Md5).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(_hexToBytesConverter);
|
||||
|
||||
entity.HasIndex(e => e.Size);
|
||||
entity.HasIndex(e => e.Md5);
|
||||
@@ -1731,10 +1840,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<MediaDumpFileImage>(entity =>
|
||||
{
|
||||
entity.Property(e => e.Md5).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Md5).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(_hexToBytesConverter);
|
||||
|
||||
entity.HasOne(d => d.MediaDump).WithMany(p => p.Files).OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
@@ -1755,10 +1864,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<MediaDumpImage>(entity =>
|
||||
{
|
||||
entity.Property(e => e.Md5).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Md5).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(_hexToBytesConverter);
|
||||
|
||||
entity.HasOne(d => d.MediaDump).WithOne(p => p.Image).OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
@@ -1773,10 +1882,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<MediaDumpSubchannelImage>(entity =>
|
||||
{
|
||||
entity.Property(e => e.Md5).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Md5).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(_hexToBytesConverter);
|
||||
|
||||
entity.HasOne(d => d.MediaDump).WithOne(p => p.Subchannel).OnDelete(DeleteBehavior.Cascade);
|
||||
entity.HasOne(d => d.Track).WithOne(p => p.Subchannel).OnDelete(DeleteBehavior.Cascade);
|
||||
@@ -1791,10 +1900,10 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<MediaDumpTrackImage>(entity =>
|
||||
{
|
||||
entity.Property(e => e.Md5).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(hexToBytesConverter);
|
||||
entity.Property(e => e.Md5).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha1).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha256).HasConversion(_hexToBytesConverter);
|
||||
entity.Property(e => e.Sha3).HasConversion(_hexToBytesConverter);
|
||||
|
||||
entity.HasOne(d => d.MediaDump).WithMany(p => p.Tracks).OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
@@ -1823,12 +1932,16 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<FileDataStreamsByMediaFile>(entity =>
|
||||
{
|
||||
entity.HasOne(d => d.MediaFile).WithMany(p => p.DataStreams).OnDelete(DeleteBehavior.Cascade);
|
||||
entity.HasOne(d => d.MediaFile)
|
||||
.WithMany(p => p.DataStreams)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<FilesByFilesystem>(entity =>
|
||||
{
|
||||
entity.HasOne(d => d.Filesystem).WithMany(p => p.Files).OnDelete(DeleteBehavior.Cascade);
|
||||
entity.HasOne(d => d.Filesystem)
|
||||
.WithMany(p => p.Files)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<Dump>(entity =>
|
||||
@@ -1974,14 +2087,16 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<RequiredOperatingSystemsBySofwareVariant>(entity =>
|
||||
{
|
||||
entity.HasOne(d => d.SoftwareVariant).WithMany(p => p.RequiredOperatingSystems).
|
||||
OnDelete(DeleteBehavior.Cascade);
|
||||
entity.HasOne(d => d.SoftwareVariant)
|
||||
.WithMany(p => p.RequiredOperatingSystems)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<RequiredSoftwareBySoftwareVariant>(entity =>
|
||||
{
|
||||
entity.HasOne(d => d.SoftwareVariant).WithMany(p => p.RequiredSoftware).
|
||||
OnDelete(DeleteBehavior.Cascade);
|
||||
entity.HasOne(d => d.SoftwareVariant)
|
||||
.WithMany(p => p.RequiredSoftware)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<SoundBySoftwareVariant>(entity =>
|
||||
@@ -1992,7 +2107,9 @@ namespace Marechai.Database.Models
|
||||
|
||||
modelBuilder.Entity<FileDataStreamsByStandaloneFile>(entity =>
|
||||
{
|
||||
entity.HasOne(d => d.StandaloneFile).WithMany(p => p.DataStreams).OnDelete(DeleteBehavior.Cascade);
|
||||
entity.HasOne(d => d.StandaloneFile)
|
||||
.WithMany(p => p.DataStreams)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<StandaloneFile>(entity =>
|
||||
@@ -2025,10 +2142,7 @@ namespace Marechai.Database.Models
|
||||
entity.HasOne(e => e.MediaDump).WithMany(e => e.Tags).OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<SoftwareVariantByCompilationMedia>(entity =>
|
||||
{
|
||||
entity.HasIndex(e => e.Path);
|
||||
});
|
||||
modelBuilder.Entity<SoftwareVariantByCompilationMedia>(entity => { entity.HasIndex(e => e.Path); });
|
||||
|
||||
modelBuilder.Entity<BookScan>(entity =>
|
||||
{
|
||||
@@ -2136,4 +2250,3 @@ namespace Marechai.Database.Models
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,12 +25,11 @@
|
||||
|
||||
using System;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MarechaiDb
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int Version { get; set; }
|
||||
public DateTimeOffset? Updated { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MasteringText : BaseModel<ulong>
|
||||
{
|
||||
public MasteringTextType Type { get; set; }
|
||||
@@ -12,4 +12,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual Media Media { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -28,8 +28,8 @@ using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Aaru.CommonTypes;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class Media : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -68,4 +68,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<MediaBySoftwareVariant> Software { get; set; }
|
||||
public virtual ICollection<MasteringText> MasteringTexts { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaBySoftwareVariant : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -34,4 +34,3 @@ namespace Marechai.Database.Models
|
||||
[Required]
|
||||
public virtual SoftwareVariant SoftwareVariant { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaDump : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -42,4 +42,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ICollection<Dump> Dumps { get; set; }
|
||||
public virtual ICollection<MediaTagDump> Tags { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaDumpFileImage : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -48,4 +48,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public virtual ICollection<FilesystemsByMediaDumpFile> Filesystems { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaDumpImage : BaseModel<ulong>
|
||||
{
|
||||
public ulong MediaDumpId { get; set; }
|
||||
@@ -20,4 +20,3 @@ namespace Marechai.Database.Models
|
||||
public string Spamsum { get; set; }
|
||||
public string AccoustId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaDumpSubchannelImage : BaseModel<ulong>
|
||||
{
|
||||
public short TrackSequence { get; set; }
|
||||
@@ -47,4 +47,3 @@ namespace Marechai.Database.Models
|
||||
public virtual MediaDump MediaDump { get; set; }
|
||||
public virtual MediaDumpTrackImage Track { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaDumpTrackImage : BaseModel<ulong>
|
||||
{
|
||||
public short TrackSequence { get; set; }
|
||||
@@ -45,4 +45,3 @@ namespace Marechai.Database.Models
|
||||
public virtual MediaDump MediaDump { get; set; }
|
||||
public virtual MediaDumpSubchannelImage Subchannel { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,10 +25,9 @@
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaFile : BaseFile
|
||||
{
|
||||
public virtual ICollection<FileDataStreamsByMediaFile> DataStreams { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Aaru.CommonTypes.Enums;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MediaTagDump : BaseModel<ulong>
|
||||
{
|
||||
[Required]
|
||||
@@ -13,4 +13,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public ulong FileId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MemoryByMachine : BaseModel<long>
|
||||
{
|
||||
public int MachineId { get; set; }
|
||||
@@ -38,4 +38,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public virtual Machine Machine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MemoryByOwnedMachine : BaseModel<long>
|
||||
{
|
||||
public long OwnedMachineId { get; set; }
|
||||
@@ -38,4 +38,3 @@ namespace Marechai.Database.Models
|
||||
|
||||
public virtual OwnedMachine OwnedMachine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,11 +23,10 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class MoneyDonation : BaseModel<int>
|
||||
{
|
||||
public string Donator { get; set; }
|
||||
public decimal Quantity { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class News : BaseModel<int>
|
||||
{
|
||||
public DateTime Date { get; set; }
|
||||
@@ -35,4 +35,3 @@ namespace Marechai.Database.Models
|
||||
[DisplayName("Affected ID")]
|
||||
public int AddedId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using Aaru.CommonTypes.Enums;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
// Not for a table
|
||||
public class OpticalDiscTrack
|
||||
{
|
||||
@@ -11,4 +11,3 @@ namespace Marechai.Database.Models
|
||||
public long LastSector { get; set; }
|
||||
public TrackType Type { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,8 +27,8 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class OwnedMachine : BaseModel<long>
|
||||
{
|
||||
[DisplayName("Acquisition date")]
|
||||
@@ -38,15 +38,19 @@ namespace Marechai.Database.Models
|
||||
public StatusType Status { get; set; }
|
||||
[DisplayName("Last status check date")]
|
||||
public DateTime? LastStatusDate { get; set; }
|
||||
[DisplayName("Available for trade or sale"), DefaultValue(false)]
|
||||
[DisplayName("Available for trade or sale")]
|
||||
[DefaultValue(false)]
|
||||
public bool Trade { get; set; }
|
||||
[DisplayName("Has original boxes"), DefaultValue(false)]
|
||||
[DisplayName("Has original boxes")]
|
||||
[DefaultValue(false)]
|
||||
public bool Boxed { get; set; }
|
||||
[DisplayName("Has original manuals"), DefaultValue(false)]
|
||||
[DisplayName("Has original manuals")]
|
||||
[DefaultValue(false)]
|
||||
public bool Manuals { get; set; }
|
||||
[DisplayName("Serial number")]
|
||||
public string SerialNumber { get; set; }
|
||||
[DisplayName("Serial number visible to other users"), DefaultValue(false)]
|
||||
[DisplayName("Serial number visible to other users")]
|
||||
[DefaultValue(false)]
|
||||
public bool SerialNumberVisible { get; set; }
|
||||
public int MachineId { get; set; }
|
||||
public string UserId { get; set; }
|
||||
@@ -61,4 +65,3 @@ namespace Marechai.Database.Models
|
||||
public virtual ApplicationUser User { get; set; }
|
||||
public virtual Machine Machine { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,11 +23,10 @@
|
||||
// Copyright © 2003-2021 Natalia Portillo
|
||||
*******************************************************************************/
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class OwnedMachinePhoto : BasePhoto
|
||||
{
|
||||
public virtual OwnedMachine OwnedMachine { get; set; }
|
||||
public long OwnedMachineId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class PeopleByBook : BaseModel<long>
|
||||
{
|
||||
public int PersonId { get; set; }
|
||||
public long BookId { get; set; }
|
||||
[Column(TypeName = "char(3)"), Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Required]
|
||||
public string RoleId { get; set; }
|
||||
|
||||
public virtual DocumentPerson Person { get; set; }
|
||||
public virtual Book Book { get; set; }
|
||||
public virtual DocumentRole Role { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class PeopleByCompany : BaseModel<long>
|
||||
{
|
||||
public int PersonId { get; set; }
|
||||
@@ -41,4 +41,3 @@ namespace Marechai.Database.Models
|
||||
public virtual Person Person { get; set; }
|
||||
public virtual Company Company { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class PeopleByDocument : BaseModel<long>
|
||||
{
|
||||
public int PersonId { get; set; }
|
||||
public long DocumentId { get; set; }
|
||||
[Column(TypeName = "char(3)"), Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Required]
|
||||
public string RoleId { get; set; }
|
||||
|
||||
public virtual DocumentPerson Person { get; set; }
|
||||
public virtual Document Document { get; set; }
|
||||
public virtual DocumentRole Role { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marechai.Database.Models
|
||||
{
|
||||
namespace Marechai.Database.Models;
|
||||
|
||||
public class PeopleByMagazine : BaseModel<long>
|
||||
{
|
||||
public int PersonId { get; set; }
|
||||
public long MagazineId { get; set; }
|
||||
[Column(TypeName = "char(3)"), Required]
|
||||
[Column(TypeName = "char(3)")]
|
||||
[Required]
|
||||
public string RoleId { get; set; }
|
||||
|
||||
public virtual DocumentPerson Person { get; set; }
|
||||
public virtual MagazineIssue Magazine { get; set; }
|
||||
public virtual DocumentRole Role { get; set; }
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user