Index: Farmatiko/ClientApp/src/app/admin/admin.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/admin/admin.component.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/admin/admin.component.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -12,5 +12,7 @@
         <div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
           <ul class="navbar-nav flex-grow">
-            <li>Administration panel</li>
+            <li>Administration panel:</li> 
+            <li>&nbsp;Logged as <p *ngIf="head">{{adminHead.Name}}</p> </li>
+            <li (click)="logout()" class="btn btn-link"><a>Logout</a></li>
           </ul>
         </div>
@@ -18,5 +20,5 @@
     </nav>
 </header>
-<mat-tab-group mat-stretch-tabs>
+<mat-tab-group mat-stretch-tabs dynamicHeight>
       <mat-tab label="Claiming requests"> 
         <div class="wrapper">
Index: Farmatiko/ClientApp/src/app/admin/admin.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/admin/admin.component.ts	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/admin/admin.component.ts	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -7,5 +7,6 @@
 import { EditPharmacyHeadDialogComponent } from '../dialogs/edit-pharmacy-head-dialog/edit-pharmacy-head-dialog.component';
 import { PharmacyDialogComponent } from '../dialogs/pharmacy-dialog/pharmacy-dialog.component';
-import { PharmacyHeadDialogComponent } from '../nav-menu/dialogs/pharmacy-head-dialog/pharmacy-head-dialog.component';
+import { PharmacyHeadDialogComponent } from '../dialogs/pharmacy-head-dialog/pharmacy-head-dialog.component';
+import { AuthService } from '../shared/services/auth.service';
 
 
@@ -19,16 +20,23 @@
   public requests: IPharmacyHeadRequest[] = [];
   public head: IPharmacyHead = {
-    PharmacyMedicines: null,
-    Pharmacy: null,
     Email: '',
     Passwd: '',
     Name: ''
   };
+  public adminHead: IPharmacyHead;
 
