Index: Farmatiko/Controllers/AdminController.cs
===================================================================
--- Farmatiko/Controllers/AdminController.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ Farmatiko/Controllers/AdminController.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -3,4 +3,5 @@
 using System.Linq;
 using System.Threading.Tasks;
+using FarmatikoData.DTOs;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -46,5 +47,5 @@
         {
             await _service.AddPharmacyHead(pharmacyHead);
-            return Ok();
+            return Ok("Pharmacy added.");
         }
 
@@ -65,7 +66,6 @@
         [HttpPost]
         [Route("api/pharmacyhead/{Id}")]
-        public async Task<IActionResult> ApproveRequest([FromRoute]int Id, [FromBody]PharmacyHead pharmacyHead)
+        public async Task<IActionResult> ApproveRequest([FromRoute]int Id, [FromBody]PharmacyHeadDto pharmacyHead)
         {
-            int id = Id;
             await _phservice.UpdatePharmacyHead(pharmacyHead);
             return Ok();
Index: Farmatiko/Controllers/FarmatikoController.cs
===================================================================
--- Farmatiko/Controllers/FarmatikoController.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ Farmatiko/Controllers/FarmatikoController.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -24,5 +24,5 @@
         {
             //_JSONservice.DownloadPharmaciesExcel();
-            _JSONservice.GetProcessedHealthcareWorkersFromJSON();
+            //_JSONservice.GetProcessedHealthcareWorkersFromJSON();
             //_JSONservice.GetProcessedHealthFacilitiesFromJSON();
             //_JSONservice.GetProcessedMedicinesFromJSON();
Index: Farmatiko/Controllers/LoginController.cs
===================================================================
--- Farmatiko/Controllers/LoginController.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ Farmatiko/Controllers/LoginController.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -82,7 +82,4 @@
         public ActionResult Logout()
         {
-            // optionally "revoke" JWT token on the server side --> add the current token to a block-list
-            // https://github.com/auth0/node-jsonwebtoken/issues/375
-
             var userName = User.Identity.Name;
             _jwtAuthManager.RemoveRefreshTokenByUserName(userName);
Index: Farmatiko/Controllers/PharmacyHeadController.cs
===================================================================
--- Farmatiko/Controllers/PharmacyHeadController.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ Farmatiko/Controllers/PharmacyHeadController.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -1,4 +1,5 @@
 ﻿using System.Collections.Generic;
 using System.Threading.Tasks;
+using FarmatikoData.DTOs;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -19,13 +20,5 @@
 
         //GET
-        /*
-        [HttpGet]
-        [Route("api/pharmacyhead")]
-        public async Task<IEnumerable<PharmacyHead>> GetPharmacyHeadInfo()
-        {
-            var PHeads = await _PHService.GetPharmacyHeadInfo();
-            return PHeads;
-        }*/
-
+        
         [HttpGet]
         [Route("api/pharmacyhead/{Id}")]
@@ -36,24 +29,11 @@
         }
         //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/login")]
-        public async Task<int> Login([FromBody]PharmacyHead pharmacyHead)
-        {
-            return await _PHService.Login(pharmacyHead); 
-        }*/
+        
         [HttpPut]
         [Route("api/pharmacyhead/update")]
-        public async Task UpdatePharmacyHead([FromBody] PharmacyHead pharmacyHead)
+        public async Task<IActionResult> UpdatePharmacyHead([FromBody] PharmacyHeadDto pharmacyHead)
         {
             await _PHService.UpdatePharmacyHead(pharmacyHead);
+            return Ok();
         }
         [HttpPost]
Index: FarmatikoData/DTOs/PharmacyHeadDto.cs
===================================================================
--- FarmatikoData/DTOs/PharmacyHeadDto.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
+++ FarmatikoData/DTOs/PharmacyHeadDto.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -0,0 +1,34 @@
+﻿using FarmatikoData.Models;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace FarmatikoData.DTOs
+{
+    public class PharmacyHeadDto
+    {
+        /*
+         id?: string;
+         PharmacyMedicines?: IMedicine[];
+         Pharmacy?: IPharmacy[];
+         Email: string;
+         Name: string;
+         Passwd: string;
+         originalUserName?: string;
+         Role?: string;
+        */
+        [JsonProperty("id")]
+        public int Id { get; set; }
+        [JsonProperty("PharmacyMedicines")]
+        public List<Medicine> Medicines { get; set; }
+        [JsonProperty("Pharmacy")]
+        public List<Pharmacy> Pharmacies { get; set; }
+        [JsonProperty("Email")]
+        public string Email { get; set; }
+        [JsonProperty("Name")]
+        public string Name { get; set; }
+        [JsonProperty("Passwd")]
+        public string Password { get; set; }
+    }
+}
Index: FarmatikoData/FarmatikoDataContext.cs
===================================================================
--- FarmatikoData/FarmatikoDataContext.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/FarmatikoDataContext.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -9,13 +9,13 @@
 
 
-        public virtual DbSet<HealthFacility> HealthFacilities { get; set; }
-        public virtual DbSet<HealthcareWorker> HealthcareWorkers { get; set; }
-        public virtual DbSet<Pharmacy> Pharmacies { get; set; }
-        public virtual DbSet<PharmacyHead> PharmacyHeads { get; set; }
-        public virtual DbSet<Pandemic> Pandemics { get; set; }
-        public virtual DbSet<Medicine> Medicines { get; set; }
-        public virtual DbSet<RequestPharmacyHead> PHRequests { get; set; }
-        public virtual DbSet<User> Users { get; set; }
-        public virtual DbSet<PharmacyHeadMedicine> PharmacyHeadMedicines { get; set; }
+        public DbSet<HealthFacility> HealthFacilities { get; set; }
+        public DbSet<HealthcareWorker> HealthcareWorkers { get; set; }
+        public DbSet<Pharmacy> Pharmacies { get; set; }
+        public DbSet<PharmacyHead> PharmacyHeads { get; set; }
+        public DbSet<Pandemic> Pandemics { get; set; }
+        public DbSet<Medicine> Medicines { get; set; }
+        public DbSet<RequestPharmacyHead> PHRequests { get; set; }
+        public DbSet<User> Users { get; set; }
+        public DbSet<PharmacyHeadMedicine> PharmacyHeadMedicines { get; set; }
 
         protected override void OnModelCreating(ModelBuilder modelBuilder)
@@ -31,4 +31,10 @@
             modelBuilder.Entity<Pharmacy>()
                 .ToTable("Pharmacies");
+
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .ToTable("PharmacyHeadMedicines");
+
+            modelBuilder.Entity<RequestPharmacyHead>()
+                .ToTable("PHRequests");
 
             modelBuilder.Entity<Medicine>()
@@ -52,5 +58,5 @@
                 .HasIdentityOptions(startValue: 1);
 
-            modelBuilder.Entity<User>()
+            /*modelBuilder.Entity<User>()
                 .Property(x => x.Id)
                 .HasIdentityOptions(startValue: 1);
@@ -58,21 +64,15 @@
             modelBuilder.Entity<PharmacyHeadMedicine>()
                 .HasKey(phm => new { phm.PheadId, phm.MedicineId });
-            modelBuilder.Entity<PharmacyHeadMedicine>()
-                .HasOne(ph => ph.Head)
-                .WithMany(m => m.PHMedicineList)
-                .HasForeignKey(k => k.PheadId);
-
-            modelBuilder.Entity<PharmacyHeadMedicine>()
-                .HasOne(m => m.Medicine)
-                .WithMany(ml => ml.MedicineList)
-                .HasForeignKey(k => k.MedicineId);
 
             modelBuilder.Entity<PharmacyHead>()
-                .HasMany(p => p.PharmaciesList)
-                .WithOne(h => h.PHead)
-                .HasForeignKey(k => k.PheadId);
+                .HasMany<Pharmacy>(p => p.Pharmacy)
+                .WithOne(p => p.PharmacyHead)
+                .HasForeignKey();
 
-
-
+            modelBuilder.Entity<Pharmacy>()
+                .HasOne<PharmacyHead>(p => p.PharmacyHead)
+                .WithMany(p => p.Pharmacy);
+            */
+            
             base.OnModelCreating(modelBuilder);
         }
Index: FarmatikoData/FarmatikoRepo/AdminRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/AdminRepo.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/FarmatikoRepo/AdminRepo.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -27,13 +27,17 @@
         public async Task<IEnumerable<PharmacyHead>> GetPharmacyHeads()
         {
-            var PHeads = await _context.PharmacyHeads.OrderBy(x => x.Name).ToListAsync();
+            var PHeads = await _context.PharmacyHeads
+                .Include(x => x.Medicines)
+                .Include(x => x.Pharmacies)
+                .OrderBy(x => x.Name)
+                .ToListAsync();
             return PHeads;
         }
         //POST
-        public void RemoveClaimRequest(int Id)
+        public async void RemoveClaimRequest(int Id)
         {
             var req = _context.PHRequests.Where(x => x.Id == Id).FirstOrDefault();
             _context.PHRequests.Remove(req);
-            _context.SaveChanges();
+            await _context.SaveChangesAsync();
         }
     }
