Index: .editorconfig
===================================================================
--- .editorconfig	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
+++ .editorconfig	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -0,0 +1,4 @@
+﻿[*.cs]
+
+# CS1705: Assembly 'FarmatikoData' with identity 'FarmatikoData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.EntityFrameworkCore, Version=3.1.6.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' which has a higher version than referenced assembly 'Microsoft.EntityFrameworkCore' with identity 'Microsoft.EntityFrameworkCore, Version=3.1.4.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
+dotnet_diagnostic.CS1705.severity = none
Index: Farmatiko.sln
===================================================================
--- Farmatiko.sln	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko.sln	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -9,4 +9,9 @@
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FarmatikoServices", "FarmatikoServices\FarmatikoServices.csproj", "{D207CD1B-4C31-4414-9EF4-DC18F219CBF6}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F354500C-6124-4A4D-AEC2-A38CF3F436CF}"
+	ProjectSection(SolutionItems) = preProject
+		.editorconfig = .editorconfig
+	EndProjectSection
 EndProject
 Global
Index: Farmatiko/ClientApp/src/app/admin/admin.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/admin/admin.component.html	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/ClientApp/src/app/admin/admin.component.html	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -76,5 +76,5 @@
             <input matInput [(ngModel)]="this.head.Passwd">
           </mat-form-field><br>
-            <button onclick="createHead()" mat-raised-button color="primary">Create</button>
+            <button (click)="createHead()" mat-raised-button color="primary">Create</button>
           </div>
         </mat-tab>