-  constructor(private dataService: DataService, private dialog: MatDialog, private snackBar: MatSnackBar, private router: Router) {
+  constructor(private dataService: DataService, private authService: AuthService, private dialog: MatDialog, private snackBar: MatSnackBar, private router: Router) {
 
   }
 
   ngOnInit(): void {
+    this.authService.getUser()
+        .subscribe((data) => {
+          console.log(data);
+          this.adminHead = data;
+        },
+        (err: any) => console.log(err),
+        () => console.log('User data retrieved'));
+
     this.dataService.getPharmacyHeads()
         .subscribe((pHeads: IPharmacyHead[]) => {
@@ -39,9 +47,9 @@
 
     this.dataService.getClaimingRequests()
-    .subscribe((pRequests: IPharmacyHeadRequest[]) => {
-      this.requests = pRequests;
-    },
-    (err: any) => console.log(err),
-    () => console.log("PharmacyHead data retrieved"));
+        .subscribe((pRequests: IPharmacyHeadRequest[]) => {
+          this.requests = pRequests;
+        },
+        (err: any) => console.log(err),
+        () => console.log("PharmacyHead data retrieved"));
   }
 
@@ -57,6 +65,4 @@
         () => console.log("PharmacyHead inserted"));
     this.head = {
-      PharmacyMedicines: null,
-      Pharmacy: null,
       Email: '',
       Passwd: '',
@@ -83,4 +89,5 @@
     dialogRef.afterClosed().subscribe((editedHead: IPharmacyHead) => {
       if(editedHead){
+        console.log(editedHead);
         this.heads = this.heads.filter(x => x !== eHead);
         this.heads.push(editedHead);
@@ -142,4 +149,8 @@
   }
 
+  logout() {
+    this.authService.logout();
+  }
+
   openSnackBar(message: string, action: string) : MatSnackBarRef<SimpleSnackBar> {
     return this.snackBar.open(message, action, {
Index: Farmatiko/ClientApp/src/app/app.module.ts
===================================================================
--- Farmatiko/ClientApp/src/app/app.module.ts	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/app.module.ts	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -26,5 +26,7 @@
 import { EditPharmacyDialogComponent } from './dialogs/edit-pharmacy-dialog/edit-pharmacy-dialog.component';
 import { EditPharmacyHeadDialogComponent } from './dialogs/edit-pharmacy-head-dialog/edit-pharmacy-head-dialog.component';
-import { PharmacyHeadDialogComponent } from './nav-menu/dialogs/pharmacy-head-dialog/pharmacy-head-dialog.component';
+import { PharmacyHeadDialogComponent } from './dialogs/pharmacy-head-dialog/pharmacy-head-dialog.component';
+import { AddMedicineDialogComponent } from './dialogs/add-medicine-dialog/add-medicine-dialog.component';
+import { ListMedicinesDialogComponent } from './dialogs/list-medicines-dialog/list-medicines-dialog.component';
 
 @NgModule({
@@ -44,5 +46,7 @@
     EditPharmacyDialogComponent,
     EditPharmacyHeadDialogComponent,
-    PharmacyHeadDialogComponent
+    PharmacyHeadDialogComponent,
+    AddMedicineDialogComponent,
+    ListMedicinesDialogComponent
   ],
   imports: [
Index: Farmatiko/ClientApp/src/app/counter/counter.component.css
===================================================================
--- Farmatiko/ClientApp/src/app/counter/counter.component.css	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/counter/counter.component.css	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -12,5 +12,4 @@
   
 .header {
-    min-height: 64px;
     padding: 8px 24px 0;
 }
Index: Farmatiko/ClientApp/src/app/counter/counter.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/counter/counter.component.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/counter/counter.component.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -2,5 +2,5 @@
 <app-nav-menu></app-nav-menu>
 
-<mat-tab-group mat-stretch-tabs>
+<mat-tab-group dynamicHeight mat-stretch-tabs>
   <mat-tab class="tab" label="Здравствени установи">
   <div class="wrapper">
Index: Farmatiko/ClientApp/src/app/dashboard/dashboard.component.css
===================================================================
--- Farmatiko/ClientApp/src/app/dashboard/dashboard.component.css	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/dashboard/dashboard.component.css	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -15,5 +15,4 @@
   
 .header {
-    min-height: 64px;
     padding: 8px 24px 0;
 }
@@ -31,2 +30,12 @@
     padding: 1em 0;
 }
+
+.btns {
+    display: flex;
+    flex-direction: row;
+    justify-content: flex-start;
+}
+
+.btns button {
+    margin: 0.5em 0.5em 0.5em 0;
+}
Index: Farmatiko/ClientApp/src/app/dashboard/dashboard.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/dashboard/dashboard.component.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/dashboard/dashboard.component.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -13,5 +13,4 @@
           <ul class="navbar-nav flex-grow">
             <li>Logged as <p *ngIf="head">{{head.Name}}</p> </li>
-            <li (click)="logout()" class="btn btn-link"><a>Logout</a></li>
           </ul>
         </div>
@@ -20,4 +19,5 @@
         <mat-menu #menu="matMenu">
           <button mat-menu-item [routerLink]="['/']"><mat-icon>directions</mat-icon>Почетна</button>
+          <button mat-menu-item (click)="logout()"><mat-icon>exit_to_app</mat-icon>Одјави се</button>
         </mat-menu>
       </div>
@@ -25,5 +25,5 @@
 </header>
 
-<mat-tab-group mat-stretch-tabs>
+<mat-tab-group dynamicHeight mat-stretch-tabs>
   <mat-tab class="tab" label="Мои аптеки"> 
   <div class="wrapper">
@@ -88,8 +88,15 @@
     <div class="header">
     <h2>Достапни лекови</h2>
-    <mat-form-field>
+    <div class="btns">
+      <button mat-raised-button color="primary" (click)="saveDeletedMedicines()" [disabled]="editedMedicine==false">Зачувај ги промените</button>
+      <button mat-raised-button color="accent" aria-label="Add medicine" (click)="addMedicine()">Додај нов лек</button>
+      <button mat-raised-button color="accent" aria-label="Add medicine" (click)="addMedicinesFromList()">Додај постоечки лекови</button>
+    </div><br/>
+    <mat-slide-toggle (click)="switchEditMedicineMode()">Edit mode</mat-slide-toggle>
+    
+    <mat-form-field *ngIf="!medicinesEditMode">
       <input matInput (keyup)="applyFilterMedicines($event.target.value)" placeholder="Пронајди лек">
     </mat-form-field>
-      </div>
+    </div>
       <table class='table table-striped table-bordered table-sm' cellspacing="0" width="100%" aria-labelledby="tableLabel" *ngIf="head">
         <thead>
@@ -102,16 +109,28 @@
             <th>Цена</th>
             <th>Пакување</th>
+            <th>Контроли</th>
           </tr>
         </thead>
         <tbody>
-          <tr *ngFor="let medicine of head.PharmacyMedicines">
-            <td><a (click)="openMedicineDialog(medicine)">{{ medicine.name }}</a></td>
-            <td>{{ medicine.strength }}</td>
-            <td>{{ medicine.form }}</td>
-            <td>{{ medicine.wayOfIssuing }}</td>
-            <td>{{ medicine.manufacturer }}</td>
-            <td>{{ medicine.price }}</td>
-            <td>{{ medicine.packaging }}</td>
-            <td><a (click)="deleteMedicine(medicine)">Delete</a></td>
+          <tr *ngFor="let medicine of filteredMedicines">
+            <td *ngIf="!medicinesEditMode"><a (click)="openMedicineDialog(medicine)">{{ medicine.name }}</a></td>
+            <td *ngIf="medicinesEditMode"><mat-form-field appearance="fill"><input matInput [(ngModel)]="medicine.name" name="medname"></mat-form-field></td>
+            <td *ngIf="!medicinesEditMode">{{ medicine.strength }}</td>
+            <td *ngIf="medicinesEditMode"><mat-form-field appearance="fill"><input matInput [(ngModel)]="medicine.strength" name="medstr"></mat-form-field></td>
+            <td *ngIf="!medicinesEditMode">{{ medicine.form }}</td>
+            <td *ngIf="medicinesEditMode"><mat-form-field appearance="fill"><input matInput [(ngModel)]="medicine.form" name="medform"></mat-form-field></td>
+            <td *ngIf="!medicinesEditMode">{{ medicine.wayOfIssuing }}</td>
+            <td *ngIf="medicinesEditMode"><mat-form-field appearance="fill"><input matInput [(ngModel)]="medicine.wayOfIssuing" name="medwayOfIssuing"></mat-form-field></td>
+            <td *ngIf="!medicinesEditMode">{{ medicine.manufacturer }}</td>
+            <td *ngIf="medicinesEditMode"><mat-form-field appearance="fill"><input matInput [(ngModel)]="medicine.manufacturer" name="medmanufacturer"></mat-form-field></td>
+            <td *ngIf="!medicinesEditMode">{{ medicine.price }}</td>
+            <td *ngIf="medicinesEditMode"><mat-form-field appearance="fill"><input matInput [(ngModel)]="medicine.price" name="medprice"></mat-form-field></td>
+            <td *ngIf="!medicinesEditMode">{{ medicine.packaging }}</td>
+            <td *ngIf="medicinesEditMode"><mat-form-field appearance="fill"><input matInput [(ngModel)]="medicine.packaging" name="medpackaging"></mat-form-field></td>
+            <td>
+              <button mat-mini-fab color="warn" aria-label="Delete medicine" (click)="deleteMedicine(medicine)">
+                <mat-icon>delete</mat-icon>
+              </button>
+            </td>
           </tr>
       </tbody>
Index: Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -9,4 +9,6 @@
 import { ActivatedRoute, Router } from '@angular/router';
 import { AuthService } from '../shared/services/auth.service';
+import { AddMedicineDialogComponent } from '../dialogs/add-medicine-dialog/add-medicine-dialog.component';
+import { ListMedicinesDialogComponent } from '../dialogs/list-medicines-dialog/list-medicines-dialog.component';
 
 @Component({
@@ -21,4 +23,6 @@
   public filteredMedicines: IMedicine[] = [];
   public request: IPharmacyHeadRequest;
+  editedMedicine: boolean = false;
+  medicinesEditMode: boolean = false;
 
   constructor(private dataService: DataService, private authService: AuthService, private dialog: MatDialog, private snackBar: MatSnackBar, private router: Router, private route: ActivatedRoute) {
@@ -37,7 +41,11 @@
         .subscribe((pharmacy: IPharmacy[]) => {
           this.pharmacies = pharmacy;
+          this.head.Pharmacy.forEach((pharma) => {
+            this.filteredPharmacies = this.pharmacies = this.pharmacies.filter(x => x == pharma);
+          });
         },
         (err: any) => console.log(err),
         () => console.log('Pharmacy data retrieved'));
+    this.filteredMedicines = this.head.PharmacyMedicines;
   }
   
@@ -83,15 +91,21 @@
   deleteMedicine(medicine: IMedicine){
     this.head.PharmacyMedicines = this.head.PharmacyMedicines.filter(x => x !== medicine);
+    this.filteredMedicines = this.head.PharmacyMedicines;
+    this.editedMedicine = true;
+  }
+  
+  saveDeletedMedicines() {
     this.dataService.updatePharmacyHead(this.head)
-        .subscribe((hd: IPharmacyHead) => {
-          if(hd) {
-            this.openSnackBar("Success! Medicine deleted", "OK");
-          }
-          else {
-            this.openSnackBar("Unable to delete Medicine", "Try again");
-          }
-        },
-        (err: any) => console.log(err),
-        () => console.log('Update sent!'));
+      .subscribe((hd: IPharmacyHead) => {
+        if(hd) {
+          this.openSnackBar("Success! Medicine deleted", "OK");
+          this.editedMedicine = false;
+        }
+        else {
+          this.openSnackBar("Unable to delete Medicine", "Try again");
+        }
+      },
+      (err: any) => console.log(err),
+      () => console.log('Update sent!'));
   }
 
@@ -99,13 +113,57 @@
     console.log("applyFilterMedicines works!")
     if(filterValue) {
-      this.dataService.searchMedicines(filterValue)
-          .subscribe((medicine: IMedicine[]) => {
-            this.filteredMedicines = medicine;
-          },
-          (err: any) => console.log(err),
-          () => console.log('Medicine data retrieved')); 
+      this.filteredMedicines = this.filteredMedicines.filter(x => x.name.toLocaleLowerCase().includes(filterValue.toLocaleLowerCase()));
     }
     else {
       this.filteredMedicines = this.head.PharmacyMedicines;
+    }
+  }
+
+  addMedicine() {
+    let dialogRef = this.dialog.open(AddMedicineDialogComponent, {
+      width: 'auto'
+    });
+    dialogRef.afterClosed().subscribe((newMedicine: IMedicine) => {
+      if(newMedicine){
+        this.head.PharmacyMedicines.push(newMedicine);
+        this.filteredMedicines = this.head.PharmacyMedicines;
+        if(this.editedMedicine == false) {
+          this.editedMedicine = true;
+        }
+        this.openSnackBar("Success! Medicine added, please save changes now", "OK");
+      }
+      else {
+        this.openSnackBar("Failed! Please try again", "OK");
+      }
+    }, () => this.openSnackBar("Failed! Please try again", "OK"));
+  }
+
+  addMedicinesFromList() {
+    let dialogRef = this.dialog.open(ListMedicinesDialogComponent, {
+      width: 'auto',
+      height: 'auto'
+    });
+    dialogRef.afterClosed().subscribe((listMedicines: IMedicine[]) => {
+      if(listMedicines){
+        listMedicines.forEach((medicine) => {
+          this.head.PharmacyMedicines = this.head.PharmacyMedicines.filter(x => x != medicine);
+          this.head.PharmacyMedicines.push(medicine);
+          this.filteredMedicines = this.head.PharmacyMedicines;
+        });
+        if(this.editedMedicine == false) {
+          this.editedMedicine = true;
+        }
+        this.openSnackBar("Success! Medicines added, please save changes now", "OK");
+      }
+      else {
+        this.openSnackBar("Failed! Please try again", "OK");
+      }
+    }, () => this.openSnackBar("Failed! Please try again", "OK"));
+  }
+
+  switchEditMedicineMode() {
+    this.medicinesEditMode = !this.medicinesEditMode;
+    if(this.editedMedicine == false) {
+      this.editedMedicine = true;
     }
   }
@@ -117,4 +175,7 @@
           .subscribe((pharmacy: IPharmacy[]) => {
             this.filteredPharmacies = pharmacy;
+            this.head.Pharmacy.forEach((pharma) => {
+              this.filteredPharmacies = this.filteredPharmacies.filter(x => x == pharma);
+            });
           },
           (err: any) => console.log(err),
@@ -123,5 +184,5 @@
     else {
       this.filteredPharmacies = this.pharmacies;
-    }    
+    }
   }
 
@@ -138,4 +199,5 @@
 
   openEditPharmacyDialog(pharmacy: IPharmacy): void {
+    console.log(pharmacy);
     let dialogRef = this.dialog.open(EditPharmacyDialogComponent, {
       width: '450px',
Index: Farmatiko/ClientApp/src/app/dialogs/edit-pharmacy-dialog/edit-pharmacy-dialog.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/dialogs/edit-pharmacy-dialog/edit-pharmacy-dialog.component.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/dialogs/edit-pharmacy-dialog/edit-pharmacy-dialog.component.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -13,20 +13,12 @@
     <div class="form-group">
       <label>Location</label>
-      <input type="text" class="form-control" [(ngModel)]="pharmacy.location" #email="ngModel" required />
+      <input type="text" class="form-control" name="location" [(ngModel)]="pharmacy.location" #location="ngModel" required />
       <div class="alert alert-danger" [hidden]="pharmacy.location">Location is required</div>
     </div>
     <div class="form-group">
         <label>Work 24/7</label>
-        <br />
         <div class="radio">
           <label>
-            <input type="radio" name="workAllTime" [(ngModel)]="pharmacy.workAllTime" #workAllTime="ngModel" value="true" required />
-            Да
-          </label>
-        </div>
-        <div class="radio">
-          <label>
-            <input type="radio" name="workAllTime" [(ngModel)]="pharmacy.workAllTime" #workAlltime="ngModel" value="false" required /> 
-            Не
+            <input type="checkbox" name="workAllTime" [(ngModel)]="pharmacy.workAllTime" #workAllTime="ngModel" [value]="pharmacy.workAllTime"/>
           </label>
         </div>
Index: Farmatiko/ClientApp/src/app/dialogs/edit-pharmacy-dialog/edit-pharmacy-dialog.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/dialogs/edit-pharmacy-dialog/edit-pharmacy-dialog.component.ts	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/dialogs/edit-pharmacy-dialog/edit-pharmacy-dialog.component.ts	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -19,4 +19,5 @@
 
   save() {
+    console.log(this.pharmacy);
     this.dialogRef.close(this.pharmacy);
   }
Index: Farmatiko/ClientApp/src/app/dialogs/list-medicines-dialog/list-medicines-dialog.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/dialogs/list-medicines-dialog/list-medicines-dialog.component.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/dialogs/list-medicines-dialog/list-medicines-dialog.component.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -21,5 +21,5 @@
       <tbody>
       	<tr *ngFor="let medicine of filteredListMedicines">
-      	  <td>>{{ medicine.name }}</td>
+      	  <td>{{ medicine.name }}</td>
       	  <td>{{ medicine.strength }}</td>
       	  <td>{{ medicine.form }}</td>
Index: Farmatiko/ClientApp/src/app/dialogs/list-medicines-dialog/list-medicines-dialog.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/dialogs/list-medicines-dialog/list-medicines-dialog.component.ts	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/dialogs/list-medicines-dialog/list-medicines-dialog.component.ts	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -10,5 +10,5 @@
 })
 export class ListMedicinesDialogComponent implements OnInit {
-  medicines: IMedicine[];
+  medicines: IMedicine[] = [];
   listMedicines: IMedicine[];
   filteredListMedicines: IMedicine[];
@@ -30,7 +30,5 @@
       this.medicines = this.medicines.filter(x => x != selectedMedicine);
     }
-    else {
-      this.medicines.push(selectedMedicine);
-    }
+    this.medicines.push(selectedMedicine);
   }
 
Index: Farmatiko/ClientApp/src/app/home/home.component.css
===================================================================
--- Farmatiko/ClientApp/src/app/home/home.component.css	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/home/home.component.css	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -12,5 +12,4 @@
 
 .header {
-  min-height: 64px;
   padding: 8px 24px 0;
 }
Index: Farmatiko/ClientApp/src/app/home/home.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/home/home.component.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/home/home.component.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -1,5 +1,5 @@
 <app-nav-menu></app-nav-menu>
 
-<mat-tab-group mat-stretch-tabs>
+<mat-tab-group dynamicHeight mat-stretch-tabs>
   <mat-tab class="tab" label="Лекови">
   <div class="wrapper">
Index: Farmatiko/ClientApp/src/app/nav-menu/nav-menu.component.html
===================================================================
--- Farmatiko/ClientApp/src/app/nav-menu/nav-menu.component.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/nav-menu/nav-menu.component.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -26,4 +26,11 @@
             <a class="nav-link text-dark" [routerLink]="['/koronavirus']">Коронавирус</a>
           </li>
+          <li *ngIf="loggedIn">
+            <button mat-button [matMenuTriggerFor]="menu"><mat-icon>more_vert</mat-icon></button>
+            <mat-menu #menu="matMenu">
+              <button mat-menu-item [routerLink]="['/dashboard']"><mat-icon>dashboard</mat-icon>Контролна табла</button>
+              <button mat-menu-item (click)="logout()"><mat-icon>exit_to_app</mat-icon>Одјави се</button>
+            </mat-menu>
+          </li>
         </ul>
       </div>
Index: Farmatiko/ClientApp/src/app/nav-menu/nav-menu.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/nav-menu/nav-menu.component.ts	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/app/nav-menu/nav-menu.component.ts	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -1,3 +1,4 @@
-import { Component } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
+import { AuthService } from '../shared/services/auth.service';
 
 @Component({
@@ -6,6 +7,21 @@
   styleUrls: ['./nav-menu.component.css']
 })
-export class NavMenuComponent {
+export class NavMenuComponent implements OnInit {
   isExpanded = false;
+  loggedIn: boolean = false;
+
+  constructor(private authService: AuthService) {
+    
+  }
+  
+  ngOnInit(): void {
+    if(localStorage.getItem('access_token')) {
+      this.loggedIn = true;
+    }
+  }
+
+  logout() {
+    this.authService.logout();
+  }
 
   collapse() {
Index: Farmatiko/ClientApp/src/custom-theme.scss
===================================================================
--- Farmatiko/ClientApp/src/custom-theme.scss	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/custom-theme.scss	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -14,5 +14,5 @@
 // hue. Available color palettes: https://material.io/design/color/
 $Farmatiko-primary: mat-palette($mat-green);
-$Farmatiko-accent: mat-palette($mat-pink, A200, A100, A400);
+$Farmatiko-accent: mat-palette($mat-cyan);
 
 // The warn palette is optional (defaults to red).
Index: Farmatiko/ClientApp/src/index.html
===================================================================
--- Farmatiko/ClientApp/src/index.html	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/ClientApp/src/index.html	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -7,5 +7,5 @@
 
     <meta name="viewport" content="width=device-width, initial-scale=1" />
-    <link rel="icon" type="image/x-icon" href="favicon.ico" />
+    <link rel="icon" type="image/x-icon" href="./favicon.ico" />
       <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap" rel="stylesheet">
     <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Index: Farmatiko/Controllers/FarmatikoController.cs
===================================================================
--- Farmatiko/Controllers/FarmatikoController.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/Controllers/FarmatikoController.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -24,8 +24,8 @@
         {
             //_JSONservice.DownloadPharmaciesExcel();
-            //_JSONservice.GetProcessedHealthcareWorkersFromJSON();
+            _JSONservice.GetProcessedHealthcareWorkersFromJSON();
             //_JSONservice.GetProcessedHealthFacilitiesFromJSON();
             //_JSONservice.GetProcessedMedicinesFromJSON();
-            _JSONservice.GetProcessedPandemicsFromJSONApi();
+            //_JSONservice.GetProcessedPandemicsFromJSONApi();
         }
         [HttpGet]
Index: Farmatiko/Controllers/PharmacyHeadController.cs
===================================================================
--- Farmatiko/Controllers/PharmacyHeadController.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ Farmatiko/Controllers/PharmacyHeadController.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -30,5 +30,5 @@
         [HttpGet]
         [Route("api/pharmacyhead/{Id}")]
-        public async Task<PharmacyHead> GetPharmacyHeadById([FromRoute]int Id)
+        public async Task<PharmacyHead> GetPharmacyHeadById([FromRoute] int Id)
         {
             var Phead = await _PHService.GetPharmacyHeadByIdAsync(Id);
@@ -36,12 +36,12 @@
         }
         //POST
-/*
-        [HttpPost]
-        [Route("api/pharmacyhead/add")]
-        public async Task<IActionResult> AddPharmacyHead([FromBody] PharmacyHead pharmacyHead)
-        {
-            bool Success = await _PHService.Add(pharmacyHead);
-            return Ok(Success);
-        }*/
+        /*
+                [HttpPost]
+                [Route("api/pharmacyhead/add")]
+                public async Task<IActionResult> AddPharmacyHead([FromBody] PharmacyHead pharmacyHead)
+                {
+                    bool Success = await _PHService.Add(pharmacyHead);
+                    return Ok(Success);
+                }*/
 
         /*[HttpPost]
@@ -49,9 +49,9 @@
         public async Task<int> Login([FromBody]PharmacyHead pharmacyHead)
         {
-            return await _PHService.Login(pharmacyHead);
+            return await _PHService.Login(pharmacyHead); 
         }*/
         [HttpPut]
         [Route("api/pharmacyhead/update")]
-        public async Task UpdatePharmacyHead([FromBody]PharmacyHead pharmacyHead)
+        public async Task UpdatePharmacyHead([FromBody] PharmacyHead pharmacyHead)
         {
             await _PHService.UpdatePharmacyHead(pharmacyHead);
@@ -59,5 +59,5 @@
         [HttpPost]
         [Route("api/pharmacyhead/requests")]
-        public async Task<IActionResult> ClaimPharmacy([FromBody]RequestPharmacyHead pharmacy)
+        public async Task<IActionResult> ClaimPharmacy([FromBody] RequestPharmacyHead pharmacy)
         {
             bool Success = await _PHService.ClaimPharmacy(pharmacy);
@@ -78,5 +78,5 @@
             return Ok(Success);
         }
-        
+
     }
 }
Index: FarmatikoData/FarmatikoDataContext.cs
===================================================================
--- FarmatikoData/FarmatikoDataContext.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoData/FarmatikoDataContext.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -7,5 +7,5 @@
     {
         public FarmatikoDataContext(DbContextOptions options) : base(options) { }
-        
+
 
         public virtual DbSet<HealthFacility> HealthFacilities { get; set; }
@@ -18,7 +18,9 @@
         public virtual DbSet<User> Users { get; set; }
         public virtual DbSet<PharmacyHeadMedicine> PharmacyHeadMedicines { get; set; }
-        
+
         protected override void OnModelCreating(ModelBuilder modelBuilder)
         {
+            modelBuilder.UseSerialColumns();
+
             modelBuilder.Entity<PharmacyHead>()
                 .ToTable("PharmacyHeads");
@@ -29,4 +31,28 @@
             modelBuilder.Entity<Pharmacy>()
                 .ToTable("Pharmacies");
+
+            modelBuilder.Entity<Medicine>()
+                .Property(x => x.Id)
+                .HasIdentityOptions(startValue: 1);
+
+            modelBuilder.Entity<Pharmacy>()
+                .Property(x => x.Id)
+                .HasIdentityOptions(startValue: 1);
+
+            modelBuilder.Entity<PharmacyHead>()
+                .Property(x => x.Id)
+                .HasIdentityOptions(startValue: 1);
+
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .Property(x => x.Id)
+                .HasIdentityOptions(startValue: 1);
+
+            modelBuilder.Entity<RequestPharmacyHead>()
+                .Property(x => x.Id)
+                .HasIdentityOptions(startValue: 1);
+
+            modelBuilder.Entity<User>()
+                .Property(x => x.Id)
+                .HasIdentityOptions(startValue: 1);
 
             modelBuilder.Entity<PharmacyHeadMedicine>()
@@ -47,20 +73,5 @@
                 .HasForeignKey(k => k.PheadId);
 
-            /*
-                modelBuilder.Entity<CarDetails>()
-            .ToTable("CarDetails");
 
-        modelBuilder.Entity<CarDetails>()
-            .Property(x => x.Type)
-            .HasConversion<int>();
-
-        modelBuilder.Entity<CarDetails>()
-            .HasMany(x => x.ImageUrls)
-            .WithOne(y => y.Car)
-            .HasForeignKey(y => y.CarId);                 
-             */
-
-            /*modelBuilder.Entity<PharmacyHead>()
-                .HasMany(x => x.PharmaciesList);*/
 
             base.OnModelCreating(modelBuilder);
Index: FarmatikoData/FarmatikoRepo/PHRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -50,5 +50,5 @@
             EditedPHead.PHMedicineList = pharmacyHead.PHMedicineList;
             //_context.Entry<PharmacyHead>(Phead).State = EntityState.Detached;
-            Phead = EditedPHead;
+            //Phead = EditedPHead;
             await _context.SaveChangesAsync();
         }
Index: FarmatikoData/FarmatikoRepo/Repository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/Repository.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoData/FarmatikoRepo/Repository.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -45,4 +45,5 @@
             var Medicines = await _context.Medicines.Select(x => new Medicine
             {
+                Id = x.Id,
                 Name = x.Name,
                 Strength = x.Strength,
@@ -268,4 +269,10 @@
             return phmeds;
         }
+
+        public async Task AddUser(User user)
+        {
+            await _context.Users.AddAsync(user);
+            await _context.SaveChangesAsync();
+        }
     }
 }
Index: FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -45,4 +45,5 @@
         User GetRole(string userName);
         ICollection<PharmacyHeadMedicine> GetPHMedicines(string email);
+        Task AddUser(User user);
     }
 }
Index: rmatikoData/Migrations/20201111183247_InitialMigration.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20201111183247_InitialMigration.Designer.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ 	(revision )
@@ -1,396 +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("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: rmatikoData/Migrations/20201111183247_InitialMigration.cs
===================================================================
--- FarmatikoData/Migrations/20201111183247_InitialMigration.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ 	(revision )
@@ -1,281 +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, 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/20201115222819_InitialMigration.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20201115222819_InitialMigration.Designer.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/Migrations/20201115222819_InitialMigration.Designer.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -0,0 +1,405 @@
+﻿// <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("20201115222819_InitialMigration")]
+    partial class InitialMigration
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
+                .HasAnnotation("ProductVersion", "3.1.10")
+                .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+            modelBuilder.Entity("FarmatikoData.Models.HealthFacility", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
+
+                    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.SerialColumn);
+
+                    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:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
+
+                    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.SerialColumn);
+
+                    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:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
+
+                    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:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
+
+                    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")
+                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'");
+
+                    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:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
+
+                    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:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
+
+                    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.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/20201115222819_InitialMigration.cs
===================================================================
--- FarmatikoData/Migrations/20201115222819_InitialMigration.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/Migrations/20201115222819_InitialMigration.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -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.SerialColumn),
+                    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.SerialColumn),
+                    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.SerialColumn),
+                    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.SerialColumn),
+                    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.SerialColumn),
+                    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.SerialColumn),
+                    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.SerialColumn),
+                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
+                    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.SerialColumn),
+                    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 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -16,6 +16,6 @@
 #pragma warning disable 612, 618
             modelBuilder
-                .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
-                .HasAnnotation("ProductVersion", "3.1.6")
+                .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
+                .HasAnnotation("ProductVersion", "3.1.10")
                 .HasAnnotation("Relational:MaxIdentifierLength", 63);
 
@@ -25,5 +25,5 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<string>("Address")
@@ -65,5 +65,5 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<string>("Branch")
@@ -99,5 +99,6 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<DateTime>("CreatedOn")
@@ -147,5 +148,5 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<long>("ActiveGlobal")
@@ -190,5 +191,6 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<string>("Address")
@@ -228,5 +230,6 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<DateTime>("CreatedOn")
@@ -268,5 +271,6 @@
 
                     b.Property<int>("Id")
-                        .HasColumnType("integer");
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'");
 
                     b.HasKey("PheadId", "MedicineId");
@@ -282,5 +286,6 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<DateTime>("CreatedOn")
@@ -310,5 +315,6 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
+                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
                     b.Property<DateTime>("CreatedOn")
@@ -319,10 +325,13 @@
 
                     b.Property<string>("Email")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
                         .HasColumnType("text");
 
                     b.Property<string>("Password")
+                        .IsRequired()
                         .HasColumnType("text");
 
Index: FarmatikoData/Models/PharmacyHead.cs
===================================================================
--- FarmatikoData/Models/PharmacyHead.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoData/Models/PharmacyHead.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -22,5 +22,4 @@
         public string Password { get; set; }
 
-
         [JsonProperty("PharmacyMedicines")]
         public List<Medicine> MedicineList { get; set; }
Index: FarmatikoData/Models/User.cs
===================================================================
--- FarmatikoData/Models/User.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoData/Models/User.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -2,4 +2,5 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Text;
 
@@ -13,6 +14,9 @@
             PharmacyHead
         }