Index: FarmatikoData/FarmatikoRepo/PHRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -24,5 +24,6 @@
         public async Task<IEnumerable<PharmacyHead>> GetPharmacyHeadInfo()
         {
-            var PHeadInfo = await _context.PharmacyHeads.Take(10).Where(x => x.DeletedOn == null)
+            var PHeadInfo = await _context.PharmacyHeads.Take(10)
+                .Where(x => x.DeletedOn == null)
                 .Select(x => new PharmacyHead
                 {
@@ -31,6 +32,7 @@
                     Email = x.Email,
                     Password = x.Password,
-                    MedicineList = x.MedicineList,
-                    PharmaciesList = x.PharmaciesList
+                    Pharmacies = x.Pharmacies,
+                    Medicines = x.Medicines
+
                 }).ToListAsync();
             return PHeadInfo;
@@ -41,14 +43,20 @@
             var Phead = await _context.PharmacyHeads.Where(x => x.Email == pharmacyHead.Email).FirstOrDefaultAsync();
             var EditedPHead = await _context.PharmacyHeads.AsNoTracking<PharmacyHead>().Where(x => x.Email == pharmacyHead.Email).FirstOrDefaultAsync();
-            EditedPHead.Email = pharmacyHead.Email;
-            EditedPHead.Name = pharmacyHead.Name;
-            EditedPHead.Password = pharmacyHead.Password;
-            /*if (pharmacyHead.MedicineList.Count() == 0)
-                pharmacyHead.MedicineList = null;*/
-            EditedPHead.MedicineList = pharmacyHead.MedicineList;
-            EditedPHead.PharmaciesList = pharmacyHead.PharmaciesList;
-            EditedPHead.PHMedicineList = pharmacyHead.PHMedicineList;
-            //_context.Entry<PharmacyHead>(Phead).State = EntityState.Detached;
-            //Phead = EditedPHead;
+
+            if (!EditedPHead.Email.Equals(pharmacyHead.Email))
+                EditedPHead.Email = pharmacyHead.Email;
+
+            if (!EditedPHead.Name.Equals(pharmacyHead.Name))
+                EditedPHead.Name = pharmacyHead.Name;
+
+            if (!EditedPHead.Password.Equals(pharmacyHead.Password))
+                EditedPHead.Password = pharmacyHead.Password;
+
+            if (!EditedPHead.Pharmacies.Equals(pharmacyHead.Pharmacies))
+                EditedPHead.Pharmacies = pharmacyHead.Pharmacies;
+
+            if (!EditedPHead.Medicines.Equals(pharmacyHead.Medicines))
+                EditedPHead.Medicines = pharmacyHead.Medicines;
+
             await _context.SaveChangesAsync();
         }
