Changeset d23bf72 for FarmatikoData


Ignore:
Timestamp:
11/05/20 06:57:35 (3 years ago)
Author:
DimitarSlezenkovski <dslezenkovski@…>
Branches:
master
Children:
afc9a9a
Parents:
1f4846d
Message:

Add SystemService, Auth, fix a lil bugs :)

Location:
FarmatikoData
Files:
3 added
10 edited
2 moved

Legend:

Unmodified
Added
Removed
  • FarmatikoData/FarmatikoData.csproj

    r1f4846d rd23bf72  
    44    <TargetFramework>netcoreapp3.1</TargetFramework>
    55  </PropertyGroup>
    6 
    7   <ItemGroup>
    8     <Compile Remove="Migrations\20200729091456_Second migration.cs" />
    9     <Compile Remove="Migrations\20200729091456_Second migration.Designer.cs" />
    10     <Compile Remove="Migrations\20200729091727_Second Migration.cs" />
    11     <Compile Remove="Migrations\20200729091727_Second Migration.Designer.cs" />
    12     <Compile Remove="Migrations\20200729101719_Third Migration.cs" />
    13     <Compile Remove="Migrations\20200729101719_Third Migration.Designer.cs" />
    14   </ItemGroup>
    156
    167  <ItemGroup>
  • FarmatikoData/FarmatikoDataContext.cs

    r1f4846d rd23bf72  
    1717        public virtual DbSet<MedicineList> MedicineLists { get; set; }
    1818        public virtual DbSet<RequestPharmacyHead> PHRequests { get; set; }
     19        public virtual DbSet<User> Users { get; set; }
    1920    }
    2021}
  • FarmatikoData/FarmatikoRepo/AdminRepo.cs

    r1f4846d rd23bf72  
    3131        }
    3232        //POST
    33         public void RemoveClaimRequest(RequestPharmacyHead req)
     33        public void RemoveClaimRequest(int Id)
    3434        {
     35            var req = _context.PHRequests.Where(x => x.Id == Id).FirstOrDefault();
    3536            _context.PHRequests.Remove(req);
    3637            _context.SaveChanges();
  • FarmatikoData/FarmatikoRepo/PHRepo.cs

    r1f4846d rd23bf72  
    7171            await _context.SaveChangesAsync();
    7272        }
     73
     74        public PharmacyHead GetPharmacyHeadByUserName(string userName)
     75        {
     76            return _context.PharmacyHeads
     77                .Where(x => x.Email.Equals(userName))
     78                .FirstOrDefault();
     79        }
    7380    }
    7481}
  • FarmatikoData/FarmatikoRepo/Repository.cs

    r1f4846d rd23bf72  
    1919        public async Task<IEnumerable<HealthcareWorker>> GetAllWorkers()
    2020        {
    21             var Workers = await Task.Run(() => _context.HealthcareWorkers.Take(10));
     21            var Workers = await _context.HealthcareWorkers.Take(5).ToListAsync();
    2222            return Workers;
    2323        }
     
    2525        public async Task<IEnumerable<HealthFacility>> GetFacilities()
    2626        {
    27             var Facilities = await Task.Run(() => _context.HealthFacilities.Take(10));
     27            var Facilities = await _context.HealthFacilities.Take(5).ToListAsync();
    2828            return Facilities;
    2929        }
     
    4343        public async Task<IEnumerable<Medicine>> GetMedicines()
    4444        {
    45             var Medicines = await Task.Run(() => _context.Medicines.Take(10));
     45            var Medicines = await _context.Medicines.Take(3).ToListAsync();
    4646            return Medicines;
    4747        }
     
    4949        public async Task<Pandemic> GetPandemic()
    5050        {
    51             var Pandemic = await Task.Run(() => _context.Pandemics.FirstOrDefault());
     51            var Pandemic = await _context.Pandemics.FirstOrDefaultAsync();
    5252            return Pandemic;
    5353        }
     
    5555        public async Task<IEnumerable<Pharmacy>> GetPharmacies()
    5656        {
    57             var Pharmacies = await Task.Run(() => _context.Pharmacies.Take(10));
     57            var Pharmacies = await _context.Pharmacies.Take(5).ToListAsync();
    5858            return Pharmacies;
    5959        }
     
    7373        public async Task<IEnumerable<HealthFacility>> SearchFacilities(string query)
    7474        {
    75             var SearchQuery = await Task.Run(() => _context.HealthFacilities
    76             .Where(x => x.Name.Equals(query))
    77             .OrderBy(x => x.Name));
     75            var SearchQuery = await _context.HealthFacilities
     76            .Where(x => x.Name.Contains(query))
     77            .OrderBy(x => x.Name).Take(3).ToListAsync();
    7878
    7979            return SearchQuery;
     
    8282        public async Task<IEnumerable<Medicine>> SearchMedicines(string query)
    8383        {
    84             var SearchQuery = await Task.Run(() => _context.Medicines
    85             .Where(x => x.Name.Equals(query))
    86             .OrderBy(x => x.Name));
     84            var SearchQuery = await _context.Medicines
     85            .Where(x => x.Name.Contains(query))
     86            .OrderBy(x => x.Name).Take(5).ToListAsync();
    8787
    8888            return SearchQuery;
     
    9191        public async Task<IEnumerable<Pharmacy>> SearchPharmacies(string query)
    9292        {
    93             var SearchQuery = await Task.Run(() => _context.Pharmacies
    94             .Where(x => x.Name.Equals(query))
    95             .OrderBy(x => x.Name));
     93            var SearchQuery = await _context.Pharmacies.Take(5)
     94            .Where(x => x.Name.Contains(query))
     95            .OrderBy(x => x.Name).Take(5).ToListAsync();
    9696
    9797            return SearchQuery;
     
    100100        public async Task<IEnumerable<HealthcareWorker>> SearchWorkers(string query)
    101101        {
    102             var SearchQuery = await Task.Run(() => _context.HealthcareWorkers
    103             .Where(x => x.Name.Equals(query))
    104             .OrderBy(x => x.Name));
    105 
    106             return SearchQuery;
    107         }
    108         public async Task<HealthFacility> GetFacilityJSON(string healthFacility)
    109         {
    110             var Facility = await Task.Run(() => _context.HealthFacilities.Where(x => x.Name.Equals(healthFacility)).FirstOrDefault());
     102            var SearchQuery = await _context.HealthcareWorkers.Take(5)
     103            .Where(x => x.Name.Contains(query))
     104            .OrderBy(x => x.Name).Take(5).ToListAsync();
     105
     106            return SearchQuery;
     107        }
     108        public HealthFacility GetFacilityJSON(string healthFacility)
     109        {
     110            var Facility = _context.HealthFacilities.Where(x => x.Name.Equals(healthFacility)).FirstOrDefault();
    111111            return Facility;
    112112        }
     
    116116        public async Task AddWorker(HealthcareWorker Worker)
    117117        {
    118             await Task.Run(() => _context.HealthcareWorkers.Add(Worker));
    119             await _context.SaveChangesAsync();
     118            await _context.HealthcareWorkers.AddAsync(Worker);
     119            _context.SaveChanges();
    120120        }
    121121
    122122        public async Task AddFacility(HealthFacility healthFacility)
    123123        {
    124             await Task.Run(() => _context.HealthFacilities.Add(healthFacility));
    125             await _context.SaveChangesAsync();
     124            await _context.HealthFacilities.AddAsync(healthFacility);
     125            _context.SaveChanges();
    126126        }
    127127
    128128        public async Task AddPharmacy(Pharmacy pharmacy)
    129129        {
    130             await Task.Run(() => _context.Pharmacies.Add(pharmacy));
    131             await _context.SaveChangesAsync();
     130            await _context.Pharmacies.AddAsync(pharmacy);
     131            _context.SaveChanges();
    132132        }
    133133
    134134        public async Task AddPharmacyHead(PharmacyHead pharmacyHead)
    135135        {
    136             await Task.Run(() => _context.PharmacyHeads.Add(pharmacyHead));
    137             await _context.SaveChangesAsync();
     136            await _context.PharmacyHeads.AddAsync(pharmacyHead);
     137            _context.SaveChanges();
    138138        }
    139139
    140140        public async Task AddMedicines(Medicine medicine)
    141141        {
    142             await Task.Run(() => _context.Medicines.Add(medicine));
    143             await _context.SaveChangesAsync();
     142            await _context.Medicines.AddAsync(medicine);
     143            _context.SaveChanges();
    144144        }
    145145
    146146        public async Task AddPandemic(Pandemic pandemic)
    147147        {
    148             await Task.Run(() => _context.Pandemics.Add(pandemic));
    149             await _context.SaveChangesAsync();
     148            var pand = await _context.Pandemics.AddAsync(pandemic);
     149            _context.SaveChanges();
    150150        }
    151151
    152152        public async Task UpdateFacility(HealthFacility healthFacility)
    153153        {
    154             var Facility = await Task.Run(() => _context.HealthFacilities.Where(x => x.Id == healthFacility.Id).FirstOrDefault());
     154            var Facility = await _context.HealthFacilities.Where(x => x.Id == healthFacility.Id).FirstOrDefaultAsync();
    155155            Facility.Address = healthFacility.Address;
    156156            Facility.Email = healthFacility.Email;
     
    159159            Facility.Phone = healthFacility.Phone;
    160160            Facility.Type = healthFacility.Type;
    161             await _context.SaveChangesAsync();
     161            _context.SaveChanges();
    162162        }
    163163
     
    165165        {
    166166            await Task.Run(() => _context.Medicines.Remove(medicine));
    167             await _context.SaveChangesAsync();
     167            _context.SaveChanges();
    168168        }
    169169
    170170        public async Task UpdatePandemic(Pandemic pandemic)
    171171        {
    172             var Pandemic = await Task.Run(() => _context.Pandemics.Where(x => x.Id == pandemic.Id).FirstOrDefault());
     172            var Pandemic = await _context.Pandemics.Where(x => x.Id == pandemic.Id).FirstOrDefaultAsync();
    173173            Pandemic.ActiveGlobal = pandemic.ActiveGlobal;
    174174            Pandemic.ActiveMK = pandemic.ActiveMK;
     
    179179            Pandemic.TotalGlobal = pandemic.TotalGlobal;
    180180            Pandemic.TotalMK = pandemic.TotalMK;
    181             await _context.SaveChangesAsync();
     181            _context.SaveChanges();
    182182        }
    183183
     
    185185        {
    186186            await Task.Run(() => _context.Pharmacies.Remove(pharmacy));
    187             await _context.SaveChangesAsync();
     187            _context.SaveChanges();
    188188        }
    189189        //not impl
     
    195195        public async Task UpadatePharmacy(Pharmacy pharmacy)
    196196        {
    197             var Pharmacy = await Task.Run(() => _context.Pharmacies.Where(x => x.Id == pharmacy.Id).FirstOrDefault());
     197            var Pharmacy = await _context.Pharmacies.Where(x => x.Id == pharmacy.Id).FirstOrDefaultAsync();
    198198            Pharmacy.Name = pharmacy.Name;
    199199            Pharmacy.Location = pharmacy.Location;
    200200            Pharmacy.WorkAllTime = pharmacy.WorkAllTime;
    201201            Pharmacy.Address = pharmacy.Address;
    202             await _context.SaveChangesAsync();
     202            _context.SaveChanges();
    203203        }
    204204        //ke vidime
     
    212212            var PHead = await _context.PharmacyHeads.Where(x => x.Id == Id).FirstOrDefaultAsync();
    213213            PHead.DeletedOn = DateTime.UtcNow;
    214             await _context.SaveChangesAsync();
    215         }
    216 
     214            _context.SaveChanges();
     215        }
     216
     217        public IDictionary<string, User> GetUsers()
     218        {
     219            var users = _context.Users.ToDictionary(x => x.Email, x => new User
     220            {
     221                Id = x.Id,
     222                Name = x.Name,
     223                Email = x.Email,
     224                Password = x.Password,
     225                UserRole = x.UserRole
     226            });
     227            return users;
     228        }
    217229    }
    218230}
  • FarmatikoData/FarmatikoRepoInterfaces/IAdminRepo.cs

    r1f4846d rd23bf72  
    1212        Task<IEnumerable<RequestPharmacyHead>> GetClaimingRequests();
    1313        Task<IEnumerable<PharmacyHead>> GetPharmacyHeads();
    14         void RemoveClaimRequest(RequestPharmacyHead req);
     14        void RemoveClaimRequest(int Id);
    1515    }
    1616}
  • FarmatikoData/FarmatikoRepoInterfaces/IPHRepo.cs

    r1f4846d rd23bf72  
    1717        Task Remove(PharmacyHead phead);
    1818        Task RemoveClaimingRequest(int id);
     19        PharmacyHead GetPharmacyHeadByUserName(string userName);
    1920    }
    2021}
  • FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs

    r1f4846d rd23bf72  
    2424        Task<IEnumerable<Pharmacy>> SearchPharmacies(string query);
    2525        Task<IEnumerable<HealthcareWorker>> SearchWorkers(string query);
    26         Task<HealthFacility> GetFacilityJSON(string healthFacility);
     26        HealthFacility GetFacilityJSON(string healthFacility);
     27        IDictionary<string, User> GetUsers();
    2728
    2829        //POST
  • FarmatikoData/Migrations/20201104230858_InitialMigration.cs

    r1f4846d rd23bf72  
    55namespace FarmatikoData.Migrations
    66{
    7     public partial class Initialmigration : Migration
     7    public partial class InitialMigration : Migration
    88    {
    99        protected override void Up(MigrationBuilder migrationBuilder)
     
    1515                    Id = table.Column<int>(nullable: false)
    1616                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
    17                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
     17                    CreatedOn = table.Column<DateTime>(nullable: false),
    1818                    DeletedOn = table.Column<DateTime>(nullable: true),
    1919                    Name = table.Column<string>(nullable: false),
     
    2424                    Phone = table.Column<string>(nullable: true)
    2525                },
    26                 constraints: table => 
     26                constraints: table =>
    2727                {
    2828                    table.PrimaryKey("PK_HealthFacilities", x => x.Id);
     
    3030
    3131            migrationBuilder.CreateTable(
     32                name: "Medicines",
     33                columns: table => new
     34                {
     35                    Id = table.Column<int>(nullable: false)
     36                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
     37                    CreatedOn = table.Column<DateTime>(nullable: false),
     38                    DeletedOn = table.Column<DateTime>(nullable: true),
     39                    Name = table.Column<string>(nullable: false),
     40                    Strength = table.Column<string>(nullable: false),
     41                    Form = table.Column<string>(nullable: true),
     42                    WayOfIssuing = table.Column<string>(nullable: false),
     43                    Manufacturer = table.Column<string>(nullable: false),
     44                    Price = table.Column<float>(nullable: false),
     45                    Packaging = table.Column<string>(nullable: true)
     46                },
     47                constraints: table =>
     48                {
     49                    table.PrimaryKey("PK_Medicines", x => x.Id);
     50                });
     51
     52            migrationBuilder.CreateTable(
    3253                name: "Pandemics",
    3354                columns: table => new
     
    3556                    Id = table.Column<int>(nullable: false)
    3657                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
    37                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    38                     DeletedOn = table.Column<DateTime>(nullable: true),
    39                     Name = table.Column<string>(nullable: true),
     58                    CreatedOn = table.Column<DateTime>(nullable: false),
     59                    DeletedOn = table.Column<DateTime>(nullable: true),
     60                    Name = table.Column<string>(nullable: false),
    4061                    TotalMK = table.Column<int>(nullable: false),
    4162                    ActiveMK = table.Column<int>(nullable: false),
    4263                    DeathsMK = table.Column<int>(nullable: false),
    4364                    NewMK = table.Column<int>(nullable: false),
    44                     TotalGlobal = table.Column<int>(nullable: false),
    45                     DeathsGlobal = table.Column<int>(nullable: false),
    46                     ActiveGlobal = table.Column<int>(nullable: false)
     65                    TotalGlobal = table.Column<long>(nullable: false),
     66                    DeathsGlobal = table.Column<long>(nullable: false),
     67                    ActiveGlobal = table.Column<long>(nullable: false)
    4768                },
    4869                constraints: table =>
     
    5273
    5374            migrationBuilder.CreateTable(
     75                name: "PharmacyHeads",
     76                columns: table => new
     77                {
     78                    Id = table.Column<int>(nullable: false)
     79                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
     80                    CreatedOn = table.Column<DateTime>(nullable: false),
     81                    DeletedOn = table.Column<DateTime>(nullable: true),
     82                    Email = table.Column<string>(nullable: false),
     83                    Name = table.Column<string>(nullable: false),
     84                    Password = table.Column<string>(nullable: false)
     85                },
     86                constraints: table =>
     87                {
     88                    table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
     89                });
     90
     91            migrationBuilder.CreateTable(
     92                name: "Users",
     93                columns: table => new
     94                {
     95                    Id = table.Column<int>(nullable: false)
     96                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
     97                    CreatedOn = table.Column<DateTime>(nullable: false),
     98                    DeletedOn = table.Column<DateTime>(nullable: true),
     99                    Name = table.Column<string>(nullable: true),
     100                    Email = table.Column<string>(nullable: true),
     101                    Password = table.Column<string>(nullable: true),
     102                    UserRole = table.Column<int>(nullable: false)
     103                },
     104                constraints: table =>
     105                {
     106                    table.PrimaryKey("PK_Users", x => x.Id);
     107                });
     108
     109            migrationBuilder.CreateTable(
    54110                name: "HealthcareWorkers",
    55111                columns: table => new
     
    57113                    Id = table.Column<int>(nullable: false)
    58114                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
    59                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
     115                    CreatedOn = table.Column<DateTime>(nullable: false),
    60116                    DeletedOn = table.Column<DateTime>(nullable: true),
    61117                    Name = table.Column<string>(nullable: false),
     
    76132
    77133            migrationBuilder.CreateTable(
    78                 name: "Medicines",
    79                 columns: table => new
    80                 {
    81                     Id = table.Column<int>(nullable: false)
    82                         .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
    83                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    84                     DeletedOn = table.Column<DateTime>(nullable: true),
    85                     Name = table.Column<string>(nullable: true),
    86                     Strength = table.Column<string>(nullable: true),
    87                     Form = table.Column<string>(nullable: true),
    88                     WayOfIssuing = table.Column<string>(nullable: true),
    89                     Manufacturer = table.Column<string>(nullable: true),
    90                     Price = table.Column<float>(nullable: false),
    91                     Packaging = table.Column<string>(nullable: true),
    92                     MedicineListId = table.Column<int>(nullable: true)
    93                 },
    94                 constraints: table =>
    95                 {
    96                     table.PrimaryKey("PK_Medicines", x => x.Id);
    97                 });
    98 
    99             migrationBuilder.CreateTable(
    100                 name: "PharmacyHeads",
    101                 columns: table => new
    102                 {
    103                     Id = table.Column<int>(nullable: false)
    104                         .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
    105                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    106                     DeletedOn = table.Column<DateTime>(nullable: true),
    107                     PharmacyMedicinesId = table.Column<int>(nullable: true),
    108                     PharmacyId = table.Column<int>(nullable: true),
    109                     Email = table.Column<string>(nullable: true),
    110                     Name = table.Column<string>(nullable: true),
    111                     Password = table.Column<string>(nullable: true)
    112                 },
    113                 constraints: table =>
    114                 {
    115                     table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
    116                 });
    117 
    118             migrationBuilder.CreateTable(
    119134                name: "MedicineLists",
    120135                columns: table => new
     
    122137                    Id = table.Column<int>(nullable: false)
    123138                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
    124                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    125                     DeletedOn = table.Column<DateTime>(nullable: true),
    126                     MedicinesId = table.Column<int>(nullable: true),
     139                    CreatedOn = table.Column<DateTime>(nullable: false),
     140                    DeletedOn = table.Column<DateTime>(nullable: true),
     141                    MedicineId = table.Column<int>(nullable: false),
    127142                    HasMedicine = table.Column<bool>(nullable: false),
    128143                    PharmacyHeadId = table.Column<int>(nullable: true)
     
    132147                    table.PrimaryKey("PK_MedicineLists", x => x.Id);
    133148                    table.ForeignKey(
    134                         name: "FK_MedicineLists_Medicines_MedicinesId",
    135                         column: x => x.MedicinesId,
     149                        name: "FK_MedicineLists_Medicines_MedicineId",
     150                        column: x => x.MedicineId,
    136151                        principalTable: "Medicines",
    137152                        principalColumn: "Id",
    138                         onDelete: ReferentialAction.Restrict);
     153                        onDelete: ReferentialAction.Cascade);
    139154                    table.ForeignKey(
    140155                        name: "FK_MedicineLists_PharmacyHeads_PharmacyHeadId",
     
    151166                    Id = table.Column<int>(nullable: false)
    152167                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
    153                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    154                     DeletedOn = table.Column<DateTime>(nullable: true),
    155                     Name = table.Column<string>(nullable: true),
    156                     Location = table.Column<string>(nullable: true),
    157                     Address = table.Column<string>(nullable: true),
     168                    CreatedOn = table.Column<DateTime>(nullable: false),
     169                    DeletedOn = table.Column<DateTime>(nullable: true),
     170                    Name = table.Column<string>(nullable: false),
     171                    Location = table.Column<string>(nullable: false),
     172                    Address = table.Column<string>(nullable: false),
    158173                    WorkAllTime = table.Column<bool>(nullable: false),
    159174                    PharmacyHeadId = table.Column<int>(nullable: true)
     
    170185                });
    171186
     187            migrationBuilder.CreateTable(
     188                name: "PHRequests",
     189                columns: table => new
     190                {
     191                    Id = table.Column<int>(nullable: false)
     192                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
     193                    CreatedOn = table.Column<DateTime>(nullable: false),
     194                    DeletedOn = table.Column<DateTime>(nullable: true),
     195                    HeadId = table.Column<int>(nullable: false),
     196                    PharmacyId = table.Column<int>(nullable: false)
     197                },
     198                constraints: table =>
     199                {
     200                    table.PrimaryKey("PK_PHRequests", x => x.Id);
     201                    table.ForeignKey(
     202                        name: "FK_PHRequests_PharmacyHeads_HeadId",
     203                        column: x => x.HeadId,
     204                        principalTable: "PharmacyHeads",
     205                        principalColumn: "Id",
     206                        onDelete: ReferentialAction.Cascade);
     207                    table.ForeignKey(
     208                        name: "FK_PHRequests_Pharmacies_PharmacyId",
     209                        column: x => x.PharmacyId,
     210                        principalTable: "Pharmacies",
     211                        principalColumn: "Id",
     212                        onDelete: ReferentialAction.Cascade);
     213                });
     214
    172215            migrationBuilder.CreateIndex(
    173216                name: "IX_HealthcareWorkers_FacilityId",
     
    176219
    177220            migrationBuilder.CreateIndex(
    178                 name: "IX_MedicineLists_MedicinesId",
     221                name: "IX_MedicineLists_MedicineId",
    179222                table: "MedicineLists",
    180                 column: "MedicinesId");
     223                column: "MedicineId");
    181224
    182225            migrationBuilder.CreateIndex(
     
    186229
    187230            migrationBuilder.CreateIndex(
    188                 name: "IX_Medicines_MedicineListId",
    189                 table: "Medicines",
    190                 column: "MedicineListId");
    191 
    192             migrationBuilder.CreateIndex(
    193231                name: "IX_Pharmacies_PharmacyHeadId",
    194232                table: "Pharmacies",
     
    196234
    197235            migrationBuilder.CreateIndex(
    198                 name: "IX_PharmacyHeads_PharmacyId",
    199                 table: "PharmacyHeads",
     236                name: "IX_PHRequests_HeadId",
     237                table: "PHRequests",
     238                column: "HeadId");
     239
     240            migrationBuilder.CreateIndex(
     241                name: "IX_PHRequests_PharmacyId",
     242                table: "PHRequests",
    200243                column: "PharmacyId");
    201 
    202             migrationBuilder.CreateIndex(
    203                 name: "IX_PharmacyHeads_PharmacyMedicinesId",
    204                 table: "PharmacyHeads",
    205                 column: "PharmacyMedicinesId");
    206 
    207             migrationBuilder.AddForeignKey(
    208                 name: "FK_Medicines_MedicineLists_MedicineListId",
    209                 table: "Medicines",
    210                 column: "MedicineListId",
    211                 principalTable: "MedicineLists",
    212                 principalColumn: "Id",
    213                 onDelete: ReferentialAction.Restrict);
    214 
    215             migrationBuilder.AddForeignKey(
    216                 name: "FK_PharmacyHeads_MedicineLists_PharmacyMedicinesId",
    217                 table: "PharmacyHeads",
    218                 column: "PharmacyMedicinesId",
    219                 principalTable: "MedicineLists",
    220                 principalColumn: "Id",
    221                 onDelete: ReferentialAction.Restrict);
    222 
    223             migrationBuilder.AddForeignKey(
    224                 name: "FK_PharmacyHeads_Pharmacies_PharmacyId",
    225                 table: "PharmacyHeads",
    226                 column: "PharmacyId",
    227                 principalTable: "Pharmacies",
    228                 principalColumn: "Id",
    229                 onDelete: ReferentialAction.Restrict);
    230244        }
    231245
    232246        protected override void Down(MigrationBuilder migrationBuilder)
    233247        {
    234             migrationBuilder.DropForeignKey(
    235                 name: "FK_MedicineLists_Medicines_MedicinesId",
    236                 table: "MedicineLists");
    237 
    238             migrationBuilder.DropForeignKey(
    239                 name: "FK_MedicineLists_PharmacyHeads_PharmacyHeadId",
    240                 table: "MedicineLists");
    241 
    242             migrationBuilder.DropForeignKey(
    243                 name: "FK_Pharmacies_PharmacyHeads_PharmacyHeadId",
    244                 table: "Pharmacies");
    245 
    246248            migrationBuilder.DropTable(
    247249                name: "HealthcareWorkers");
    248250
    249251            migrationBuilder.DropTable(
     252                name: "MedicineLists");
     253
     254            migrationBuilder.DropTable(
    250255                name: "Pandemics");
    251256
    252257            migrationBuilder.DropTable(
     258                name: "PHRequests");
     259
     260            migrationBuilder.DropTable(
     261                name: "Users");
     262
     263            migrationBuilder.DropTable(
    253264                name: "HealthFacilities");
    254265
     
    257268
    258269            migrationBuilder.DropTable(
     270                name: "Pharmacies");
     271
     272            migrationBuilder.DropTable(
    259273                name: "PharmacyHeads");
    260 
    261             migrationBuilder.DropTable(
    262                 name: "Pharmacies");
    263 
    264             migrationBuilder.DropTable(
    265                 name: "MedicineLists");
    266274        }
    267275    }
  • FarmatikoData/Migrations/20201105055526_NewMigration.Designer.cs

    r1f4846d rd23bf72  
    1111{
    1212    [DbContext(typeof(FarmatikoDataContext))]
    13     [Migration("20200722131856_Initial migration")]
    14     partial class Initialmigration
     13    [Migration("20201105055526_NewMigration")]
     14    partial class NewMigration
    1515    {
    1616        protected override void BuildTargetModel(ModelBuilder modelBuilder)
     
    2222                .HasAnnotation("Relational:MaxIdentifierLength", 63);
    2323
    24             modelBuilder.Entity("FarmatikoData.Models.HealthFacilities", b =>
     24            modelBuilder.Entity("FarmatikoData.Models.HealthFacility", b =>
    2525                {
    2626                    b.Property<int>("Id")
     
    3636                        .HasColumnType("timestamp without time zone");
    3737
    38                     b.Property<DateTime>("DeletedOn")
     38                    b.Property<DateTime?>("DeletedOn")
    3939                        .HasColumnType("timestamp without time zone");
    4040
     
    6262                });
    6363
    64             modelBuilder.Entity("FarmatikoData.Models.HealthcareWorkers", b =>
     64            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
    6565                {
    6666                    b.Property<int>("Id")
     
    7676                        .HasColumnType("timestamp without time zone");
    7777
    78                     b.Property<DateTime>("DeletedOn")
     78                    b.Property<DateTime?>("DeletedOn")
    7979                        .HasColumnType("timestamp without time zone");
    8080
     
    106106                        .HasColumnType("timestamp without time zone");
    107107
    108                     b.Property<DateTime>("DeletedOn")
     108                    b.Property<DateTime?>("DeletedOn")
    109109                        .HasColumnType("timestamp without time zone");
    110110
     
    113113
    114114                    b.Property<string>("Manufacturer")
    115                         .HasColumnType("text");
    116 
    117                     b.Property<int?>("MedicineListId")
    118                         .HasColumnType("integer");
    119 
    120                     b.Property<string>("Name")
     115                        .IsRequired()
     116                        .HasColumnType("text");
     117
     118                    b.Property<string>("Name")
     119                        .IsRequired()
    121120                        .HasColumnType("text");
    122121
     
    128127
    129128                    b.Property<string>("Strength")
     129                        .IsRequired()
    130130                        .HasColumnType("text");
    131131
    132132                    b.Property<string>("WayOfIssuing")
    133                         .HasColumnType("text");
    134 
    135                     b.HasKey("Id");
    136 
    137                     b.HasIndex("MedicineListId");
     133                        .IsRequired()
     134                        .HasColumnType("text");
     135
     136                    b.HasKey("Id");
    138137
    139138                    b.ToTable("Medicines");
     
    150149                        .HasColumnType("timestamp without time zone");
    151150
    152                     b.Property<DateTime>("DeletedOn")
     151                    b.Property<DateTime?>("DeletedOn")
    153152                        .HasColumnType("timestamp without time zone");
    154153
     
    156155                        .HasColumnType("boolean");
    157156
    158                     b.Property<int?>("MedicinesId")
     157                    b.Property<int>("MedicineId")
    159158                        .HasColumnType("integer");
    160159
     
    164163                    b.HasKey("Id");
    165164
    166                     b.HasIndex("MedicinesId");
     165                    b.HasIndex("MedicineId");
    167166
    168167                    b.HasIndex("PharmacyHeadId");
     
    178177                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
    179178
    180                     b.Property<int>("ActiveGlobal")
    181                         .HasColumnType("integer");
     179                    b.Property<long>("ActiveGlobal")
     180                        .HasColumnType("bigint");
    182181
    183182                    b.Property<int>("ActiveMK")
     
    187186                        .HasColumnType("timestamp without time zone");
    188187
    189                     b.Property<int>("DeathsGlobal")
    190                         .HasColumnType("integer");
     188                    b.Property<long>("DeathsGlobal")
     189                        .HasColumnType("bigint");
    191190
    192191                    b.Property<int>("DeathsMK")
    193192                        .HasColumnType("integer");
    194193
    195                     b.Property<DateTime>("DeletedOn")
    196                         .HasColumnType("timestamp without time zone");
    197 
    198                     b.Property<string>("Name")
     194                    b.Property<DateTime?>("DeletedOn")
     195                        .HasColumnType("timestamp without time zone");
     196
     197                    b.Property<string>("Name")
     198                        .IsRequired()
    199199                        .HasColumnType("text");
    200200
     
    202202                        .HasColumnType("integer");
    203203
    204                     b.Property<int>("TotalGlobal")
    205                         .HasColumnType("integer");
     204                    b.Property<long>("TotalGlobal")
     205                        .HasColumnType("bigint");
    206206
    207207                    b.Property<int>("TotalMK")
     
    221221
    222222                    b.Property<string>("Address")
    223                         .HasColumnType("text");
    224 
    225                     b.Property<DateTime>("CreatedOn")
    226                         .HasColumnType("timestamp without time zone");
    227 
    228                     b.Property<DateTime>("DeletedOn")
     223                        .IsRequired()
     224                        .HasColumnType("text");
     225
     226                    b.Property<DateTime>("CreatedOn")
     227                        .HasColumnType("timestamp without time zone");
     228
     229                    b.Property<DateTime?>("DeletedOn")
    229230                        .HasColumnType("timestamp without time zone");
    230231
    231232                    b.Property<string>("Location")
    232                         .HasColumnType("text");
    233 
    234                     b.Property<string>("Name")
     233                        .IsRequired()
     234                        .HasColumnType("text");
     235
     236                    b.Property<string>("Name")
     237                        .IsRequired()
    235238                        .HasColumnType("text");
    236239
     
    258261                        .HasColumnType("timestamp without time zone");
    259262
    260                     b.Property<DateTime>("DeletedOn")
     263                    b.Property<DateTime?>("DeletedOn")
    261264                        .HasColumnType("timestamp without time zone");
    262265
    263266                    b.Property<string>("Email")
    264                         .HasColumnType("text");
    265 
    266                     b.Property<string>("Name")
     267                        .IsRequired()
     268                        .HasColumnType("text");
     269
     270                    b.Property<string>("Name")
     271                        .IsRequired()
    267272                        .HasColumnType("text");
    268273
    269274                    b.Property<string>("Password")
    270                         .HasColumnType("text");
    271 
    272                     b.Property<int?>("PharmacyId")
    273                         .HasColumnType("integer");
    274 
    275                     b.Property<int?>("PharmacyMedicinesId")
    276                         .HasColumnType("integer");
    277 
    278                     b.HasKey("Id");
     275                        .IsRequired()
     276                        .HasColumnType("text");
     277
     278                    b.HasKey("Id");
     279
     280                    b.ToTable("PharmacyHeads");
     281                });
     282
     283            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
     284                {
     285                    b.Property<int>("Id")
     286                        .ValueGeneratedOnAdd()
     287                        .HasColumnType("integer")
     288                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
     289
     290                    b.Property<DateTime>("CreatedOn")
     291                        .HasColumnType("timestamp without time zone");
     292
     293                    b.Property<DateTime?>("DeletedOn")
     294                        .HasColumnType("timestamp without time zone");
     295
     296                    b.Property<int>("HeadId")
     297                        .HasColumnType("integer");
     298
     299                    b.Property<int>("PharmacyId")
     300                        .HasColumnType("integer");
     301
     302                    b.HasKey("Id");
     303
     304                    b.HasIndex("HeadId");
    279305
    280306                    b.HasIndex("PharmacyId");
    281307
    282                     b.HasIndex("PharmacyMedicinesId");
    283 
    284                     b.ToTable("PharmacyHeads");
    285                 });
    286 
    287             modelBuilder.Entity("FarmatikoData.Models.HealthcareWorkers", b =>
    288                 {
    289                     b.HasOne("FarmatikoData.Models.HealthFacilities", "Facility")
     308                    b.ToTable("PHRequests");
     309                });
     310
     311            modelBuilder.Entity("FarmatikoData.Models.User", b =>
     312                {
     313                    b.Property<int>("Id")
     314                        .ValueGeneratedOnAdd()
     315                        .HasColumnType("integer")
     316                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
     317
     318                    b.Property<DateTime>("CreatedOn")
     319                        .HasColumnType("timestamp without time zone");
     320
     321                    b.Property<DateTime?>("DeletedOn")
     322                        .HasColumnType("timestamp without time zone");
     323
     324                    b.Property<string>("Email")
     325                        .HasColumnType("text");
     326
     327                    b.Property<string>("Name")
     328                        .HasColumnType("text");
     329
     330                    b.Property<string>("Password")
     331                        .HasColumnType("text");
     332
     333                    b.Property<int>("UserRole")
     334                        .HasColumnType("integer");
     335
     336                    b.HasKey("Id");
     337
     338                    b.ToTable("Users");
     339                });
     340
     341            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
     342                {
     343                    b.HasOne("FarmatikoData.Models.HealthFacility", "Facility")
    290344                        .WithMany()
    291345                        .HasForeignKey("FacilityId")
     
    294348                });
    295349
    296             modelBuilder.Entity("FarmatikoData.Models.Medicine", b =>
    297                 {
    298                     b.HasOne("FarmatikoData.Models.MedicineList", null)
    299                         .WithMany("MedicinesList")
    300                         .HasForeignKey("MedicineListId");
    301                 });
    302 
    303350            modelBuilder.Entity("FarmatikoData.Models.MedicineList", b =>
    304351                {
    305                     b.HasOne("FarmatikoData.Models.Medicine", "Medicines")
     352                    b.HasOne("FarmatikoData.Models.Medicine", "Medicine")
    306353                        .WithMany()
    307                         .HasForeignKey("MedicinesId");
     354                        .HasForeignKey("MedicineId")
     355                        .OnDelete(DeleteBehavior.Cascade)
     356                        .IsRequired();
    308357
    309358                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
     
    319368                });
    320369
    321             modelBuilder.Entity("FarmatikoData.Models.PharmacyHead", b =>
    322                 {
     370            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
     371                {
     372                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
     373                        .WithMany()
     374                        .HasForeignKey("HeadId")
     375                        .OnDelete(DeleteBehavior.Cascade)
     376                        .IsRequired();
     377
    323378                    b.HasOne("FarmatikoData.Models.Pharmacy", "Pharmacy")
    324379                        .WithMany()
    325                         .HasForeignKey("PharmacyId");
    326 
    327                     b.HasOne("FarmatikoData.Models.MedicineList", "PharmacyMedicines")
    328                         .WithMany()
    329                         .HasForeignKey("PharmacyMedicinesId");
     380                        .HasForeignKey("PharmacyId")
     381                        .OnDelete(DeleteBehavior.Cascade)
     382                        .IsRequired();
    330383                });
    331384#pragma warning restore 612, 618
  • FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs

    r1f4846d rd23bf72  
    2020                .HasAnnotation("Relational:MaxIdentifierLength", 63);
    2121
    22             modelBuilder.Entity("FarmatikoData.Models.HealthFacilities", b =>
     22            modelBuilder.Entity("FarmatikoData.Models.HealthFacility", b =>
    2323                {
    2424                    b.Property<int>("Id")
     
    6060                });
    6161
    62             modelBuilder.Entity("FarmatikoData.Models.HealthcareWorkers", b =>
     62            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
    6363                {
    6464                    b.Property<int>("Id")
     
    111111
    112112                    b.Property<string>("Manufacturer")
    113                         .HasColumnType("text");
    114 
    115                     b.Property<string>("Name")
     113                        .IsRequired()
     114                        .HasColumnType("text");
     115
     116                    b.Property<string>("Name")
     117                        .IsRequired()
    116118                        .HasColumnType("text");
    117119
     
    123125
    124126                    b.Property<string>("Strength")
     127                        .IsRequired()
    125128                        .HasColumnType("text");
    126129
    127130                    b.Property<string>("WayOfIssuing")
     131                        .IsRequired()
    128132                        .HasColumnType("text");
    129133
     
    149153                        .HasColumnType("boolean");
    150154
    151                     b.Property<int?>("MedicineId")
     155                    b.Property<int>("MedicineId")
    152156                        .HasColumnType("integer");
    153157
     
    190194
    191195                    b.Property<string>("Name")
     196                        .IsRequired()
    192197                        .HasColumnType("text");
    193198
     
    214219
    215220                    b.Property<string>("Address")
     221                        .IsRequired()
    216222                        .HasColumnType("text");
    217223
     
    223229
    224230                    b.Property<string>("Location")
    225                         .HasColumnType("text");
    226 
    227                     b.Property<string>("Name")
     231                        .IsRequired()
     232                        .HasColumnType("text");
     233
     234                    b.Property<string>("Name")
     235                        .IsRequired()
    228236                        .HasColumnType("text");
    229237
     
    255263
    256264                    b.Property<string>("Email")
    257                         .HasColumnType("text");
    258 
    259                     b.Property<string>("Name")
     265                        .IsRequired()
     266                        .HasColumnType("text");
     267
     268                    b.Property<string>("Name")
     269                        .IsRequired()
    260270                        .HasColumnType("text");
    261271
    262272                    b.Property<string>("Password")
    263                         .HasColumnType("text");
    264 
    265                     b.Property<int?>("PharmacyId")
    266                         .HasColumnType("integer");
    267 
    268                     b.Property<int?>("PharmacyMedicinesId")
    269                         .HasColumnType("integer");
    270 
    271                     b.HasKey("Id");
     273                        .IsRequired()
     274                        .HasColumnType("text");
     275
     276                    b.HasKey("Id");
     277
     278                    b.ToTable("PharmacyHeads");
     279                });
     280
     281            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
     282                {
     283                    b.Property<int>("Id")
     284                        .ValueGeneratedOnAdd()
     285                        .HasColumnType("integer")
     286                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
     287
     288                    b.Property<DateTime>("CreatedOn")
     289                        .HasColumnType("timestamp without time zone");
     290
     291                    b.Property<DateTime?>("DeletedOn")
     292                        .HasColumnType("timestamp without time zone");
     293
     294                    b.Property<int>("HeadId")
     295                        .HasColumnType("integer");
     296
     297                    b.Property<int>("PharmacyId")
     298                        .HasColumnType("integer");
     299
     300                    b.HasKey("Id");
     301
     302                    b.HasIndex("HeadId");
    272303
    273304                    b.HasIndex("PharmacyId");
    274305
    275                     b.HasIndex("PharmacyMedicinesId");
    276 
    277                     b.ToTable("PharmacyHeads");
    278                 });
    279 
    280             modelBuilder.Entity("FarmatikoData.Models.HealthcareWorkers", b =>
    281                 {
    282                     b.HasOne("FarmatikoData.Models.HealthFacilities", "Facility")
     306                    b.ToTable("PHRequests");
     307                });
     308
     309            modelBuilder.Entity("FarmatikoData.Models.User", b =>
     310                {
     311                    b.Property<int>("Id")
     312                        .ValueGeneratedOnAdd()
     313                        .HasColumnType("integer")
     314                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
     315
     316                    b.Property<DateTime>("CreatedOn")
     317                        .HasColumnType("timestamp without time zone");
     318
     319                    b.Property<DateTime?>("DeletedOn")
     320                        .HasColumnType("timestamp without time zone");
     321
     322                    b.Property<string>("Email")
     323                        .HasColumnType("text");
     324
     325                    b.Property<string>("Name")
     326                        .HasColumnType("text");
     327
     328                    b.Property<string>("Password")
     329                        .HasColumnType("text");
     330
     331                    b.Property<int>("UserRole")
     332                        .HasColumnType("integer");
     333
     334                    b.HasKey("Id");
     335
     336                    b.ToTable("Users");
     337                });
     338
     339            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
     340                {
     341                    b.HasOne("FarmatikoData.Models.HealthFacility", "Facility")
    283342                        .WithMany()
    284343                        .HasForeignKey("FacilityId")
     
    291350                    b.HasOne("FarmatikoData.Models.Medicine", "Medicine")
    292351                        .WithMany()
    293                         .HasForeignKey("MedicineId");
     352                        .HasForeignKey("MedicineId")
     353                        .OnDelete(DeleteBehavior.Cascade)
     354                        .IsRequired();
    294355
    295356                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
     
    305366                });
    306367
    307             modelBuilder.Entity("FarmatikoData.Models.PharmacyHead", b =>
    308                 {
     368            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
     369                {
     370                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
     371                        .WithMany()
     372                        .HasForeignKey("HeadId")
     373                        .OnDelete(DeleteBehavior.Cascade)
     374                        .IsRequired();
     375
    309376                    b.HasOne("FarmatikoData.Models.Pharmacy", "Pharmacy")
    310377                        .WithMany()
    311                         .HasForeignKey("PharmacyId");
    312 
    313                     b.HasOne("FarmatikoData.Models.MedicineList", "PharmacyMedicines")
    314                         .WithMany()
    315                         .HasForeignKey("PharmacyMedicinesId");
     378                        .HasForeignKey("PharmacyId")
     379                        .OnDelete(DeleteBehavior.Cascade)
     380                        .IsRequired();
    316381                });
    317382#pragma warning restore 612, 618
  • FarmatikoData/Models/PharmacyHead.cs

    r1f4846d rd23bf72  
    1616        [Required]
    1717        public string Password { get; set; }
    18         public ICollection<MedicineList> MedicineLists { get; set; }
    19         public ICollection<Pharmacy> PharmaciesList { get; set; }
     18        public List<MedicineList> MedicineLists { get; set; }
     19        public List<Pharmacy> PharmaciesList { get; set; }
    2020
    2121    }
Note: See TracChangeset for help on using the changeset viewer.