+        [Required]
         public string Name { get; set; }
+        [Required]
         public string Email { get; set; }
+        [Required]
         public string Password { get; set; }
         public Role UserRole { get; set; }
Index: FarmatikoServices/Services/PHService.cs
===================================================================
--- FarmatikoServices/Services/PHService.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoServices/Services/PHService.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -5,5 +5,4 @@
 using System.Collections.Generic;
 using System.Linq;
-using System.Text;
 using System.Threading.Tasks;
 
@@ -64,11 +63,11 @@
                 var phead = _iPHRepo.GetPharmacyHead(pharmacyHead.Email);
 
-                if (pharmacyHead.PharmaciesList.Count() == 0)
-                    pharmacyHead.PharmaciesList = null;
+                /*if (pharmacyHead.PharmaciesList.Count() == 0)
+                    pharmacyHead.PharmaciesList = null;*/
 
 
                 phead.PHMedicineList = _repository.GetPHMedicines(phead.Email);
 
-                if (phead.MedicineList != pharmacyHead.MedicineList || phead != pharmacyHead)
+                if (phead.MedicineList != pharmacyHead.MedicineList)
                 {
                     phead.MedicineList = pharmacyHead.MedicineList;
@@ -83,20 +82,34 @@
                         return;
                     }
-                    foreach (var med in phead.MedicineList)
-                    {
-                        med.Id++;
-                        var PHMObj = phead.PHMedicineList.Select(x => new PharmacyHeadMedicine
+                    List<PharmacyHeadMedicine> PHMList = new List<PharmacyHeadMedicine>();
+                    if (phead.PHMedicineList == pharmacyHead.PHMedicineList)
+                    {
+                        foreach (var med in phead.MedicineList)
                         {
-                            PheadId = x.PheadId,
-                            Head = x.Head,
-                            MedicineId = x.MedicineId,
-                            Medicine = x.Medicine
-                        }).Where(x => x.MedicineId == med.Id).Single();
-                        list.Add(PHMObj);
+                            //list = phead.PHMedicineList.ToList();
+
+                            var PHMObj = phead.PHMedicineList.Select(x => new PharmacyHeadMedicine
+                            {
+                                Id = x.Id,
+                                PheadId = x.PheadId,
+                                Head = x.Head,
+                                MedicineId = x.MedicineId,
+                                Medicine = x.Medicine
+                            }).Where(x => x.MedicineId == med.Id).Single();
+                            if (PHMObj == null || PHMObj == default)
+                                break;
+                            if (PHMObj.MedicineId == med.Id)
+                                list.Add(PHMObj);
+
+                        }
+
+                        phead.PHMedicineList = list;
                     }
 