@@ -81,7 +89,18 @@
         public PharmacyHead GetPharmacyHeadByUserName(string userName)
         {
+
+                       
             var PHead = _context.PharmacyHeads
                 .Where(x => x.Email.Equals(userName))
-                .FirstOrDefault();
+                .Select(x => new PharmacyHead 
+                {
+                   Email = x.Email,
+                   Name = x.Name,
+                   Password = x.Password,
+                   Medicines = x.Medicines,
+                   Pharmacies = x.Pharmacies
+                }).FirstOrDefault();
+
+            
 
             return PHead;
@@ -90,14 +109,17 @@
         public List<PharmacyHeadMedicine> GetPharmacyHeadMedicines(string email)
         {
-            /*var meds = _context.Medicines.ToList();
-            var medicines = Medicines;*/
             var Phead = _context.PharmacyHeads.Where(x => x.Email.Equals(email)).FirstOrDefault();
-            var Medicines = _context.PharmacyHeadMedicines.Where(x => x.PheadId == Phead.Id).ToList();
-                /*.Select(x => x.Head.MedicineList)
-                .SelectMany(mList => mList)
-                .ToList();*/
+            var Medicines = _context.PharmacyHeadMedicines.Select(x => new PharmacyHeadMedicine 
+            { 
+                PheadId = x.PheadId,
+                Head = x.Head,
+                MedicineId = x.MedicineId,
+                Medicine = x.Medicine
+            }).ToList();
+            if (Medicines == null || Medicines == default)
+                Medicines = null;
+            var meds = Medicines.Where(x => x.PheadId == Phead.Id).ToList();
 
-
-            return Medicines;
+            return meds;
         }
 
Index: FarmatikoData/FarmatikoRepo/Repository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/Repository.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/FarmatikoRepo/Repository.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -86,5 +86,5 @@
             var SearchQuery = await _context.HealthFacilities
             .Where(x => x.Name.Contains(query))
-            .OrderBy(x => x.Name).Take(3).ToListAsync();
+            .OrderBy(x => x.Name).ToListAsync();
 
             return SearchQuery;
@@ -95,5 +95,5 @@
             var SearchQuery = await _context.Medicines
             .Where(x => x.Name.Contains(query))
-            .OrderBy(x => x.Name).Take(5).ToListAsync();
+            .OrderBy(x => x.Name).ToListAsync();
 
             return SearchQuery;
@@ -104,5 +104,5 @@
             var SearchQuery = await _context.Pharmacies.Take(5)
             .Where(x => x.Name.Contains(query))
-            .OrderBy(x => x.Name).Take(5).ToListAsync();
+            .OrderBy(x => x.Name).ToListAsync();
 
             return SearchQuery;
@@ -113,5 +113,5 @@
             var SearchQuery = await _context.HealthcareWorkers.Take(5)
             .Where(x => x.Name.Contains(query))
-            .OrderBy(x => x.Name).Take(5).ToListAsync();
+            .OrderBy(x => x.Name).ToListAsync();
 
             return SearchQuery;
@@ -170,11 +170,11 @@
             Facility.Phone = healthFacility.Phone;
             Facility.Type = healthFacility.Type;
-            _context.SaveChanges();
+            await _context.SaveChangesAsync();
         }
 
         public async Task RemoveMedicine(Medicine medicine)
         {
-            await Task.Run(() => _context.Medicines.Remove(medicine));
-            _context.SaveChanges();
+            _context.Medicines.Remove(medicine);
+            await _context.SaveChangesAsync();
         }
 