Index: Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -43,19 +43,39 @@
   
   claimPharmacy(pharmacy: IPharmacy) {
-    if(pharmacy && !this.head.Pharmacy.find(x => x === pharmacy)) {
-      this.request = null;
-      this.request.Pharmacy = pharmacy;
-      this.request.PharmacyHead = this.head;
-      this.dataService.claimPharmacy(this.request)
-          .subscribe((req: IPharmacyHeadRequest) => {
-            if(req) {
-              this.openSnackBar("Claiming request sent!", "OK");
-            }
-            else {
-              this.openSnackBar("Unable to send a request", "Try again");
-            }
-          },
-          (err: any) => console.log(err),
-          () => console.log('Claiming request sent!'));
+    if(this.head.Pharmacy != null) {
+      if(pharmacy && !this.head.Pharmacy.find(x => x === pharmacy)) {
+        this.request = {};
+        this.request.Pharmacy = pharmacy;
+        this.request.PharmacyHead = this.head;
+        this.dataService.claimPharmacy(this.request)
+            .subscribe((req) => {
+              if(req) {
+                this.openSnackBar("Claiming request sent!", "OK");
+              }
+              else {
+                this.openSnackBar("Unable to send a request", "Try again");
+              }
+            },
+            (err: any) => console.log(err),
+            () => console.log('Claiming request sent!'));
+      }
+    }
+    else {
+      if(pharmacy) {
+        this.request = {};
+        this.request.Pharmacy = pharmacy;
+        this.request.PharmacyHead = this.head;
+        this.dataService.claimPharmacy(this.request)
+            .subscribe((req) => {
+              if(req) {
+                this.openSnackBar("Claiming request sent!", "OK");
+              }
+              else {
+                this.openSnackBar("Unable to send a request", "Try again");
+              }
+            },
+            (err: any) => console.log(err),
+            () => console.log('Claiming request sent!'));
+      }
     }
   }
Index: Farmatiko/ClientApp/src/app/login/login.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/login/login.component.ts	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/ClientApp/src/app/login/login.component.ts	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -54,5 +54,5 @@
       .subscribe(
         (data) => {
-          if(data.role == 'Admin') {
+          if(data.role === 'Admin') {
             this.router.navigate(['/admin']);
           }
Index: Farmatiko/ClientApp/src/app/shared/data.service.ts
===================================================================
--- Farmatiko/ClientApp/src/app/shared/data.service.ts	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/ClientApp/src/app/shared/data.service.ts	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -6,13 +6,14 @@
 
 import { IHealthFacilities, IHealthcareWorkers, IMedicine, IPandemic, IPharmacy, IPharmacyHead, IPharmacyHeadRequest } from './interfaces';
+import { environment } from '../../environments/environment';
 
 @Injectable()
 export class DataService {
-    baseFacilitiesUrl: string = '/api/facilities';
-    baseWorkersUrl: string = '/api/workers';
-    baseMedicineUrl: string = '/api/medicines';
-    basePandemicUrl: string = '/api/pandemic';
-    basePharmacyUrl: string = '/api/pharmacy';
-    basePharmacyHead: string = '/api/pharmacyhead';
+    baseFacilitiesUrl: string = `${environment.baseApiUrl}api/facilities`;
+    baseWorkersUrl: string = `${environment.baseApiUrl}api/workers`;
+    baseMedicineUrl: string = `${environment.baseApiUrl}api/medicines`;
+    basePandemicUrl: string = `${environment.baseApiUrl}api/pandemic`;
+    basePharmacyUrl: string = `${environment.baseApiUrl}api/pharmacy`;
+    basePharmacyHead: string = `${environment.baseApiUrl}api/pharmacyhead`;
 
     constructor(private http: HttpClient) {
@@ -179,5 +180,5 @@
     //PharmacyHead PUT
     updatePharmacyHead(head: IPharmacyHead) : Observable<IPharmacyHead> {
-        return this.http.put<IPharmacyHead>(this.basePharmacyHead + '/' + head.id, head)
+        return this.http.put<IPharmacyHead>(this.basePharmacyHead, head)
                    .pipe(
                         map((data) => {
Index: Farmatiko/ClientApp/src/app/shared/interfaces.ts
===================================================================
--- Farmatiko/ClientApp/src/app/shared/interfaces.ts	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/ClientApp/src/app/shared/interfaces.ts	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -57,6 +57,5 @@
     originalUserName?: string;
     Role?: string;
-}  
-
+} 
 export interface IPharmacyHeadRequest {
     id?: string;
Index: Farmatiko/ClientApp/src/app/shared/services/auth.service.ts
===================================================================
--- Farmatiko/ClientApp/src/app/shared/services/auth.service.ts	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/ClientApp/src/app/shared/services/auth.service.ts	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -9,5 +9,5 @@
 
 interface LoginResult {
-  username: string;
+  userName: string;
   role: string;
   originalUserName?: string;
@@ -36,5 +36,5 @@
         this.http.get<LoginResult>(`${this.apiUrl}/user`).subscribe((x) => {
           this._user.next({
-            Email: x.username,
+            Email: x.userName,
             Passwd: x.head.Passwd,
             Role: x.role,
@@ -64,5 +64,5 @@
         map((x) => {
           this._user.next({
-            Email: x.username,
+            Email: x.userName,
             Passwd: x.head.Passwd,
             Role: x.role,
@@ -105,5 +105,5 @@
         map((x) => {
           this._user.next({
-            Email: x.username,
+            Email: x.userName,
             Passwd: x.head.Passwd,
             Role: x.role,
Index: Farmatiko/ClientApp/tsconfig.json
===================================================================
--- Farmatiko/ClientApp/tsconfig.json	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/ClientApp/tsconfig.json	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -2,5 +2,5 @@
   "compileOnSave": false,
   "compilerOptions": {
-    "baseUrl": "https://localhost:44342/",
+    "baseUrl": "https://localhost:5001/",
     "module": "esnext",
     "outDir": "./dist/out-tsc",
Index: Farmatiko/Controllers/AdminController.cs
===================================================================
--- Farmatiko/Controllers/AdminController.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/Controllers/AdminController.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -11,5 +11,5 @@
 {
     [ApiController]
-    [Authorize(Roles = "PharmacyHead")]
+    [Authorize(Roles = "Admin")]
     public class AdminController : Controller
     {
Index: Farmatiko/Controllers/FarmatikoController.cs
===================================================================
--- Farmatiko/Controllers/FarmatikoController.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/Controllers/FarmatikoController.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -27,5 +27,5 @@
             //_JSONservice.GetProcessedHealthFacilitiesFromJSON();
             //_JSONservice.GetProcessedMedicinesFromJSON();
-            //_JSONservice.GetProcessedPandemicsFromJSONApi();
+            _JSONservice.GetProcessedPandemicsFromJSONApi();
         }
         [HttpGet]
Index: Farmatiko/Controllers/LoginController.cs
===================================================================
--- Farmatiko/Controllers/LoginController.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/Controllers/LoginController.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -61,5 +61,5 @@
                 Role = role,
                 AccessToken = jwtResult.AccessToken,
-                RefreshToken = jwtResult.RefreshToken.TokenString,
+                RefreshToken = jwtResult.RefreshToken.TokenString, 
                 Head = _pHService.GetPharmacyHead(request.UserName)
             });
@@ -110,8 +110,15 @@
                 return Ok(new LoginResult
                 {
+                    /*UserName = userName,
+                    
+                    Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty,
+                    AccessToken = jwtResult.AccessToken,
+                    RefreshToken = jwtResult.RefreshToken.TokenString*/
+
                     UserName = userName,
                     Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty,
                     AccessToken = jwtResult.AccessToken,
-                    RefreshToken = jwtResult.RefreshToken.TokenString
+                    RefreshToken = jwtResult.RefreshToken.TokenString,
+                    Head = _pHService.GetPharmacyHead(userName)
                 });
             }
@@ -156,5 +163,6 @@
                 OriginalUserName = userName,
                 AccessToken = jwtResult.AccessToken,
-                RefreshToken = jwtResult.RefreshToken.TokenString
+                RefreshToken = jwtResult.RefreshToken.TokenString,
+                Head = _pHService.GetPharmacyHead(userName)
             });
         }
@@ -186,5 +194,6 @@
                 OriginalUserName = null,
                 AccessToken = jwtResult.AccessToken,
-                RefreshToken = jwtResult.RefreshToken.TokenString
+                RefreshToken = jwtResult.RefreshToken.TokenString,
+                Head = _pHService.GetPharmacyHead(userName)
             });
         }
@@ -204,5 +213,5 @@
     public class LoginResult
     {
-        [JsonPropertyName("username")]
+        [JsonPropertyName("userName")]
         public string UserName { get; set; }
 
@@ -219,5 +228,5 @@
         public string RefreshToken { get; set; }
         [JsonPropertyName("head")]
-        public PharmacyHead Head { get; set; }
+        public object Head { get; set; }
     }
 
@@ -230,5 +239,5 @@
     public class ImpersonationRequest
     {
-        [JsonPropertyName("username")]
+        [JsonPropertyName("userName")]
         public string UserName { get; set; }
     }
Index: Farmatiko/Controllers/PharmacyHeadController.cs
===================================================================
--- Farmatiko/Controllers/PharmacyHeadController.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/Controllers/PharmacyHeadController.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -19,5 +19,6 @@
 
         //GET
-        /*[HttpGet]
+        /*
+        [HttpGet]
         [Route("api/pharmacyhead")]
         public async Task<IEnumerable<PharmacyHead>> GetPharmacyHeadInfo()
@@ -26,4 +27,5 @@
             return PHeads;
         }*/
+
         [HttpGet]
         [Route("api/pharmacyhead/{Id}")]
@@ -34,4 +36,5 @@
         }
         //POST
+        /*
         [HttpPost]
         [Route("api/pharmacyhead/add")]
@@ -40,5 +43,5 @@
             bool Success = await _PHService.Add(pharmacyHead);
             return Ok(Success);
-        }
+        }*/
 
         /*[HttpPost]
@@ -49,5 +52,7 @@
         }*/
         [HttpPut]
-        [Route("api/pharmacyhead/{Id}")]
+        [Route("api/pharmacyhead")]
+        [Authorize(Roles = "Admin")]
+        [Authorize(Roles = "PharmacyHead")]
         public async Task UpdatePharmacyHead([FromBody]PharmacyHead pharmacyHead)
         {
Index: Farmatiko/Farmatiko.csproj
===================================================================
--- Farmatiko/Farmatiko.csproj	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/Farmatiko.csproj	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -15,14 +15,17 @@
   <ItemGroup>
     <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.9" />
+    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.10" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.10" />
     <PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.6" />
-    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.6" />
-    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.6">
+    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.10" />
+    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.10">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.6">
+    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.10">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
+    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
     <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="3.1.4" />
   </ItemGroup>
@@ -38,4 +41,8 @@
     <Compile Remove="Controllers\WeatherForecastController.cs" />
     <Compile Remove="WeatherForecast.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Include="..\.editorconfig" Link=".editorconfig" />
   </ItemGroup>
 
Index: Farmatiko/Startup.cs
===================================================================
--- Farmatiko/Startup.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ Farmatiko/Startup.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -18,5 +18,5 @@
 using FarmatikoServices.Infrastructure;
 using System;
-
+using Newtonsoft.Json.Serialization;
 namespace Farmatiko
 {
@@ -45,4 +45,5 @@
 
             services.AddControllersWithViews();
+            services.AddControllersWithViews().AddNewtonsoftJson(options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
             // In production, the Angular files will be served from this directory
             services.AddSpaStaticFiles(configuration =>
@@ -53,5 +54,5 @@
             services.AddEntityFrameworkNpgsql().AddDbContext<FarmatikoDataContext>(opt => opt.UseNpgsql(connectionString));
 
-            services.AddTransient<IPHRepo, PHRepo>();
+            services.AddScoped<IPHRepo, PHRepo>();
             services.AddTransient<IRepository, Repository>();
             services.AddTransient<IAdminRepo, AdminRepo>();
Index: FarmatikoData/Base/BaseEntity.cs
===================================================================
--- FarmatikoData/Base/BaseEntity.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/Base/BaseEntity.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -3,4 +3,5 @@
 using System.Text;
 using System.ComponentModel.DataAnnotations;
+using System.Text.Json.Serialization;
 
 namespace FarmatikoData.Base
@@ -8,5 +9,6 @@
     public class BaseEntity
     {
-        public int Id { get; set; }
+        [JsonPropertyName("id")]
+        public int Id {  get; set; }
         public DateTime CreatedOn { get; set; }
         public DateTime? DeletedOn { get; set; }
Index: FarmatikoData/FarmatikoData.csproj
===================================================================
--- FarmatikoData/FarmatikoData.csproj	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/FarmatikoData.csproj	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -6,9 +6,11 @@
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.6">
+    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.10" />
+    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.10" />
+    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.10">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.6">
+    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.10">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Index: FarmatikoData/FarmatikoDataContext.cs
===================================================================
--- FarmatikoData/FarmatikoDataContext.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/FarmatikoDataContext.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -15,7 +15,35 @@
         public virtual DbSet<Pandemic> Pandemics { get; set; }
         public virtual DbSet<Medicine> Medicines { get; set; }
-        //public virtual DbSet<MedicineList> MedicineLists { get; set; }
         public virtual DbSet<RequestPharmacyHead> PHRequests { get; set; }
         public virtual DbSet<User> Users { get; set; }
+        public virtual DbSet<PharmacyHeadMedicine> PharmacyHeadMedicines { get; set; }
+        
+        protected override void OnModelCreating(ModelBuilder modelBuilder)
+        {
+            modelBuilder.Entity<PharmacyHead>()
+                .ToTable("PharmacyHeads");
+
+            modelBuilder.Entity<Medicine>()
+                .ToTable("Medicines");
+
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .HasKey(phm => new { phm.PheadId, phm.MedicineId });
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .HasOne(ph => ph.Head)
+                .WithMany(m => m.PHMedicineList)
+                .HasForeignKey(k => k.PheadId);
+
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .HasOne(m => m.Medicine)
+                .WithMany(ml => ml.MedicineList)
+                .HasForeignKey(k => k.MedicineId);
+
+            modelBuilder.Entity<PharmacyHead>()
+                .HasMany(p => p.PharmaciesList)
+                .WithOne(h => h.PHead)
+                .HasForeignKey(k => k.PheadId);
+
+            base.OnModelCreating(modelBuilder);
+        }
     }
 }
Index: FarmatikoData/FarmatikoRepo/PHRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -31,5 +31,5 @@
                     Email = x.Email,
                     Password = x.Password,
-                    MedicineLists = x.MedicineLists,
+                    MedicineList = x.MedicineList,
                     PharmaciesList = x.PharmaciesList
                 }).ToListAsync();
@@ -39,10 +39,16 @@
         public async Task UpdatePharmacyHead(PharmacyHead pharmacyHead)
         {
-            var EditedPHead = await _context.PharmacyHeads.Where(x => x.Id == pharmacyHead.Id).FirstOrDefaultAsync();
+            var Phead = await _context.PharmacyHeads.Where(x => x.Email == pharmacyHead.Email).FirstOrDefaultAsync();
+            var EditedPHead = await _context.PharmacyHeads.AsNoTracking<PharmacyHead>().Where(x => x.Email == pharmacyHead.Email).FirstOrDefaultAsync();
             EditedPHead.Email = pharmacyHead.Email;
             EditedPHead.Name = pharmacyHead.Name;
             EditedPHead.Password = pharmacyHead.Password;
-            EditedPHead.MedicineLists = pharmacyHead.MedicineLists;
+            /*if (pharmacyHead.MedicineList.Count() == 0)
+                pharmacyHead.MedicineList = null;*/
+            EditedPHead.MedicineList = pharmacyHead.MedicineList;
             EditedPHead.PharmaciesList = pharmacyHead.PharmaciesList;
+            EditedPHead.PHMedicineList = pharmacyHead.PHMedicineList;
+            //_context.Entry<PharmacyHead>(Phead).State = EntityState.Detached;
+            Phead = EditedPHead;
             await _context.SaveChangesAsync();
         }
@@ -72,9 +78,44 @@
         }
 
+
         public PharmacyHead GetPharmacyHeadByUserName(string userName)
         {
-            return _context.PharmacyHeads
+            var PHead = _context.PharmacyHeads
                 .Where(x => x.Email.Equals(userName))
                 .FirstOrDefault();
+
+            return PHead;
+        }
+
+        public List<PharmacyHeadMedicine> GetPharmacyHeadMedicines(string email)
+        {
+            /*var meds = _context.Medicines.ToList();
+            var medicines = Medicines;*/
+            var Phead = _context.PharmacyHeads.Where(x => x.Email.Equals(email)).FirstOrDefault();
+            var Medicines = _context.PharmacyHeadMedicines.Where(x => x.PheadId == Phead.Id).ToList();
+                /*.Select(x => x.Head.MedicineList)
+                .SelectMany(mList => mList)
+                .ToList();*/
+
+
+            return Medicines;
+        }
+
+        public IEnumerable<PharmacyHead> GetPharmacyHeads()
+        {
+            var heads = _context.PharmacyHeads.ToList();
+            return heads;
+        }
+
+        public PharmacyHead GetPharmacyHead(string head)
+        {
+            var phead = _context.PharmacyHeads.Where(x => x.Email.Equals(head)).FirstOrDefault();
+            return phead;
+        }
+
+        public List<Pharmacy> GetPharmacies()
+        {
+            var pharms = _context.Pharmacies.ToList();
+            return pharms;
         }
     }
Index: FarmatikoData/FarmatikoRepo/Repository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/Repository.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/FarmatikoRepo/Repository.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -41,7 +41,17 @@
         }
 
-        public async Task<IEnumerable<Medicine>> GetMedicines()
-        {
-            var Medicines = await _context.Medicines.Take(3).ToListAsync();
+        public async Task<IEnumerable<Medicine>> GetMedicinesAsync()
+        {
+            var Medicines = await _context.Medicines.Select(x => new Medicine
+            {
+                Name = x.Name,
+                Strength = x.Strength,
+                Form = x.Form,
+                WayOfIssuing = x.WayOfIssuing,
+                Manufacturer = x.Manufacturer,
+                Price = x.Price,
+                Packaging = x.Packaging
+
+            }).Take(3).ToListAsync();
             return Medicines;
         }
@@ -205,5 +215,5 @@
         public Task UpdateMedicine(Medicine medicine)
         {
-            throw new System.NotImplementedException();
+            throw new NotImplementedException();
         }
 
@@ -227,4 +237,35 @@
             return users;
         }
+
+        public User GetRole(string userName)
+        {
+            var user = _context.Users.Where(x => x.Email.Equals(userName)).FirstOrDefault();
+            return user;
+        }
+
+        public ICollection<Medicine> GetMedicines()
+        {
+            var Medicines = _context.Medicines.Select(x => new Medicine
+            {
+                Id = x.Id,
+                Name = x.Name,
+                Strength = x.Strength,
+                Form = x.Form,
+                WayOfIssuing = x.WayOfIssuing,
+                Manufacturer = x.Manufacturer,
+                Price = x.Price,
+                Packaging = x.Packaging,
+                MedicineList = x.MedicineList
+
+            }).ToList();
+            return Medicines;
+        }
+
+        public ICollection<PharmacyHeadMedicine> GetPHMedicines(string email)
+        {
+            var head = _context.PharmacyHeads.Where(x => x.Email.Equals(email)).FirstOrDefault();
+            var phmeds = _context.PharmacyHeadMedicines.Where(x => x.PheadId == head.Id).ToList();
+            return phmeds;
+        }
     }
 }
Index: FarmatikoData/FarmatikoRepoInterfaces/IPHRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IPHRepo.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/FarmatikoRepoInterfaces/IPHRepo.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -18,4 +18,8 @@
         Task RemoveClaimingRequest(int id);
         PharmacyHead GetPharmacyHeadByUserName(string userName);
+        List<PharmacyHeadMedicine> GetPharmacyHeadMedicines(string email);
+        IEnumerable<PharmacyHead> GetPharmacyHeads();
+        PharmacyHead GetPharmacyHead(string head);
+        List<Pharmacy> GetPharmacies();
     }
 }
Index: FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -15,5 +15,6 @@
         Task<HealthFacility> GetFacility(int Id);
         Task<Medicine> GetMedicine(int Id);
-        Task<IEnumerable<Medicine>> GetMedicines();
+        Task<IEnumerable<Medicine>> GetMedicinesAsync();
+        ICollection<Medicine> GetMedicines();
         Task<Pandemic> GetPandemic();
         Task<IEnumerable<Pharmacy>> GetPharmacies();
@@ -42,4 +43,6 @@
         Task UpdateMedicine(Medicine medicine);
         Task RemovePharmacyHead(int Id);
+        User GetRole(string userName);
+        ICollection<PharmacyHeadMedicine> GetPHMedicines(string email);
     }
 }
Index: rmatikoData/Migrations/20201105063549_InitialMigration.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20201105063549_InitialMigration.Designer.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ 	(revision )
@@ -1,387 +1,0 @@
-﻿// <auto-generated />
-using System;
-using FarmatikoData;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-
-namespace FarmatikoData.Migrations
-{
-    [DbContext(typeof(FarmatikoDataContext))]
-    [Migration("20201105063549_InitialMigration")]
-    partial class InitialMigration
-    {
-        protected override void BuildTargetModel(ModelBuilder modelBuilder)
-        {
-#pragma warning disable 612, 618
-            modelBuilder
-                .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
-                .HasAnnotation("ProductVersion", "3.1.6")
-                .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
-            modelBuilder.Entity("FarmatikoData.Models.HealthFacility", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<string>("Address")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<string>("Email")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Municipality")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Name")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Phone")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Type")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.HasKey("Id");
-
-                    b.ToTable("HealthFacilities");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<string>("Branch")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<int>("FacilityId")
-                        .HasColumnType("integer");
-
-                    b.Property<string>("Name")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Title")
-                        .HasColumnType("text");
-
-                    b.HasKey("Id");
-
-                    b.HasIndex("FacilityId");
-
-                    b.ToTable("HealthcareWorkers");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.Medicine", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<string>("Form")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Manufacturer")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Name")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Packaging")
-                        .HasColumnType("text");
-
-                    b.Property<float>("Price")
-                        .HasColumnType("real");
-
-                    b.Property<string>("Strength")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("WayOfIssuing")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.HasKey("Id");
-
-                    b.ToTable("Medicines");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.MedicineList", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<bool>("HasMedicine")
-                        .HasColumnType("boolean");
-
-                    b.Property<int>("MedicineId")
-                        .HasColumnType("integer");
-
-                    b.Property<int?>("PharmacyHeadId")
-                        .HasColumnType("integer");
-
-                    b.HasKey("Id");
-
-                    b.HasIndex("MedicineId");
-
-                    b.HasIndex("PharmacyHeadId");
-
-                    b.ToTable("MedicineList");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.Pandemic", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<long>("ActiveGlobal")
-                        .HasColumnType("bigint");
-
-                    b.Property<int>("ActiveMK")
-                        .HasColumnType("integer");
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<long>("DeathsGlobal")
-                        .HasColumnType("bigint");
-
-                    b.Property<int>("DeathsMK")
-                        .HasColumnType("integer");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<string>("Name")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<int>("NewMK")
-                        .HasColumnType("integer");
-
-                    b.Property<long>("TotalGlobal")
-                        .HasColumnType("bigint");
-
-                    b.Property<int>("TotalMK")
-                        .HasColumnType("integer");
-
-                    b.HasKey("Id");
-
-                    b.ToTable("Pandemics");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.Pharmacy", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<string>("Address")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<string>("Location")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Name")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<int?>("PharmacyHeadId")
-                        .HasColumnType("integer");
-
-                    b.Property<bool>("WorkAllTime")
-                        .HasColumnType("boolean");
-
-                    b.HasKey("Id");
-
-                    b.HasIndex("PharmacyHeadId");
-
-                    b.ToTable("Pharmacies");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.PharmacyHead", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<string>("Email")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Name")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<string>("Password")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.HasKey("Id");
-
-                    b.ToTable("PharmacyHeads");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<int>("HeadId")
-                        .HasColumnType("integer");
-
-                    b.Property<int>("PharmacyId")
-                        .HasColumnType("integer");
-
-                    b.HasKey("Id");
-
-                    b.HasIndex("HeadId");
-
-                    b.HasIndex("PharmacyId");
-
-                    b.ToTable("PHRequests");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.User", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<string>("Email")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Name")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Password")
-                        .HasColumnType("text");
-
-                    b.Property<int>("UserRole")
-                        .HasColumnType("integer");
-
-                    b.HasKey("Id");
-
-                    b.ToTable("Users");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
-                {
-                    b.HasOne("FarmatikoData.Models.HealthFacility", "Facility")
-                        .WithMany()
-                        .HasForeignKey("FacilityId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.MedicineList", b =>
-                {
-                    b.HasOne("FarmatikoData.Models.Medicine", "Medicine")
-                        .WithMany()
-                        .HasForeignKey("MedicineId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-
-                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
-                        .WithMany("MedicineLists")
-                        .HasForeignKey("PharmacyHeadId");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.Pharmacy", b =>
-                {
-                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
-                        .WithMany("PharmaciesList")
-                        .HasForeignKey("PharmacyHeadId");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
-                {
-                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
-                        .WithMany()
-                        .HasForeignKey("HeadId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-
-                    b.HasOne("FarmatikoData.Models.Pharmacy", "Pharmacy")
-                        .WithMany()
-                        .HasForeignKey("PharmacyId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-                });
-#pragma warning restore 612, 618
-        }
-    }
-}
Index: rmatikoData/Migrations/20201105063549_InitialMigration.cs
===================================================================
--- FarmatikoData/Migrations/20201105063549_InitialMigration.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ 	(revision )
@@ -1,276 +1,0 @@
-﻿using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-
-namespace FarmatikoData.Migrations
-{
-    public partial class InitialMigration : Migration
-    {
-        protected override void Up(MigrationBuilder migrationBuilder)
-        {
-            migrationBuilder.CreateTable(
-                name: "HealthFacilities",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    Name = table.Column<string>(nullable: false),
-                    Municipality = table.Column<string>(nullable: false),
-                    Address = table.Column<string>(nullable: false),
-                    Type = table.Column<string>(nullable: false),
-                    Email = table.Column<string>(nullable: true),
-                    Phone = table.Column<string>(nullable: true)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_HealthFacilities", x => x.Id);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "Medicines",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    Name = table.Column<string>(nullable: false),
-                    Strength = table.Column<string>(nullable: false),
-                    Form = table.Column<string>(nullable: true),
-                    WayOfIssuing = table.Column<string>(nullable: false),
-                    Manufacturer = table.Column<string>(nullable: false),
-                    Price = table.Column<float>(nullable: false),
-                    Packaging = table.Column<string>(nullable: true)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_Medicines", x => x.Id);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "Pandemics",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    Name = table.Column<string>(nullable: false),
-                    TotalMK = table.Column<int>(nullable: false),
-                    ActiveMK = table.Column<int>(nullable: false),
-                    DeathsMK = table.Column<int>(nullable: false),
-                    NewMK = table.Column<int>(nullable: false),
-                    TotalGlobal = table.Column<long>(nullable: false),
-                    DeathsGlobal = table.Column<long>(nullable: false),
-                    ActiveGlobal = table.Column<long>(nullable: false)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_Pandemics", x => x.Id);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "PharmacyHeads",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    Email = table.Column<string>(nullable: false),
-                    Name = table.Column<string>(nullable: false),
-                    Password = table.Column<string>(nullable: false)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "Users",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    Name = table.Column<string>(nullable: true),
-                    Email = table.Column<string>(nullable: true),
-                    Password = table.Column<string>(nullable: true),
-                    UserRole = table.Column<int>(nullable: false)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_Users", x => x.Id);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "HealthcareWorkers",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    Name = table.Column<string>(nullable: false),
-                    Branch = table.Column<string>(nullable: false),
-                    FacilityId = table.Column<int>(nullable: false),
-                    Title = table.Column<string>(nullable: true)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_HealthcareWorkers", x => x.Id);
-                    table.ForeignKey(
-                        name: "FK_HealthcareWorkers_HealthFacilities_FacilityId",
-                        column: x => x.FacilityId,
-                        principalTable: "HealthFacilities",
-                        principalColumn: "Id",
-                        onDelete: ReferentialAction.Cascade);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "MedicineList",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    MedicineId = table.Column<int>(nullable: false),
-                    HasMedicine = table.Column<bool>(nullable: false),
-                    PharmacyHeadId = table.Column<int>(nullable: true)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_MedicineList", x => x.Id);
-                    table.ForeignKey(
-                        name: "FK_MedicineList_Medicines_MedicineId",
-                        column: x => x.MedicineId,
-                        principalTable: "Medicines",
-                        principalColumn: "Id",
-                        onDelete: ReferentialAction.Cascade);
-                    table.ForeignKey(
-                        name: "FK_MedicineList_PharmacyHeads_PharmacyHeadId",
-                        column: x => x.PharmacyHeadId,
-                        principalTable: "PharmacyHeads",
-                        principalColumn: "Id",
-                        onDelete: ReferentialAction.Restrict);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "Pharmacies",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    Name = table.Column<string>(nullable: false),
-                    Location = table.Column<string>(nullable: false),
-                    Address = table.Column<string>(nullable: false),
-                    WorkAllTime = table.Column<bool>(nullable: false),
-                    PharmacyHeadId = table.Column<int>(nullable: true)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_Pharmacies", x => x.Id);
-                    table.ForeignKey(
-                        name: "FK_Pharmacies_PharmacyHeads_PharmacyHeadId",
-                        column: x => x.PharmacyHeadId,
-                        principalTable: "PharmacyHeads",
-                        principalColumn: "Id",
-                        onDelete: ReferentialAction.Restrict);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "PHRequests",
-                columns: table => new
-                {
-                    Id = table.Column<int>(nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    CreatedOn = table.Column<DateTime>(nullable: false),
-                    DeletedOn = table.Column<DateTime>(nullable: true),
-                    HeadId = table.Column<int>(nullable: false),
-                    PharmacyId = table.Column<int>(nullable: false)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_PHRequests", x => x.Id);
-                    table.ForeignKey(
-                        name: "FK_PHRequests_PharmacyHeads_HeadId",
-                        column: x => x.HeadId,
-                        principalTable: "PharmacyHeads",
-                        principalColumn: "Id",
-                        onDelete: ReferentialAction.Cascade);
-                    table.ForeignKey(
-                        name: "FK_PHRequests_Pharmacies_PharmacyId",
-                        column: x => x.PharmacyId,
-                        principalTable: "Pharmacies",
-                        principalColumn: "Id",
-                        onDelete: ReferentialAction.Cascade);
-                });
-
-            migrationBuilder.CreateIndex(
-                name: "IX_HealthcareWorkers_FacilityId",
-                table: "HealthcareWorkers",
-                column: "FacilityId");
-
-            migrationBuilder.CreateIndex(
-                name: "IX_MedicineList_MedicineId",
-                table: "MedicineList",
-                column: "MedicineId");
-
-            migrationBuilder.CreateIndex(
-                name: "IX_MedicineList_PharmacyHeadId",
-                table: "MedicineList",
-                column: "PharmacyHeadId");
-
-            migrationBuilder.CreateIndex(
-                name: "IX_Pharmacies_PharmacyHeadId",
-                table: "Pharmacies",
-                column: "PharmacyHeadId");
-
-            migrationBuilder.CreateIndex(
-                name: "IX_PHRequests_HeadId",
-                table: "PHRequests",
-                column: "HeadId");
-
-            migrationBuilder.CreateIndex(
-                name: "IX_PHRequests_PharmacyId",
-                table: "PHRequests",
-                column: "PharmacyId");
-        }
-
-        protected override void Down(MigrationBuilder migrationBuilder)
-        {
-            migrationBuilder.DropTable(
-                name: "HealthcareWorkers");
-
-            migrationBuilder.DropTable(
-                name: "MedicineList");
-
-            migrationBuilder.DropTable(
-                name: "Pandemics");
-
-            migrationBuilder.DropTable(
-                name: "PHRequests");
-
-            migrationBuilder.DropTable(
-                name: "Users");
-
-            migrationBuilder.DropTable(
-                name: "HealthFacilities");
-
-            migrationBuilder.DropTable(
-                name: "Medicines");
-
-            migrationBuilder.DropTable(
-                name: "Pharmacies");
-
-            migrationBuilder.DropTable(
-                name: "PharmacyHeads");
-        }
-    }
-}
Index: FarmatikoData/Migrations/20201111183247_InitialMigration.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20201111183247_InitialMigration.Designer.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
+++ FarmatikoData/Migrations/20201111183247_InitialMigration.Designer.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -0,0 +1,396 @@
+﻿// <auto-generated />
+using System;
+using FarmatikoData;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+namespace FarmatikoData.Migrations
+{
+    [DbContext(typeof(FarmatikoDataContext))]
+    [Migration("20201111183247_InitialMigration")]
+    partial class InitialMigration
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
+                .HasAnnotation("ProductVersion", "3.1.6")
+                .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+            modelBuilder.Entity("FarmatikoData.Models.HealthFacility", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<string>("Address")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<string>("Email")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Municipality")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Phone")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Type")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("HealthFacilities");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<string>("Branch")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<int>("FacilityId")
+                        .HasColumnType("integer");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Title")
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("FacilityId");
+
+                    b.ToTable("HealthcareWorkers");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.Medicine", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<string>("Form")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Manufacturer")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Packaging")
+                        .HasColumnType("text");
+
+                    b.Property<int?>("PharmacyHeadId")
+                        .HasColumnType("integer");
+
+                    b.Property<float>("Price")
+                        .HasColumnType("real");
+
+                    b.Property<string>("Strength")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("WayOfIssuing")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("PharmacyHeadId");
+
+                    b.ToTable("Medicines");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.Pandemic", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<long>("ActiveGlobal")
+                        .HasColumnType("bigint");
+
+                    b.Property<int>("ActiveMK")
+                        .HasColumnType("integer");
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<long>("DeathsGlobal")
+                        .HasColumnType("bigint");
+
+                    b.Property<int>("DeathsMK")
+                        .HasColumnType("integer");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<int>("NewMK")
+                        .HasColumnType("integer");
+
+                    b.Property<long>("TotalGlobal")
+                        .HasColumnType("bigint");
+
+                    b.Property<int>("TotalMK")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Pandemics");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.Pharmacy", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<string>("Address")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<string>("Location")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<int>("PheadId")
+                        .HasColumnType("integer");
+
+                    b.Property<bool>("WorkAllTime")
+                        .HasColumnType("boolean");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("PheadId");
+
+                    b.ToTable("Pharmacies");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHead", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<string>("Email")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Password")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("PharmacyHeads");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", b =>
+                {
+                    b.Property<int>("PheadId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("MedicineId")
+                        .HasColumnType("integer");
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<int>("Id")
+                        .HasColumnType("integer");
+
+                    b.HasKey("PheadId", "MedicineId");
+
+                    b.HasIndex("MedicineId");
+
+                    b.ToTable("PharmacyHeadMedicines");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<int>("HeadId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("PharmacyId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("HeadId");
+
+                    b.HasIndex("PharmacyId");
+
+                    b.ToTable("PHRequests");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.User", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<string>("Email")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Password")
+                        .HasColumnType("text");
+
+                    b.Property<int>("UserRole")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Users");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.HealthcareWorker", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.HealthFacility", "Facility")
+                        .WithMany()
+                        .HasForeignKey("FacilityId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.Medicine", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
+                        .WithMany("MedicineList")
+                        .HasForeignKey("PharmacyHeadId");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.Pharmacy", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "PHead")
+                        .WithMany("PharmaciesList")
+                        .HasForeignKey("PheadId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.Medicine", "Medicine")
+                        .WithMany("MedicineList")
+                        .HasForeignKey("MedicineId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
+                        .WithMany("PHMedicineList")
+                        .HasForeignKey("PheadId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.RequestPharmacyHead", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
+                        .WithMany()
+                        .HasForeignKey("HeadId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FarmatikoData.Models.Pharmacy", "Pharmacy")
+                        .WithMany()
+                        .HasForeignKey("PharmacyId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
Index: FarmatikoData/Migrations/20201111183247_InitialMigration.cs
===================================================================
--- FarmatikoData/Migrations/20201111183247_InitialMigration.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
+++ FarmatikoData/Migrations/20201111183247_InitialMigration.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -0,0 +1,281 @@
+﻿using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+namespace FarmatikoData.Migrations
+{
+    public partial class InitialMigration : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.CreateTable(
+                name: "HealthFacilities",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    Name = table.Column<string>(nullable: false),
+                    Municipality = table.Column<string>(nullable: false),
+                    Address = table.Column<string>(nullable: false),
+                    Type = table.Column<string>(nullable: false),
+                    Email = table.Column<string>(nullable: true),
+                    Phone = table.Column<string>(nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_HealthFacilities", x => x.Id);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "Pandemics",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    Name = table.Column<string>(nullable: false),
+                    TotalMK = table.Column<int>(nullable: false),
+                    ActiveMK = table.Column<int>(nullable: false),
+                    DeathsMK = table.Column<int>(nullable: false),
+                    NewMK = table.Column<int>(nullable: false),
+                    TotalGlobal = table.Column<long>(nullable: false),
+                    DeathsGlobal = table.Column<long>(nullable: false),
+                    ActiveGlobal = table.Column<long>(nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Pandemics", x => x.Id);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "PharmacyHeads",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    Email = table.Column<string>(nullable: false),
+                    Name = table.Column<string>(nullable: false),
+                    Password = table.Column<string>(nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "Users",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    Name = table.Column<string>(nullable: false),
+                    Email = table.Column<string>(nullable: false),
+                    Password = table.Column<string>(nullable: false),
+                    UserRole = table.Column<int>(nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Users", x => x.Id);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "HealthcareWorkers",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    Name = table.Column<string>(nullable: false),
+                    Branch = table.Column<string>(nullable: false),
+                    FacilityId = table.Column<int>(nullable: false),
+                    Title = table.Column<string>(nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_HealthcareWorkers", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_HealthcareWorkers_HealthFacilities_FacilityId",
+                        column: x => x.FacilityId,
+                        principalTable: "HealthFacilities",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "Medicines",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    Name = table.Column<string>(nullable: false),
+                    Strength = table.Column<string>(nullable: false),
+                    Form = table.Column<string>(nullable: true),
+                    WayOfIssuing = table.Column<string>(nullable: false),
+                    Manufacturer = table.Column<string>(nullable: false),
+                    Price = table.Column<float>(nullable: false),
+                    Packaging = table.Column<string>(nullable: true),
+                    PharmacyHeadId = table.Column<int>(nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Medicines", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_Medicines_PharmacyHeads_PharmacyHeadId",
+                        column: x => x.PharmacyHeadId,
+                        principalTable: "PharmacyHeads",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Restrict);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "Pharmacies",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    Name = table.Column<string>(nullable: false),
+                    Location = table.Column<string>(nullable: false),
+                    Address = table.Column<string>(nullable: false),
+                    WorkAllTime = table.Column<bool>(nullable: false),
+                    PheadId = table.Column<int>(nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Pharmacies", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_Pharmacies_PharmacyHeads_PheadId",
+                        column: x => x.PheadId,
+                        principalTable: "PharmacyHeads",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "PharmacyHeadMedicines",
+                columns: table => new
+                {
+                    PheadId = table.Column<int>(nullable: false),
+                    MedicineId = table.Column<int>(nullable: false),
+                    Id = table.Column<int>(nullable: false),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_PharmacyHeadMedicines", x => new { x.PheadId, x.MedicineId });
+                    table.ForeignKey(
+                        name: "FK_PharmacyHeadMedicines_Medicines_MedicineId",
+                        column: x => x.MedicineId,
+                        principalTable: "Medicines",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                    table.ForeignKey(
+                        name: "FK_PharmacyHeadMedicines_PharmacyHeads_PheadId",
+                        column: x => x.PheadId,
+                        principalTable: "PharmacyHeads",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "PHRequests",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    DeletedOn = table.Column<DateTime>(nullable: true),
+                    HeadId = table.Column<int>(nullable: false),
+                    PharmacyId = table.Column<int>(nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_PHRequests", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_PHRequests_PharmacyHeads_HeadId",
+                        column: x => x.HeadId,
+                        principalTable: "PharmacyHeads",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                    table.ForeignKey(
+                        name: "FK_PHRequests_Pharmacies_PharmacyId",
+                        column: x => x.PharmacyId,
+                        principalTable: "Pharmacies",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateIndex(
+                name: "IX_HealthcareWorkers_FacilityId",
+                table: "HealthcareWorkers",
+                column: "FacilityId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_Medicines_PharmacyHeadId",
+                table: "Medicines",
+                column: "PharmacyHeadId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_Pharmacies_PheadId",
+                table: "Pharmacies",
+                column: "PheadId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_PharmacyHeadMedicines_MedicineId",
+                table: "PharmacyHeadMedicines",
+                column: "MedicineId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_PHRequests_HeadId",
+                table: "PHRequests",
+                column: "HeadId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_PHRequests_PharmacyId",
+                table: "PHRequests",
+                column: "PharmacyId");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropTable(
+                name: "HealthcareWorkers");
+
+            migrationBuilder.DropTable(
+                name: "Pandemics");
+
+            migrationBuilder.DropTable(
+                name: "PharmacyHeadMedicines");
+
+            migrationBuilder.DropTable(
+                name: "PHRequests");
+
+            migrationBuilder.DropTable(
+                name: "Users");
+
+            migrationBuilder.DropTable(
+                name: "HealthFacilities");
+
+            migrationBuilder.DropTable(
+                name: "Medicines");
+
+            migrationBuilder.DropTable(
+                name: "Pharmacies");
+
+            migrationBuilder.DropTable(
+                name: "PharmacyHeads");
+        }
+    }
+}
Index: FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs
===================================================================
--- FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -121,4 +121,7 @@
                         .HasColumnType("text");
 
+                    b.Property<int?>("PharmacyHeadId")
+                        .HasColumnType("integer");
+
                     b.Property<float>("Price")
                         .HasColumnType("real");
@@ -134,36 +137,7 @@
                     b.HasKey("Id");
 
+                    b.HasIndex("PharmacyHeadId");
+
                     b.ToTable("Medicines");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.MedicineList", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
-                    b.Property<DateTime>("CreatedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<DateTime?>("DeletedOn")
-                        .HasColumnType("timestamp without time zone");
-
-                    b.Property<bool>("HasMedicine")
-                        .HasColumnType("boolean");
-
-                    b.Property<int>("MedicineId")
-                        .HasColumnType("integer");
-
-                    b.Property<int?>("PharmacyHeadId")
-                        .HasColumnType("integer");
-
-                    b.HasKey("Id");
-
-                    b.HasIndex("MedicineId");
-
-                    b.HasIndex("PharmacyHeadId");
-
-                    b.ToTable("MedicineList");
                 });
 
@@ -236,5 +210,5 @@
                         .HasColumnType("text");
 
-                    b.Property<int?>("PharmacyHeadId")
+                    b.Property<int>("PheadId")
                         .HasColumnType("integer");
 
@@ -244,5 +218,5 @@
                     b.HasKey("Id");
 
-                    b.HasIndex("PharmacyHeadId");
+                    b.HasIndex("PheadId");
 
                     b.ToTable("Pharmacies");
@@ -277,4 +251,28 @@
 
                     b.ToTable("PharmacyHeads");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", b =>
+                {
+                    b.Property<int>("PheadId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("MedicineId")
+                        .HasColumnType("integer");
+
+                    b.Property<DateTime>("CreatedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<DateTime?>("DeletedOn")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<int>("Id")
+                        .HasColumnType("integer");
+
+                    b.HasKey("PheadId", "MedicineId");
+
+                    b.HasIndex("MedicineId");
+
+                    b.ToTable("PharmacyHeadMedicines");
                 });
 
@@ -346,22 +344,33 @@
                 });
 
-            modelBuilder.Entity("FarmatikoData.Models.MedicineList", b =>
+            modelBuilder.Entity("FarmatikoData.Models.Medicine", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
+                        .WithMany("MedicineList")
+                        .HasForeignKey("PharmacyHeadId");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.Pharmacy", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "PHead")
+                        .WithMany("PharmaciesList")
+                        .HasForeignKey("PheadId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", b =>
                 {
                     b.HasOne("FarmatikoData.Models.Medicine", "Medicine")
-                        .WithMany()
+                        .WithMany("MedicineList")
                         .HasForeignKey("MedicineId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
-                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
-                        .WithMany("MedicineLists")
-                        .HasForeignKey("PharmacyHeadId");
-                });
-
-            modelBuilder.Entity("FarmatikoData.Models.Pharmacy", b =>
-                {
-                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
-                        .WithMany("PharmaciesList")
-                        .HasForeignKey("PharmacyHeadId");
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
+                        .WithMany("PHMedicineList")
+                        .HasForeignKey("PheadId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
                 });
 
Index: FarmatikoData/Models/Medicine.cs
===================================================================
--- FarmatikoData/Models/Medicine.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/Models/Medicine.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -1,4 +1,8 @@
 ﻿using FarmatikoData.Base;
+using System.Collections;
+using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
+using System.Diagnostics.CodeAnalysis;
+using System.Text.Json.Serialization;
 
 namespace FarmatikoData.Models
@@ -18,4 +22,6 @@
         public float Price { get; set; }
         public string Packaging { get; set; }
+        //[JsonPropertyName("PHMedicineList")]
+        public ICollection<PharmacyHeadMedicine> MedicineList { get; set; }
         public Medicine(string Name, string Strength, string Form, string WayOfIssuing, string Manufacturer, float Price, string Packaging)
         {
@@ -28,5 +34,4 @@
             this.Packaging = Packaging;
         }
-
     }
 }
Index: rmatikoData/Models/MedicineList.cs
===================================================================
--- FarmatikoData/Models/MedicineList.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using FarmatikoData.Base;
-using FarmatikoData.Models;
-using Microsoft.EntityFrameworkCore;
-
-namespace FarmatikoData.Models
-{
-    public class MedicineList : BaseEntity
-    {
-        public MedicineList()
-        {
-        }
-        [Required]
-        public Medicine Medicine { get; set; }
-        [Required]
-        public bool HasMedicine { get; set; }
-        public MedicineList(Medicine Medicine, bool HasMedicine)
-        {
-            this.Medicine = Medicine;
-            this.HasMedicine = HasMedicine;
-        }
-        /*public ICollection<MedicineList> MedicinesList { get; set; }
-        public MedicineList()
-        {
-            MedicinesList = new HashSet<MedicineList>();
-        }*/
-    }
-}
Index: FarmatikoData/Models/Pharmacy.cs
===================================================================
--- FarmatikoData/Models/Pharmacy.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/Models/Pharmacy.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -26,4 +26,6 @@
             this.WorkAllTime = WorkAllTime;
         }
+        public int PheadId { get; set; }
+        public PharmacyHead PHead { get; set; }
     }
 }
Index: FarmatikoData/Models/PharmacyHead.cs
===================================================================
--- FarmatikoData/Models/PharmacyHead.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/Models/PharmacyHead.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -1,5 +1,7 @@
 ﻿using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
+using System.Text.Json.Serialization;
 using FarmatikoData.Base;
+using Newtonsoft.Json;
 
 namespace FarmatikoData.Models
@@ -11,11 +13,19 @@
         }
         [Required]
+        [JsonProperty("Email")]
         public string Email { get; set; }
         [Required]
+        [JsonProperty("Name")]
         public string Name { get; set; }
         [Required]
+        [JsonProperty("Passwd")]
         public string Password { get; set; }
-        public List<MedicineList> MedicineLists { get; set; }
-        public List<Pharmacy> PharmaciesList { get; set; }
+        [JsonProperty("PharmacyMedicines")]
+        public List<Medicine> MedicineList { get; set; }
+        [Required]
+        [JsonProperty("Pharmacy")]
+        public ICollection<Pharmacy> PharmaciesList { get; set; }
+        //[JsonProperty("PHMedicineList")]
+        public ICollection<PharmacyHeadMedicine> PHMedicineList { get; set; }
 
     }
Index: FarmatikoData/Models/PharmacyHeadMedicine.cs
===================================================================
--- FarmatikoData/Models/PharmacyHeadMedicine.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
+++ FarmatikoData/Models/PharmacyHeadMedicine.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -0,0 +1,20 @@
+﻿using FarmatikoData.Base;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Text.Json.Serialization;
+
+namespace FarmatikoData.Models
+{
+    public class PharmacyHeadMedicine : BaseEntity
+    {
+        //[JsonPropertyName("PheadId")]
+        public int PheadId { get; set; }
+        //[JsonPropertyName("Head")]
+        public PharmacyHead Head { get; set; }
+        //[JsonPropertyName("MedicineId")]
+        public int MedicineId { get; set; }
+        //[JsonPropertyName("Medicine")]
+        public Medicine Medicine { get; set; }
+    }
+}
Index: FarmatikoData/Models/RequestPharmacyHead.cs
===================================================================
--- FarmatikoData/Models/RequestPharmacyHead.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoData/Models/RequestPharmacyHead.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -4,4 +4,5 @@
 using System.ComponentModel.DataAnnotations;
 using System.Text;
+using System.Text.Json.Serialization;
 
 namespace FarmatikoData.Models
@@ -13,6 +14,8 @@
         }
         [Required]
+        [JsonPropertyName("PharmacyHead")]
         public PharmacyHead Head { get; set; }
         [Required]
+        [JsonPropertyName("Pharmacy")]
         public Pharmacy Pharmacy { get; set; }
 
Index: FarmatikoServices/FarmatikoServiceInterfaces/IPHService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IPHService.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IPHService.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -18,5 +18,5 @@
         Task<bool> Remove(int id);
         Task<bool> RemoveClaimingRequest(int id);
-        PharmacyHead GetPharmacyHead(string userName);
+        object GetPharmacyHead(string userName);
     }
 }
Index: FarmatikoServices/Services/PHService.cs
===================================================================
--- FarmatikoServices/Services/PHService.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoServices/Services/PHService.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -13,7 +13,9 @@
     {
         private readonly IPHRepo _iPHRepo;
-        public PHService(IPHRepo iPHRepo)
+        private readonly IRepository _repository;
+        public PHService(IPHRepo iPHRepo, IRepository repository)
         {
             _iPHRepo = iPHRepo;
+            _repository = repository;
         }
 
@@ -55,8 +57,42 @@
 
 
+
         public async Task UpdatePharmacyHead(PharmacyHead pharmacyHead)
         {
             if (pharmacyHead != null)
-                await _iPHRepo.UpdatePharmacyHead(pharmacyHead);
+            {
+                var phead = _iPHRepo.GetPharmacyHead(pharmacyHead.Email);
+
+                if (pharmacyHead.PharmaciesList.Count() == 0)
+                    pharmacyHead.PharmaciesList = null;
+                if (pharmacyHead.MedicineList.Count() == 0)
+                    pharmacyHead.MedicineList = null;
+
+                phead.PHMedicineList = _repository.GetPHMedicines(phead.Email);
+
+                if (phead.MedicineList != pharmacyHead.MedicineList || phead != pharmacyHead)
+                {
+                    phead.MedicineList = pharmacyHead.MedicineList;
+                    List<PharmacyHeadMedicine> list = new List<PharmacyHeadMedicine>();
+
+                    foreach (var med in phead.MedicineList)
+                    {
+                        med.Id++;
+                        var PHMObj = phead.PHMedicineList.Select(x => new PharmacyHeadMedicine
+                        {
+                            PheadId = x.PheadId,
+                            Head = x.Head,
+                            MedicineId = x.MedicineId,
+                            Medicine = x.Medicine
+                        }).Where(x => x.MedicineId == med.Id).Single();
+                        list.Add(PHMObj);
+                    }
+
+                    phead.PHMedicineList = list;
+
+                    await _iPHRepo.UpdatePharmacyHead(phead);
+                }
+                else throw new Exception("Cannot update pharmacy head since there was no changes.");
+            }
             else throw new Exception("PharmacyHead has a null value.");
         }
@@ -93,11 +129,77 @@
         }
 
-        public PharmacyHead GetPharmacyHead(string userName)
+        public object GetPharmacyHead(string userName)
         {
             if (userName != null)
             {
-                return _iPHRepo.GetPharmacyHeadByUserName(userName);
-            }
-            return default;
+                var Phead = _iPHRepo.GetPharmacyHeadByUserName(userName);
+                List<PharmacyHeadMedicine> PHMedicines = _iPHRepo.GetPharmacyHeadMedicines(userName);
+                List<Medicine> Medicines = _repository.GetMedicines().ToList();
+                List<Medicine> PHMedicineList = new List<Medicine>();
+
+
+                //var meds = PHMedicines.Where(x => x.Id == Phead.Id).ToList();
+                var pharmacies = _iPHRepo.GetPharmacies();
+                var PheadPharms = pharmacies.Where(x => x.PheadId == Phead.Id).ToList();
+                var user = _repository.GetRole(userName);
+
+
+                if (user.UserRole.ToString().Equals("Admin"))
+                {
+                    var Admin = new
+                    {
+                        Id = user.Id,
+                        Email = user.Email,
+                        Name = user.Name,
+                        Passwd = user.Password,
+                        MedicineList = PHMedicines,
+                        PharmaciesList = Phead.PharmaciesList
+                    };
+
+                    return Admin;
+                }
+
+                if (PheadPharms.Count() > 0)
+                    Phead.MedicineList = PHMedicineList;
+                else Phead.PharmaciesList = pharmacies;
+
+                if (Phead.PHMedicineList.Count() > 0)
+                {
+                    foreach (var med in Medicines)
+                    {
+                        var PHMObj = Phead.PHMedicineList.Select(x => new PharmacyHeadMedicine
+                        {
+                            PheadId = x.PheadId,
+                            Head = x.Head,
+                            MedicineId = x.MedicineId,
+                            Medicine = x.Medicine
+                        }).Where(x => x.MedicineId == med.Id).SingleOrDefault();
+                        if (PHMObj == null || PHMObj == default)
+                            break;
+                        if (PHMObj.MedicineId == med.Id)
+                        {
+                            Medicine medicine = new Medicine(med.Name, med.Strength, med.Form, med.WayOfIssuing, med.Manufacturer, med.Price, med.Packaging);
+                            PHMedicineList.Add(medicine);
+                        }
+                    }
+                    Phead.MedicineList = PHMedicineList;
+                }
+                else
+                {
+                    Phead.MedicineList = Medicines;
+                }
+
+                PharmacyHead pharHead = new PharmacyHead()
+                {
+                    Id = Phead.Id,
+                    MedicineList = Phead.MedicineList,
+                    PharmaciesList = Phead.PharmaciesList,
+                    Email = Phead.Email,
+                    Name = Phead.Name,
+                    Password = Phead.Password
+                };
+                return pharHead;
+            }
+            else throw new Exception("Username is null.");
         }
     }
Index: FarmatikoServices/Services/ProcessJSONService.cs
===================================================================
--- FarmatikoServices/Services/ProcessJSONService.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoServices/Services/ProcessJSONService.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -58,5 +58,4 @@
                 string url1 = "http://data.gov.mk/dataset/d84c31d9-e749-4b17-9faf-a5b4db3e7a70/resource/ce446f5c-e541-46f6-9e8c-67568059cbc6/download/registar-na-apteki-vnatre-vo-mreza-na-fzo-12.08.2020.xlsx";
                 string url2 = "http://data.gov.mk/dataset/d84c31d9-e749-4b17-9faf-a5b4db3e7a70/resource/a16379b4-ec81-4de7-994d-0ee503d71b55/download/registar-na-apteki-nadvor-od-mreza-na-fzo-12.08.2020.xlsx";
-                int count = 0;
                 Uri uri1 = new Uri(url1);
                 Uri uri2 = new Uri(url2);
Index: FarmatikoServices/Services/Service.cs
===================================================================
--- FarmatikoServices/Services/Service.cs	(revision ad60966d7f1312d731802b6f0b7ce1e17a1028c4)
+++ FarmatikoServices/Services/Service.cs	(revision 1db5673118cc86d7338dc9f97d8323cc9c620ab8)
@@ -44,5 +44,5 @@
         public async Task<IEnumerable<Medicine>> GetMedicines()
         {
-            var Medicines = await _repository.GetMedicines();
+            var Medicines = await _repository.GetMedicinesAsync();
             return Medicines;
         }
@@ -126,4 +126,5 @@
             else throw new Exception("Pharmacy is null");
         }
+
         // Ovaa kontrola ja ima samo admin
         public async Task AddPharmacyHead(PharmacyHead pharmacyHead)
@@ -131,17 +132,13 @@
             if (pharmacyHead != null)
             {
-                var Medicines = await _repository.GetMedicines();
+                var Medicines = await _repository.GetMedicinesAsync();
                 foreach (var med in Medicines)
                 {
-                    MedicineList medicine = new MedicineList()
-                    {
-                        Medicine = med,
-                        HasMedicine = false
-                    };
-                    pharmacyHead.MedicineLists.Add(medicine);
+                    pharmacyHead.MedicineList.Add(med);
                 }
+                
                 await _repository.AddPharmacyHead(pharmacyHead);
             }
-            throw new Exception("PharmacyHead is null");
+            else throw new Exception("PharmacyHead is null");
         }
         //za json(Sys updater)