-                    phead.PHMedicineList = list;
-
                     await _iPHRepo.UpdatePharmacyHead(phead);
+                }
+                else if (!phead.Equals(pharmacyHead))
+                {
+                    await _iPHRepo.UpdatePharmacyHead(pharmacyHead);
                 }
                 else throw new Exception("Cannot update pharmacy head since there was no changes.");
@@ -154,11 +167,10 @@
                 if (user.UserRole.ToString().Equals("Admin"))
                 {
-                    var Admin = new
+                    var Admin = new PharmacyHead()
                     {
                         Id = user.Id,
                         Email = user.Email,
                         Name = user.Name,
-                        Passwd = user.Password,
-                        MedicineList = PHMedicines,
+                        Password = user.Password,
                         PharmaciesList = Phead.PharmaciesList
                     };
@@ -167,24 +179,32 @@
                 }
 
-                if (PheadPharms.Count() > 0)
-                    Phead.MedicineList = PHMedicineList;
+                if (PheadPharms.Count() > 0 || PheadPharms != null)
+                    Phead.PharmaciesList = PheadPharms;
                 else Phead.PharmaciesList = pharmacies;
 
-                if (Phead.PHMedicineList.Count() > 0)
+                if (Phead.PHMedicineList.Count() > 0 || Phead.PHMedicineList != null)
                 {
                     foreach (var med in Medicines)
                     {
-                        var PHMObj = Phead.PHMedicineList.Select(x => new PharmacyHeadMedicine
+
+                        var PHMObj = Phead.PHMedicineList.Where(x => x.MedicineId == med.Id).SingleOrDefault();
+                        if (PHMObj == null)
                         {
-                            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;
+                            continue;
+                        }
+                        var phm = Phead.MedicineList;
                         if (PHMObj.MedicineId == med.Id)
                         {
-                            Medicine medicine = new Medicine(med.Name, med.Strength, med.Form, med.WayOfIssuing, med.Manufacturer, med.Price, med.Packaging);
+                            var medicine = new Medicine()
+                            {
+                                Id = med.Id,
+                                Name = med.Name,
+                                Strength = med.Strength,
+                                Form = med.Form,
+                                WayOfIssuing = med.WayOfIssuing,
+                                Manufacturer = med.Manufacturer,
+                                Price = med.Price,
+                                Packaging = med.Packaging
+                            };
                             PHMedicineList.Add(medicine);
                         }
Index: FarmatikoServices/Services/Service.cs
===================================================================
--- FarmatikoServices/Services/Service.cs	(revision 8b13eb2317b2e7d696c9fee54d24a67a25e17b50)
+++ FarmatikoServices/Services/Service.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
@@ -128,14 +128,23 @@
 
         // Ovaa kontrola ja ima samo admin
+        public User MakeUser(PharmacyHead head)
+        {
+            var users = _repository.GetUsers();
+            
+            User user = new User()
+            {
+                Name = head.Name,
+                Password = head.Password,
+                Email = head.Email,
+                UserRole = User.Role.PharmacyHead
+            };
+            return user;
+        }
         public async Task AddPharmacyHead(PharmacyHead pharmacyHead)
         {
             if (pharmacyHead != null)
             {
-                /*var Medicines = await _repository.GetMedicinesAsync();
-                foreach (var med in Medicines)
-                {
-                    pharmacyHead.MedicineList.Add(med);
-                }*/
-                
+                var user = MakeUser(pharmacyHead);
+                await _repository.AddUser(user);                
                 await _repository.AddPharmacyHead(pharmacyHead);
             }