@@ -190,11 +190,11 @@
             Pandemic.TotalGlobal = pandemic.TotalGlobal;
             Pandemic.TotalMK = pandemic.TotalMK;
-            _context.SaveChanges();
+            await _context.SaveChangesAsync();
         }
 
         public async Task RemovePharmacy(Pharmacy pharmacy)
         {
-            await Task.Run(() => _context.Pharmacies.Remove(pharmacy));
-            _context.SaveChanges();
+            _context.Pharmacies.Remove(pharmacy);
+            await _context.SaveChangesAsync();
         }
         //not impl
@@ -211,7 +211,7 @@
             Pharmacy.WorkAllTime = pharmacy.WorkAllTime;
             Pharmacy.Address = pharmacy.Address;
-            _context.SaveChanges();
-        }
-        //ke vidime
+            await _context.SaveChangesAsync();
+        }
+        //not implemented, not needed 
         public Task UpdateMedicine(Medicine medicine)
         {
@@ -223,5 +223,5 @@
             var PHead = await _context.PharmacyHeads.Where(x => x.Id == Id).FirstOrDefaultAsync();
             PHead.DeletedOn = DateTime.UtcNow;
-            _context.SaveChanges();
+            await _context.SaveChangesAsync();
         }
 
@@ -236,4 +236,5 @@
                 UserRole = x.UserRole
             });
+            
             return users;
         }
@@ -257,5 +258,5 @@
                 Price = x.Price,
                 Packaging = x.Packaging,
-                MedicineList = x.MedicineList
+                Medicines = x.Medicines
 
             }).ToList();
@@ -266,5 +267,5 @@
         {
             var head = _context.PharmacyHeads.Where(x => x.Email.Equals(email)).FirstOrDefault();
-            var phmeds = _context.PharmacyHeadMedicines.Where(x => x.PheadId == head.Id).ToList();
+            var phmeds = _context.PharmacyHeadMedicines.Where(x => x.PheadId == head.Id).Include(x => x.Medicine).ToList();
             return phmeds;
         }
Index: rmatikoData/Migrations/20201115222819_InitialMigration.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20201115222819_InitialMigration.Designer.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ 	(revision )
@@ -1,405 +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("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: rmatikoData/Migrations/20201115222819_InitialMigration.cs
===================================================================
--- FarmatikoData/Migrations/20201115222819_InitialMigration.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ 	(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.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/20210124191844_InitialMigration.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20210124191844_InitialMigration.Designer.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
+++ FarmatikoData/Migrations/20210124191844_InitialMigration.Designer.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -0,0 +1,410 @@
+﻿// <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("20210124191844_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<float>("Price")
+                        .HasColumnType("real");
+
+                    b.Property<string>("Strength")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("WayOfIssuing")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Medicines");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.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?>("PharmacyHeadId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("PheadId")
+                        .HasColumnType("integer");
+
+                    b.Property<bool>("WorkAllTime")
+                        .HasColumnType("boolean");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("PharmacyHeadId");
+
+                    b.ToTable("Pharmacies");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHead", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasAnnotation("Npgsql: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?>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("PharmacyHeads");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", 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>("MedicineId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("PheadId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("HeadId");
+
+                    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: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.Pharmacy", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "PharmacyHead")
+                        .WithMany("Pharmacies")
+                        .HasForeignKey("PharmacyHeadId");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHead", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.User", "User")
+                        .WithMany()
+                        .HasForeignKey("UserId");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
+                        .WithMany("Medicines")
+                        .HasForeignKey("HeadId");
+
+                    b.HasOne("FarmatikoData.Models.Medicine", "Medicine")
+                        .WithMany("Medicines")
+                        .HasForeignKey("MedicineId")
+                        .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/20210124191844_InitialMigration.cs
===================================================================
--- FarmatikoData/Migrations/20210124191844_InitialMigration.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
+++ FarmatikoData/Migrations/20210124191844_InitialMigration.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -0,0 +1,289 @@
+﻿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: "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)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Medicines", x => x.Id);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "Pandemics",
+                columns: table => new
+                {
+                    Id = table.Column<int>(nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.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: "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: "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),
+                    UserId = table.Column<int>(nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_PharmacyHeads_Users_UserId",
+                        column: x => x.UserId,
+                        principalTable: "Users",
+                        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),
+                    PharmacyHeadId = table.Column<int>(nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Pharmacies", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_Pharmacies_PharmacyHeads_PharmacyHeadId",
+                        column: x => x.PharmacyHeadId,
+                        principalTable: "PharmacyHeads",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Restrict);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "PharmacyHeadMedicines",
+                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),
+                    PheadId = table.Column<int>(nullable: false),
+                    HeadId = table.Column<int>(nullable: true),
+                    MedicineId = table.Column<int>(nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_PharmacyHeadMedicines", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_PharmacyHeadMedicines_PharmacyHeads_HeadId",
+                        column: x => x.HeadId,
+                        principalTable: "PharmacyHeads",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_PharmacyHeadMedicines_Medicines_MedicineId",
+                        column: x => x.MedicineId,
+                        principalTable: "Medicines",
+                        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_Pharmacies_PharmacyHeadId",
+                table: "Pharmacies",
+                column: "PharmacyHeadId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_PharmacyHeadMedicines_HeadId",
+                table: "PharmacyHeadMedicines",
+                column: "HeadId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_PharmacyHeadMedicines_MedicineId",
+                table: "PharmacyHeadMedicines",
+                column: "MedicineId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_PharmacyHeads_UserId",
+                table: "PharmacyHeads",
+                column: "UserId");
+
+            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: "HealthFacilities");
+
+            migrationBuilder.DropTable(
+                name: "Medicines");
+
+            migrationBuilder.DropTable(
+                name: "Pharmacies");
+
+            migrationBuilder.DropTable(
+                name: "PharmacyHeads");
+
+            migrationBuilder.DropTable(
+                name: "Users");
+        }
+    }
+}
Index: FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs
===================================================================
--- FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -122,7 +122,4 @@
                         .HasColumnType("text");
 
-                    b.Property<int?>("PharmacyHeadId")
-                        .HasColumnType("integer");
-
                     b.Property<float>("Price")
                         .HasColumnType("real");
@@ -138,6 +135,4 @@
                     b.HasKey("Id");
 
-                    b.HasIndex("PharmacyHeadId");
-
                     b.ToTable("Medicines");
                 });
@@ -212,4 +207,7 @@
                         .HasColumnType("text");
 
+                    b.Property<int?>("PharmacyHeadId")
+                        .HasColumnType("integer");
+
                     b.Property<int>("PheadId")
                         .HasColumnType("integer");
@@ -220,5 +218,5 @@
                     b.HasKey("Id");
 
-                    b.HasIndex("PheadId");
+                    b.HasIndex("PharmacyHeadId");
 
                     b.ToTable("Pharmacies");
@@ -251,5 +249,10 @@
                         .HasColumnType("text");
 
-                    b.HasKey("Id");
+                    b.Property<int?>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
 
                     b.ToTable("PharmacyHeads");
@@ -258,21 +261,28 @@
             modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", 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>("MedicineId")
+                        .HasColumnType("integer");
+
                     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.HasKey("Id");
+
+                    b.HasIndex("HeadId");
 
                     b.HasIndex("MedicineId");
@@ -315,5 +325,4 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
-                        .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
                         .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
 
@@ -353,31 +362,27 @@
                 });
 
-            modelBuilder.Entity("FarmatikoData.Models.Medicine", b =>
-                {
-                    b.HasOne("FarmatikoData.Models.PharmacyHead", null)
-                        .WithMany("MedicineList")
+            modelBuilder.Entity("FarmatikoData.Models.Pharmacy", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "PharmacyHead")
+                        .WithMany("Pharmacies")
                         .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.PharmacyHead", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.User", "User")
+                        .WithMany()
+                        .HasForeignKey("UserId");
                 });
 
             modelBuilder.Entity("FarmatikoData.Models.PharmacyHeadMedicine", b =>
                 {
+                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
+                        .WithMany("Medicines")
+                        .HasForeignKey("HeadId");
+
                     b.HasOne("FarmatikoData.Models.Medicine", "Medicine")
-                        .WithMany("MedicineList")
+                        .WithMany("Medicines")
                         .HasForeignKey("MedicineId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-
-                    b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
-                        .WithMany("PHMedicineList")
-                        .HasForeignKey("PheadId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
Index: FarmatikoData/Models/Medicine.cs
===================================================================
--- FarmatikoData/Models/Medicine.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/Models/Medicine.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -23,5 +23,5 @@
         public string Packaging { get; set; }
         //[JsonPropertyName("PHMedicineList")]
-        public ICollection<PharmacyHeadMedicine> MedicineList { get; set; }
+        public ICollection<PharmacyHeadMedicine> Medicines { get; set; }
         public Medicine(string Name, string Strength, string Form, string WayOfIssuing, string Manufacturer, float Price, string Packaging)
         {
Index: FarmatikoData/Models/Pharmacy.cs
===================================================================
--- FarmatikoData/Models/Pharmacy.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/Models/Pharmacy.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -27,5 +27,5 @@
         }
         public int PheadId { get; set; }
-        public PharmacyHead PHead { get; internal set; }
+        public PharmacyHead PharmacyHead { get; set; }
     }
 }
Index: FarmatikoData/Models/PharmacyHead.cs
===================================================================
--- FarmatikoData/Models/PharmacyHead.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoData/Models/PharmacyHead.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -21,11 +21,10 @@
         [JsonProperty("Passwd")]
         public string Password { get; set; }
+        [JsonProperty("PharmacyList")]
+        public virtual List<Pharmacy> Pharmacies { get; set; }
+        public virtual List<PharmacyHeadMedicine> Medicines { get; set; }
+        
+        public User User { get; set; }
 
-        [JsonProperty("PharmacyMedicines")]
-        public List<Medicine> MedicineList { get; set; }
-        [JsonProperty("Pharmacy")]
-        public ICollection<Pharmacy> PharmaciesList { get; set; }
-        //[JsonProperty("PHMedicineList")]
-        public ICollection<PharmacyHeadMedicine> PHMedicineList { get; set; }
 
     }
Index: FarmatikoServices/FarmatikoServiceInterfaces/IPHService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IPHService.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IPHService.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -1,3 +1,4 @@
-﻿using FarmatikoData.Models;
+﻿using FarmatikoData.DTOs;
+using FarmatikoData.Models;
 using System;
 using System.Collections.Generic;
@@ -11,12 +12,12 @@
     {
         Task<IEnumerable<PharmacyHead>> GetPharmacyHeadInfo();
-        Task UpdatePharmacyHead(PharmacyHead pharmacyHead);
+        Task UpdatePharmacyHead(PharmacyHeadDto pharmacyHead);
         Task<int> Login(PharmacyHead pharmacyHead);
         Task<bool> ClaimPharmacy(RequestPharmacyHead pharmacy);
         Task<PharmacyHead> GetPharmacyHeadByIdAsync(int id);
-        Task<bool> Add(PharmacyHead pharmacyHead);
+        Task<bool> Add(PharmacyHeadDto pharmacyHead);
         Task<bool> Remove(int id);
         Task<bool> RemoveClaimingRequest(int id);
-        object GetPharmacyHead(string userName);
+        PharmacyHeadDto GetPharmacyHead(string userName);
     }
 }
Index: FarmatikoServices/Services/PHService.cs
===================================================================
--- FarmatikoServices/Services/PHService.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoServices/Services/PHService.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -1,3 +1,4 @@
-﻿using FarmatikoData.FarmatikoRepoInterfaces;
+﻿using FarmatikoData.DTOs;
+using FarmatikoData.FarmatikoRepoInterfaces;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -57,5 +58,5 @@
 
 
-        public async Task UpdatePharmacyHead(PharmacyHead pharmacyHead)
+        public async Task UpdatePharmacyHead(PharmacyHeadDto pharmacyHead)
         {
             if (pharmacyHead != null)
@@ -63,53 +64,59 @@
                 var phead = _iPHRepo.GetPharmacyHead(pharmacyHead.Email);
 
-                /*if (pharmacyHead.PharmaciesList.Count() == 0)
-                    pharmacyHead.PharmaciesList = null;*/
-
-
-                phead.PHMedicineList = _repository.GetPHMedicines(phead.Email);
-
-                if (phead.MedicineList != pharmacyHead.MedicineList)
-                {
-                    phead.MedicineList = pharmacyHead.MedicineList;
-                    List<PharmacyHeadMedicine> list = new List<PharmacyHeadMedicine>();
-                    if (pharmacyHead.MedicineList.Count() == 0)
-                    {
-                        phead.MedicineList = null;
-                        int PHMId = phead.PHMedicineList.Select(x => x.Id).Single();
-                        int phId = phead.PHMedicineList.Select(x => x.PheadId).Single();
-                        int medId = phead.PHMedicineList.Select(x => x.MedicineId).Single();
+                phead.Medicines = _repository.GetPHMedicines(phead.Email).ToList();
+                
+                List<Medicine> medicines = _repository.GetMedicines().ToList();
+                
+                List<Medicine> PHMedicines = medicines.Where(x => x.Id == phead.Medicines.Select(x => x.MedicineId).Single()).ToList();
+                
+                List<PharmacyHeadMedicine> list = new List<PharmacyHeadMedicine>();
+
+                
+
+                if (!pharmacyHead.Medicines.Equals(PHMedicines))
+                {
+                    //phead.Medicines = pharmacyHead.Medicines;
+                    if (pharmacyHead.Medicines.Count() == 0)
+                    {
+                        phead.Medicines = null;
+                        int PHMId = phead.Medicines.Select(x => x.Id).Single();
+                        int phId = phead.Medicines.Select(x => x.PheadId).Single();
+                        int medId = phead.Medicines.Select(x => x.MedicineId).Single();
                         _iPHRepo.DeletePHMedicine(PHMId, phId, medId);
                         return;
                     }
-                    List<PharmacyHeadMedicine> PHMList = new List<PharmacyHeadMedicine>();
-                    if (phead.PHMedicineList == pharmacyHead.PHMedicineList)
-                    {
-                        foreach (var med in phead.MedicineList)
+                    foreach (var med in pharmacyHead.Medicines)
+                    {
+
+                        PharmacyHeadMedicine PHMObj = phead.Medicines.Select(x => new PharmacyHeadMedicine
                         {
-                            //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;
+                            Id = x.Id,
+                            PheadId = x.PheadId,
+                            Head = x.Head,
+                            MedicineId = x.MedicineId,
+                            Medicine = x.Medicine
+                        }).Where(x => !x.Medicine.Equals(med)).Single();
+                        if (PHMObj == null || PHMObj == default)
+                            break;
+                        if (PHMObj.MedicineId == med.Id)
+                            list.Add(PHMObj);
+
                     }
 
+                    phead.Medicines = list;
+
                     await _iPHRepo.UpdatePharmacyHead(phead);
                 }
-                else if (!phead.Equals(pharmacyHead))
-                {
-                    await _iPHRepo.UpdatePharmacyHead(pharmacyHead);
+                PharmacyHead head = new PharmacyHead()
+                {
+                    Name = pharmacyHead.Name,
+                    Email = pharmacyHead.Email,
+                    Password = pharmacyHead.Password,
+                    Pharmacies = pharmacyHead.Pharmacies,
+                    Medicines = list
+                };
+                if (!phead.Equals(head))
+                {
+                    await _iPHRepo.UpdatePharmacyHead(head);
                 }
                 else throw new Exception("Cannot update pharmacy head since there was no changes.");
@@ -117,9 +124,17 @@
             else throw new Exception("PharmacyHead has a null value.");
         }
-        public async Task<bool> Add(PharmacyHead pharmacyHead)
+        public async Task<bool> Add(PharmacyHeadDto pharmacyHead)
         {
             if (pharmacyHead != null)
             {
-                await _iPHRepo.Add(pharmacyHead);
+                PharmacyHead head = new PharmacyHead()
+                {
+                    Name = pharmacyHead.Name,
+                    Email = pharmacyHead.Email,
+                    Password = pharmacyHead.Password,
+                    Pharmacies = null,
+                    Medicines = null
+                };
+                await _iPHRepo.Add(head);
                 return true;
             }
@@ -149,5 +164,5 @@
         }
 
-        public object GetPharmacyHead(string userName)
+        public PharmacyHeadDto GetPharmacyHead(string userName)
         {
             if (userName != null)
@@ -156,10 +171,6 @@
                 List<PharmacyHeadMedicine> PHMedicines = _iPHRepo.GetPharmacyHeadMedicines(userName);
                 List<Medicine> Medicines = _repository.GetMedicines().ToList();
-                List<Medicine> PHMedicineList = new List<Medicine>();
-
-
-                //var meds = PHMedicines.Where(x => x.Id == Phead.Id).ToList();
-                var pharmacies = _iPHRepo.GetPharmacies();
-                var PheadPharms = pharmacies.Where(x => x.PheadId == Phead.Id).ToList();
+                List<Medicine> MedicineList = new List<Medicine>();
+
                 var user = _repository.GetRole(userName);
 
@@ -167,5 +178,7 @@
                 if (user.UserRole.ToString().Equals("Admin"))
                 {
-                    var Admin = new PharmacyHead()
+                    List<Pharmacy> pharmacies = new List<Pharmacy>();
+                    pharmacies = Phead.Pharmacies;
+                    var Admin = new PharmacyHeadDto()
                     {
                         Id = user.Id,
@@ -173,25 +186,18 @@
                         Name = user.Name,
                         Password = user.Password,
-                        PharmaciesList = Phead.PharmaciesList
+                        Pharmacies = pharmacies
                     };
 
                     return Admin;
                 }
-
-                if (PheadPharms.Count() > 0 || PheadPharms != null)
-                    Phead.PharmaciesList = PheadPharms;
-                else Phead.PharmaciesList = pharmacies;
-
-                if (Phead.PHMedicineList.Count() > 0 || Phead.PHMedicineList != null)
+                else
                 {
                     foreach (var med in Medicines)
                     {
-
-                        var PHMObj = Phead.PHMedicineList.Where(x => x.MedicineId == med.Id).SingleOrDefault();
+                        var PHMObj = Phead.Medicines.Where(x => x.MedicineId == med.Id).SingleOrDefault();
                         if (PHMObj == null)
                         {
                             continue;
                         }
-                        var phm = Phead.MedicineList;
                         if (PHMObj.MedicineId == med.Id)
                         {
@@ -207,24 +213,19 @@
                                 Packaging = med.Packaging
                             };
-                            PHMedicineList.Add(medicine);
+                            MedicineList.Add(medicine);
                         }
                     }
-                    Phead.MedicineList = PHMedicineList;
-                }
-                else
-                {
-                    Phead.MedicineList = Medicines;
-                }
-
-                PharmacyHead pharHead = new PharmacyHead()
+                }
+
+                PharmacyHeadDto pharmacyHead = new PharmacyHeadDto()
                 {
                     Id = Phead.Id,
-                    MedicineList = Phead.MedicineList,
-                    PharmaciesList = Phead.PharmaciesList,
+                    Medicines = MedicineList,
+                    Pharmacies = Phead.Pharmacies,
                     Email = Phead.Email,
                     Name = Phead.Name,
                     Password = Phead.Password
                 };
-                return pharHead;
+                return pharmacyHead;
             }
             else throw new Exception("Username is null.");
Index: FarmatikoServices/Services/ProcessJSONService.cs
===================================================================
--- FarmatikoServices/Services/ProcessJSONService.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoServices/Services/ProcessJSONService.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -174,5 +174,5 @@
                     HealthFacility facility = _service.GetFacilityJSON(Convert.ToString(FacilityName));
 
-                    if (facility != null)
+                    if (facility != null && facility != default)
                     {
                         HealthFacility Facility = new HealthFacility(
Index: FarmatikoServices/Services/Service.cs
===================================================================
--- FarmatikoServices/Services/Service.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoServices/Services/Service.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -130,5 +130,5 @@
         public User MakeUser(PharmacyHead head)
         {
-            var users = _repository.GetUsers();
+            
             
             User user = new User()
Index: FarmatikoServices/Services/SystemService.cs
===================================================================
--- FarmatikoServices/Services/SystemService.cs	(revision 8e74e2fdb1488819059903fd4c618f6ae80b595a)
+++ FarmatikoServices/Services/SystemService.cs	(revision db484c9eac797253efb2f33c948000c95c15ba65)
@@ -7,5 +7,5 @@
     public interface ISystemService
     {
-
+        public void ParseHTML();
     }
     public class SystemService
