Index: Farmatiko/ClientApp/src/app/admin/admin.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/admin/admin.component.ts	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ Farmatiko/ClientApp/src/app/admin/admin.component.ts	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -124,5 +124,5 @@
 
   rejectRequest(req: IPharmacyHeadRequest) {
-    this.dataService.deleteClaimingRequest(req.id)
+    this.dataService.deleteClaimingRequest(req)
         .subscribe((status: boolean) => {
           if(status) {
@@ -139,4 +139,7 @@
   approveRequest(req: IPharmacyHeadRequest) {
     if(req) {
+      if (req.PharmacyHead.Pharmacy == null){
+        req.PharmacyHead.Pharmacy = [];
+      }
     req.PharmacyHead.Pharmacy.push(req.Pharmacy);
     this.dataService.updatePharmacyHead(req.PharmacyHead)
Index: Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts
===================================================================
--- Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ Farmatiko/ClientApp/src/app/dashboard/dashboard.component.ts	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -98,5 +98,5 @@
   saveDeletedMedicines() {
     this.dataService.updatePharmacyHead(this.head)
-      .subscribe((hd: IPharmacyHead) => {
+      .subscribe((hd) => {
         if(hd) {
           this.openSnackBar("Success! Medicine deleted", "OK");
Index: Farmatiko/ClientApp/src/app/shared/data.service.ts
===================================================================
--- Farmatiko/ClientApp/src/app/shared/data.service.ts	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ Farmatiko/ClientApp/src/app/shared/data.service.ts	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -196,6 +196,6 @@
                     );
     }
-    deleteClaimingRequest(id: string) : Observable<boolean> {
-        return this.http.post<boolean>(this.basePharmacyHead + '/requests/' + id, id)
+    deleteClaimingRequest(req: IPharmacyHeadRequest) : Observable<boolean> {
+        return this.http.post<boolean>(this.basePharmacyHead + '/requests/' + req.id, req)
                     .pipe(
                         map((data) => {
Index: Farmatiko/Controllers/AdminController.cs
===================================================================
--- Farmatiko/Controllers/AdminController.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ Farmatiko/Controllers/AdminController.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -61,7 +61,7 @@
         [HttpPost]
         [Route("api/pharmacyhead/requests/{Id}")]
-        public IActionResult RejectRequest([FromRoute] int Id)
+        public IActionResult RejectRequest([FromBody] RequestPharmacyHead req)
         {
-            bool Success = _adminService.RejectRequest(Id);
+            bool Success = _adminService.RejectRequest(req);
             return Ok(Success);
         }
Index: Farmatiko/Controllers/FarmatikoController.cs
===================================================================
--- Farmatiko/Controllers/FarmatikoController.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ Farmatiko/Controllers/FarmatikoController.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -84,5 +84,5 @@
         [HttpGet]
         [Route("api/medicines/search/{query}")]
-        public async Task<IEnumerable<Medicine>> SearchMedicines([FromRoute] string query)
+        public async Task<IEnumerable<MedicineDTO>> SearchMedicines([FromRoute] string query)
         {
             return await _service.SearchMedicines(query);
@@ -97,7 +97,7 @@
         [HttpGet]
         [Route("api/pandemic")]
-        public async Task<Pandemic> GetPandemic()
+        public Pandemic GetPandemic()
         {
-            return await _service.GetPandemic();
+            return _service.GetPandemic();
         }
         //Pharmacy
@@ -111,5 +111,5 @@
         [HttpGet]
         [Route("api/pharmacy/search/{Query}")]
-        public async Task<IEnumerable<Pharmacy>> SearchPharmacies([FromRoute] string Query)
+        public async Task<IEnumerable<PharmacyDTO>> SearchPharmacies([FromRoute] string Query)
         {
             return await _service.SearchPharmacies(Query);
Index: Farmatiko/Farmatiko.csproj
===================================================================
--- Farmatiko/Farmatiko.csproj	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ Farmatiko/Farmatiko.csproj	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -52,4 +52,8 @@
   </ItemGroup>
 
+  <ItemGroup>
+    <Folder Include="ExcellDocs\" />
+  </ItemGroup>
+
   <Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
     <!-- Ensure Node.js is installed -->
Index: Farmatiko/Startup.cs
===================================================================
--- Farmatiko/Startup.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ Farmatiko/Startup.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -54,8 +54,8 @@
 
             services.AddScoped<IPHRepo, PHRepo>();
-            services.AddTransient<IRepository, Repository>();
-            services.AddTransient<IAdminRepo, AdminRepo>();
+            services.AddScoped<IRepository, Repository>();
+            services.AddScoped<IAdminRepo, AdminRepo>();
 
-            services.AddTransient<IPHService, PHService>();
+            services.AddScoped<IPHService, PHService>();
             services.AddTransient<IAdminService, AdminService>();
             services.AddTransient<IService, Service>();
Index: FarmatikoData/FarmatikoDataContext.cs
===================================================================
--- FarmatikoData/FarmatikoDataContext.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/FarmatikoDataContext.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -42,40 +42,38 @@
                 .ValueGeneratedOnAdd();
 
-            /*modelBuilder.Entity<Medicine>()
-                .Property(x => x.Id)
-                .HasIdentityOptions(startValue: 1);
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .Property(p => p.Id)
+                .ValueGeneratedOnAdd();
+
+            modelBuilder.Entity<Medicine>()
+                .Property(p => p.Id)
+                .ValueGeneratedOnAdd();
 
             modelBuilder.Entity<Pharmacy>()
-                .Property(x => x.Id)
-                .HasIdentityOptions(startValue: 1);
+                .Property(p => p.Id)
+                .ValueGeneratedOnAdd();
 
             modelBuilder.Entity<PharmacyHead>()
-                .Property(x => x.Id)
-                .HasIdentityOptions(startValue: 1);
-
-            modelBuilder.Entity<PharmacyHeadMedicine>()
-                .Property(x => x.Id)
-                .HasIdentityOptions(startValue: 1);
-
-            modelBuilder.Entity<RequestPharmacyHead>()
-                .Property(x => x.Id)
-                .HasIdentityOptions(startValue: 1);*/
-
-            /*modelBuilder.Entity<User>()
-                .Property(x => x.Id)
-                .HasIdentityOptions(startValue: 1);
-
-            modelBuilder.Entity<PharmacyHeadMedicine>()
-                .HasKey(phm => new { phm.PheadId, phm.MedicineId });
-
-            modelBuilder.Entity<PharmacyHead>()
-                .HasMany<Pharmacy>(p => p.Pharmacy)
-                .WithOne(p => p.PharmacyHead)
-                .HasForeignKey();
+                .HasMany<Pharmacy>(p => p.Pharmacies)
+                .WithOne(p => p.PharmacyHead);
 
             modelBuilder.Entity<Pharmacy>()
                 .HasOne<PharmacyHead>(p => p.PharmacyHead)
-                .WithMany(p => p.Pharmacy);
-            */
+                .WithMany(p => p.Pharmacies)
+                .HasForeignKey(x => x.PheadId);
+
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+            .HasKey(bc => new { bc.PheadId, bc.MedicineId});
+
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .HasOne(bc => bc.Head)
+                .WithMany(b => b.Medicines)
+                .HasForeignKey(bc => bc.PheadId);
+
+            modelBuilder.Entity<PharmacyHeadMedicine>()
+                .HasOne(bc => bc.Medicine)
+                .WithMany(c => c.Medicines)
+                .HasForeignKey(bc => bc.MedicineId);
+
 
             base.OnModelCreating(modelBuilder);
Index: FarmatikoData/FarmatikoRepo/AdminRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/AdminRepo.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/FarmatikoRepo/AdminRepo.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -20,5 +20,9 @@
         public async Task<IEnumerable<RequestPharmacyHead>> GetClaimingRequests()
         {
-            var reqs = await _context.PHRequests.OrderBy(x => x.Head.Name).ToListAsync();
+            var reqs = await _context.PHRequests.Select(x => new RequestPharmacyHead 
+            {
+                Head = x.Head,
+                Pharmacy = x.Pharmacy
+            }).OrderBy(x => x.Head.Name).ToListAsync();
             return reqs;
         }
@@ -35,9 +39,10 @@
         }
         //POST
-        public async void RemoveClaimRequest(int Id)
+        public void RemoveClaimRequest(RequestPharmacyHead request)
         {
-            var req = _context.PHRequests.Where(x => x.Id == Id).FirstOrDefault();
+            var req = _context.PHRequests.Select(x => new RequestPharmacyHead { Head = x.Head, Pharmacy = x.Pharmacy, Id = x.Id})
+                .Where(x => x.Head.Email.Equals(request.Head.Email)).FirstOrDefault();
             _context.PHRequests.Remove(req);
-            await _context.SaveChangesAsync();
+            _context.SaveChanges();
         }
     }
Index: FarmatikoData/FarmatikoRepo/PHRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/FarmatikoRepo/PHRepo.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -41,26 +41,47 @@
         public async Task UpdatePharmacyHead(PharmacyHead pharmacyHead)
         {
-            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();
+            var user = await _context.Users.Where(x => x.Email == pharmacyHead.Email).FirstOrDefaultAsync();
+            var EditedPHead = await _context.PharmacyHeads.Where(x => x.Email.Equals(pharmacyHead.Email)).FirstOrDefaultAsync();
 
-            if (!EditedPHead.Email.Equals(pharmacyHead.Email))
+            /*if (!EditedPHead.Email.Equals(pharmacyHead.Email) && !user.Email.Equals(pharmacyHead.Email))
+            {
                 EditedPHead.Email = pharmacyHead.Email;
+                user.Email = pharmacyHead.Email;
+            }*/
 
-            if (!EditedPHead.Name.Equals(pharmacyHead.Name))
+            if (!EditedPHead.Name.Equals(pharmacyHead.Name) || !user.Name.Equals(pharmacyHead.Name))
+            {
                 EditedPHead.Name = pharmacyHead.Name;
+                user.Name = pharmacyHead.Name;
+            }
 
-            if (!EditedPHead.Password.Equals(pharmacyHead.Password))
+            if (!EditedPHead.Password.Equals(pharmacyHead.Password) || !user.Password.Equals(pharmacyHead.Password))
+            {
                 EditedPHead.Password = pharmacyHead.Password;
+                user.Password = pharmacyHead.Password;
+            }
+            /*if (EditedPHead.Pharmacies != null)
+            {
+                if (EditedPHead.Pharmacies.Count() > 0)
+                    if (!EditedPHead.Pharmacies.Equals(pharmacyHead.Pharmacies))
+                        EditedPHead.Pharmacies = pharmacyHead.Pharmacies;
+            }
+            if (EditedPHead.Medicines != null)
+            {
+                if (EditedPHead.Medicines.Count() > 0)
+                {
+                    if (!EditedPHead.Medicines.Equals(pharmacyHead.Medicines))
+                        EditedPHead.Medicines = pharmacyHead.Medicines;
+                    
+                }
+                    
+            }*/
 
-            if (!EditedPHead.Pharmacies.Equals(pharmacyHead.Pharmacies))
-                EditedPHead.Pharmacies = pharmacyHead.Pharmacies;
-
-            if (!EditedPHead.Medicines.Equals(pharmacyHead.Medicines))
-                EditedPHead.Medicines = pharmacyHead.Medicines;
-
-            await _context.SaveChangesAsync();
+            _context.SaveChanges();
         }
         public async Task ClaimPharmacy(RequestPharmacyHead pharmacy)
         {
+            var phead = _context.PharmacyHeads.Where(x => x.Email.Equals(pharmacy.Head.Email)).FirstOrDefault();
+            pharmacy.Head = phead;
             await _context.PHRequests.AddAsync(pharmacy);
             await _context.SaveChangesAsync();
Index: FarmatikoData/FarmatikoRepo/Repository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/Repository.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/FarmatikoRepo/Repository.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -19,5 +19,12 @@
         public async Task<IEnumerable<HealthcareWorker>> GetAllWorkers()
         {
-            var Workers = await _context.HealthcareWorkers.Take(5).ToListAsync();
+            var Workers = await _context.HealthcareWorkers.Select(x => new HealthcareWorker 
+            { 
+                Id = x.Id,
+                Name = x.Name,
+                Branch = x.Branch,
+                Facility = x.Facility,
+                Title = x.Title
+            }).Take(5).ToListAsync();
             return Workers;
         }
@@ -54,5 +61,5 @@
                 Packaging = x.Packaging
 
-            }).Take(3).ToListAsync();
+            }).Take(5).ToListAsync();
             return Medicines;
         }
@@ -92,5 +99,7 @@
         {
             var SearchQuery = await _context.HealthFacilities
-            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
+            .Where(x => x.Name.ToLower().Contains(query.ToLower())
+            || x.Municipality.ToLower().Contains(query.ToLower())
+            || x.Type.ToLower().Contains(query.ToLower())).Take(5)
             .OrderBy(x => x.Name).ToListAsync();
 
@@ -101,5 +110,8 @@
         {
             var SearchQuery = await _context.Medicines
-            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
+            .Where(x => x.Name.ToLower().Contains(query.ToLower()) 
+            || x.Form.ToLower().Contains(query.ToLower()) 
+            || x.Strength.ToLower().Contains(query.ToLower()) 
+            || x.Packaging.ToLower().Contains(query.ToLower())).Take(20)
             .OrderBy(x => x.Name).ToListAsync();
 
@@ -110,5 +122,6 @@
         {
             var SearchQuery = await _context.Pharmacies
-            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
+            .Where(x => x.Name.ToLower().Contains(query.ToLower())
+            || x.PharmacyHead.Name.ToLower().Contains(query.ToLower())).Take(5)
             .OrderBy(x => x.Name).ToListAsync();
 
@@ -118,6 +131,7 @@
         public async Task<IEnumerable<HealthcareWorker>> SearchWorkers(string query)
         {
-            var SearchQuery = await _context.HealthcareWorkers
-            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
+            var SearchQuery = await _context.HealthcareWorkers.Include(x => x.Facility)
+            .Where(x => x.Name.ToLower().Contains(query.ToLower())
+            || x.Facility.Name.ToLower().Contains(query.ToLower())).Take(20)
             .OrderBy(x => x.Name).ToListAsync();
 
@@ -146,6 +160,21 @@
         public async Task AddPharmacy(Pharmacy pharmacy)
         {
-            await _context.Pharmacies.AddAsync(pharmacy);
-            _context.SaveChanges();
+            pharmacy.Id = 0;
+            if (pharmacy.Id == 0)
+            {
+                var phars = _context.Pharmacies.Select(x => new Pharmacy
+                {
+                    Name = x.Name,
+                    Location = x.Location,
+                    Address = x.Address
+                }).ToList();
+                var pharms = phars.Where(x => x.Name.Equals(pharmacy.Name) && x.Location.Equals(pharmacy.Location) && x.Address.Equals(pharmacy.Address)).ToList();
+                if (pharms is null || pharms.Count() == 0)
+                {
+                    await _context.Pharmacies.AddAsync(pharmacy);
+                    _context.SaveChanges();
+                }
+                
+            }
         }
 
@@ -242,6 +271,8 @@
         {
             var PHead = await _context.PharmacyHeads.Where(x => x.Id == Id).FirstOrDefaultAsync();
-            PHead.DeletedOn = DateTime.UtcNow;
-            await _context.SaveChangesAsync();
+            var user = await _context.Users.Where(x => x.Email.Equals(PHead.Email)).FirstOrDefaultAsync();
+            _context.PharmacyHeads.Remove(PHead);
+            _context.Users.Remove(user);
+            _context.SaveChanges();
         }
 
@@ -290,6 +321,6 @@
             return phmeds;
         }
-
-        public async Task<bool> AddUser(User user)
+        
+        /*public async Task<bool> AddUser(User user)
         {
             if (user.Id == 0)
@@ -303,5 +334,5 @@
                 }).ToListAsync();
                 var usr = users.Where(x => x.Email.Equals(user.Email)).ToList();
-                if (usr != null || usr.Count() > 0)
+                if (usr != null && usr.Count() > 0)
                 {
                     return true;
@@ -315,5 +346,5 @@
             }
             return false;
-        }
+        }*/
 
         public async Task<List<PharmacyHeadMedicine>> GetAllPHMedicines()
@@ -329,4 +360,16 @@
             return list;
         }
+
+        public ICollection<PharmacyHeadMedicine> GetPHMedicines()
+        {
+            var meds = _context.PharmacyHeadMedicines.Select(x => new PharmacyHeadMedicine
+            {
+                PheadId = x.PheadId,
+                Head = x.Head,
+                MedicineId = x.MedicineId,
+                Medicine = x.Medicine
+            }).ToList();
+            return meds;
+        }
     }
 }
Index: FarmatikoData/FarmatikoRepoInterfaces/IAdminRepo.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IAdminRepo.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/FarmatikoRepoInterfaces/IAdminRepo.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -12,5 +12,5 @@
         Task<IEnumerable<RequestPharmacyHead>> GetClaimingRequests();
         Task<IEnumerable<PharmacyHead>> GetPharmacyHeads();
-        void RemoveClaimRequest(int Id);
+        void RemoveClaimRequest(RequestPharmacyHead Id);
     }
 }
Index: FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -46,5 +46,6 @@
         User GetRole(string userName);
         ICollection<PharmacyHeadMedicine> GetPHMedicines(string email);
-        Task<bool> AddUser(User user);
+        ICollection<PharmacyHeadMedicine> GetPHMedicines();
+        //Task<bool> AddUser(User user);
     }
 }
Index: rmatikoData/Migrations/20210205174704_Initial-Migration.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20210205174704_Initial-Migration.Designer.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ 	(revision )
@@ -1,407 +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("20210205174704_Initial-Migration")]
-    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: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: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: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: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: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")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-                });
-
-            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: rmatikoData/Migrations/20210205174704_Initial-Migration.cs
===================================================================
--- FarmatikoData/Migrations/20210205174704_Initial-Migration.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ 	(revision )
@@ -1,289 +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: "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: false)
-                },
-                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.Cascade);
-                });
-
-            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/20210208041424_Initial-Create.Designer.cs
===================================================================
--- FarmatikoData/Migrations/20210208041424_Initial-Create.Designer.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
+++ FarmatikoData/Migrations/20210208041424_Initial-Create.Designer.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -0,0 +1,400 @@
+﻿// <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("20210208041424_Initial-Create")]
+    partial class InitialCreate
+    {
+        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: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: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: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: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: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("PheadId");
+                });
+
+            modelBuilder.Entity("FarmatikoData.Models.PharmacyHead", b =>
+                {
+                    b.HasOne("FarmatikoData.Models.User", "User")
+                        .WithMany()
+                        .HasForeignKey("UserID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            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");
+
+                    b.HasOne("FarmatikoData.Models.Pharmacy", "Pharmacy")
+                        .WithMany()
+                        .HasForeignKey("PharmacyId");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
Index: FarmatikoData/Migrations/20210208041424_Initial-Create.cs
===================================================================
--- FarmatikoData/Migrations/20210208041424_Initial-Create.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
+++ FarmatikoData/Migrations/20210208041424_Initial-Create.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -0,0 +1,288 @@
+﻿using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+namespace FarmatikoData.Migrations
+{
+    public partial class InitialCreate : 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: false)
+                },
+                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.Cascade);
+                });
+
+            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: true)
+                },
+                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.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: true),
+                    PharmacyId = table.Column<int>(nullable: true)
+                },
+                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.Restrict);
+                    table.ForeignKey(
+                        name: "FK_PHRequests_Pharmacies_PharmacyId",
+                        column: x => x.PharmacyId,
+                        principalTable: "Pharmacies",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Restrict);
+                });
+
+            migrationBuilder.CreateIndex(
+                name: "IX_HealthcareWorkers_FacilityId",
+                table: "HealthcareWorkers",
+                column: "FacilityId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_Pharmacies_PheadId",
+                table: "Pharmacies",
+                column: "PheadId");
+
+            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 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -205,8 +205,5 @@
                         .HasColumnType("text");
 
-                    b.Property<int?>("PharmacyHeadId")
-                        .HasColumnType("integer");
-
-                    b.Property<int>("PheadId")
+                    b.Property<int?>("PheadId")
                         .HasColumnType("integer");
 
@@ -216,5 +213,5 @@
                     b.HasKey("Id");
 
-                    b.HasIndex("PharmacyHeadId");
+                    b.HasIndex("PheadId");
 
                     b.ToTable("Pharmacies");
@@ -300,8 +297,8 @@
                         .HasColumnType("timestamp without time zone");
 
-                    b.Property<int>("HeadId")
-                        .HasColumnType("integer");
-
-                    b.Property<int>("PharmacyId")
+                    b.Property<int?>("HeadId")
+                        .HasColumnType("integer");
+
+                    b.Property<int?>("PharmacyId")
                         .HasColumnType("integer");
 
@@ -361,5 +358,5 @@
                     b.HasOne("FarmatikoData.Models.PharmacyHead", "PharmacyHead")
                         .WithMany("Pharmacies")
-                        .HasForeignKey("PharmacyHeadId");
+                        .HasForeignKey("PheadId");
                 });
 
@@ -390,13 +387,9 @@
                     b.HasOne("FarmatikoData.Models.PharmacyHead", "Head")
                         .WithMany()
-                        .HasForeignKey("HeadId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
+                        .HasForeignKey("HeadId");
 
                     b.HasOne("FarmatikoData.Models.Pharmacy", "Pharmacy")
                         .WithMany()
-                        .HasForeignKey("PharmacyId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
+                        .HasForeignKey("PharmacyId");
                 });
 #pragma warning restore 612, 618
Index: FarmatikoData/Models/Pharmacy.cs
===================================================================
--- FarmatikoData/Models/Pharmacy.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/Models/Pharmacy.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -31,5 +31,5 @@
             this.WorkAllTime = WorkAllTime;
         }
-        public int PheadId { get; set; }
+        public int? PheadId { get; set; }
         public PharmacyHead PharmacyHead { get; set; }
     }
Index: FarmatikoData/Models/RequestPharmacyHead.cs
===================================================================
--- FarmatikoData/Models/RequestPharmacyHead.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoData/Models/RequestPharmacyHead.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -1,3 +1,4 @@
 ﻿using FarmatikoData.Base;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
@@ -13,9 +14,9 @@
         {
         }
-        [Required]
-        [JsonPropertyName("PharmacyHead")]
+        
+        [JsonProperty("PharmacyHead")]
         public PharmacyHead Head { get; set; }
-        [Required]
-        [JsonPropertyName("Pharmacy")]
+        
+        [JsonProperty("Pharmacy")]
         public Pharmacy Pharmacy { get; set; }
 
Index: FarmatikoServices/FarmatikoServiceInterfaces/IAdminService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IAdminService.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IAdminService.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -12,5 +12,5 @@
         Task<IEnumerable<PharmacyHead>> GetPharmacyHeads();
         Task<IEnumerable<RequestPharmacyHead>> GetClaimingRequests();
-        bool RejectRequest(int Id);
+        bool RejectRequest(RequestPharmacyHead req);
     }
 }
Index: FarmatikoServices/FarmatikoServiceInterfaces/IService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IService.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IService.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -18,14 +18,14 @@
         HealthFacility GetFacilityJSON(string healthFacility);
         Task<Medicine> GetMedicine(int id);
-        Task<IEnumerable<Medicine>> SearchMedicines(string query);
+        Task<IEnumerable<MedicineDTO>> SearchMedicines(string query);
         Task<List<MedicineDTO>> GetMedicines();
-        Task<Pandemic> GetPandemic();
+        Pandemic GetPandemic();
         Task<List<PharmacyDTO>> GetPharmacies();
-        Task<IEnumerable<Pharmacy>> SearchPharmacies(string query);
+        Task<IEnumerable<PharmacyDTO>> SearchPharmacies(string query);
         Task<Pharmacy> GetPharmacy(int id);
         //POST
         Task AddWorker(HealthcareWorker worker);
         Task AddFacility(HealthFacility healthFacilities);
-        Task AddPharmacy(Pharmacy pharmacy);
+        void AddPharmacy(Pharmacy pharmacy);
         Task<bool> AddPharmacyHead(PharmacyHeadDto pharmacyHead);
         Task AddMedicines(Medicine medicine);
Index: FarmatikoServices/FarmatikoServices.csproj
===================================================================
--- FarmatikoServices/FarmatikoServices.csproj	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoServices/FarmatikoServices.csproj	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -8,4 +8,5 @@
     <PackageReference Include="AngleSharp" Version="0.14.0" />
     <PackageReference Include="EPPlus" Version="5.4.0" />
+    <PackageReference Include="GemBox.Spreadsheet" Version="47.0.1095" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
     <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
@@ -18,7 +19,3 @@
   </ItemGroup>
 
-  <ItemGroup>
-    <Folder Include="Services\ExcellDocs\" />
-  </ItemGroup>
-
 </Project>
Index: FarmatikoServices/Services/AdminService.cs
===================================================================
--- FarmatikoServices/Services/AdminService.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoServices/Services/AdminService.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -36,9 +36,9 @@
         }
 
-        public bool RejectRequest(int Id)
+        public bool RejectRequest(RequestPharmacyHead req)
         {
-            if (Id >= 0)
+            if (req != null)
             {
-                _adminRepo.RemoveClaimRequest(Id);
+                _adminRepo.RemoveClaimRequest(req);
                 return true;
             }
Index: FarmatikoServices/Services/PHService.cs
===================================================================
--- FarmatikoServices/Services/PHService.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoServices/Services/PHService.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -65,13 +65,23 @@
 
                 phead.Medicines = _repository.GetPHMedicines(phead.Email).ToList();
-                
+
+                var phmeds = await _repository.GetAllPHMedicines();
+
                 List<Medicine> medicines = _repository.GetMedicines().ToList();
-                
-                List<Medicine> PHMedicines = medicines.Where(x => x.Id == phead.Medicines.Select(x => x.MedicineId).Single()).ToList();
-                
+
+                List<Medicine> PHMedicines = new List<Medicine>();
+
                 List<PharmacyHeadMedicine> list = new List<PharmacyHeadMedicine>();
 
-                
-                if (pharmacyHead.Medicines != null || pharmacyHead.Medicines.Count() > 0)
+
+                if (pharmacyHead.Medicines != null && pharmacyHead.Medicines.Count() > 0)
+                {
+                    foreach (var med in phead.Medicines)
+                    {
+                        var medicine = medicines.Where(x => x.Id == med.MedicineId).FirstOrDefault();
+                        if (medicine != null)
+                            PHMedicines.Add(medicine);
+                    }
+
                     if (!pharmacyHead.Medicines.Equals(PHMedicines))
                     {
@@ -86,21 +96,54 @@
                             return;
                         }
-                        foreach (var med in pharmacyHead.Medicines)
-                        {
-
-                            PharmacyHeadMedicine PHMObj = phead.Medicines.Select(x => new PharmacyHeadMedicine
+                        if (phead.Medicines != null && phead.Medicines.Count() > 0)
+                        {
+                            foreach (var med in pharmacyHead.Medicines)
                             {
-                                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);
-
-                        }
+                                Medicine medicine = new Medicine()
+                                {
+                                    Name = med.Name,
+                                    Form = med.Form,
+                                    Manufacturer = med.Manufacturer,
+                                    Medicines = med.Medicines,
+                                    Packaging = med.Packaging,
+                                    Price = med.Price,
+                                    Strength = med.Strength,
+                                    WayOfIssuing = med.WayOfIssuing
+                                };
+
+                                PharmacyHeadMedicine phm = new PharmacyHeadMedicine()
+                                {
+                                    PheadId = phead.Id,
+                                    Head = phead,
+                                    MedicineId = med.Id,
+                                    Medicine = medicine
+                                };
+                                
+                                bool ifExists = phead.Medicines.Contains(phm);
+                                if (!ifExists)
+                                    list.Add(phm);
+
+                            }
+                        }
+                        else
+                        {
+                            foreach (var med in pharmacyHead.Medicines)
+                            {
+                                PharmacyHead head1 = new PharmacyHead()
+                                {
+                                    Id = pharmacyHead.Id,
+                                    Name = pharmacyHead.Name,
+                                    Email = pharmacyHead.Email,
+                                    Password = pharmacyHead.Password
+                                };
+                                PharmacyHeadMedicine phMed = new PharmacyHeadMedicine()
+                                {
+                                    Head = head1,
+                                    Medicine = med
+                                };
+                                list.Add(phMed);
+                            }
+                        }
+
 
                         phead.Medicines = list;
@@ -109,9 +152,6 @@
 
                     }
-                
-                if (pharmacyHead.Pharmacies != null || pharmacyHead.Pharmacies.Count() > 0)
-                {
-                    phead.Pharmacies = pharmacyHead.Pharmacies;
-                }
+                }
+
                 PharmacyHead head = new PharmacyHead()
                 {
@@ -120,4 +160,14 @@
                     Password = pharmacyHead.Password
                 };
+
+                if (pharmacyHead.Pharmacies != null)
+                {
+                    if (pharmacyHead.Pharmacies.Count() > 0)
+                    {
+                        phead.Pharmacies = pharmacyHead.Pharmacies;
+                        head.Pharmacies = pharmacyHead.Pharmacies;
+                    }
+                }
+                
                 if (!phead.Equals(head))
                 {
Index: FarmatikoServices/Services/ProcessJSONService.cs
===================================================================
--- FarmatikoServices/Services/ProcessJSONService.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoServices/Services/ProcessJSONService.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -1,5 +1,3 @@
-﻿using FarmatikoData.FarmatikoRepoInterfaces;
-using FarmatikoData.Models;
-using System.Collections.Generic;
+﻿using FarmatikoData.Models;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
@@ -13,5 +11,6 @@
 using OfficeOpenXml;
 using System.IO;
-using Microsoft.VisualBasic;
+using GemBox.Spreadsheet;
+using System.Text;
 
 namespace FarmatikoServices.Services
@@ -28,25 +27,37 @@
         }
         //Excel reader
-        private async Task<bool> ReadPharmaciesFromExcel(string Path)
-        {
-            using (var package = new ExcelPackage(new FileInfo(Path)))
-            {
-                var Sheet = package.Workbook.Worksheets[1];
-                for (int i = 2; i < Sheet.Dimension.End.Row; ++i)
-                {
-                    Pharmacy pharmacy = new Pharmacy()
+        private bool ReadPharmaciesFromExcel(string Path)
+        {
+            string path = Directory.GetCurrentDirectory() + @"\ExcellDocs\1.xlsx";
+
+            FileInfo fileInfo = new FileInfo(path);
+            if (fileInfo != null)
+            {
+                using (var package = new ExcelPackage(fileInfo))
+                {
+                    var Sheet = package.Workbook.Worksheets.First();
+                    //var table = Sheet.Tables.First();
+                    int rowCount = Sheet.Dimension.End.Row;
+                    for (int i = 2; i < rowCount; ++i)
                     {
-                        Name = Sheet.Cells[i, 2].Value.ToString(),
-                        Address = Sheet.Cells[i, 3].Value.ToString(),
-                        Location = Sheet.Cells[i, 4].Value.ToString(),
-                        WorkAllTime = false
-                    };
-                    await _service.AddPharmacy(pharmacy);
+                        //Console.WriteLine();
+                        Pharmacy pharmacy = new Pharmacy()
+                        {
+                            Name = Sheet.Cells[i, 2].Value.ToString(),
+                            Address = Sheet.Cells[i, 3].Value.ToString(),
+                            Location = Sheet.Cells[i, 4].Value.ToString(),
+                            WorkAllTime = false
+                        };
+                        _service.AddPharmacy(pharmacy);
+                    }
                     return true;
                 }
-            }
+
+            }
+            
             return false;
-        }
-        public async void DownloadPharmaciesExcel()
+
+        }
+        public void DownloadPharmaciesExcel()
         {
             try
@@ -56,21 +67,21 @@
                 string pathToSave2 = Directory.GetCurrentDirectory() + @"\ExcellDocs\2.xlsx";
                 var client = new WebClient();
-                string url1 = "http://data.gov.mk/dataset/d84c31d9-e749-4b17-9faf-a5b4db3e7a70/resource/ce446f5c-e541-46f6-9e8c-67568059cbc6/download/registar-na-apteki-vnatre-vo-mreza-na-fzo-12.08.2020.xlsx";
-                string url2 = "http://data.gov.mk/dataset/d84c31d9-e749-4b17-9faf-a5b4db3e7a70/resource/a16379b4-ec81-4de7-994d-0ee503d71b55/download/registar-na-apteki-nadvor-od-mreza-na-fzo-12.08.2020.xlsx";
+                string url1 = "http://data.gov.mk/dataset/d84c31d9-e749-4b17-9faf-a5b4db3e7a70/resource/4806b744-f6f6-42d0-b0f0-d82e66d3b177/download/-.xlsxs";
+                /*string url2 = "http://data.gov.mk/dataset/d84c31d9-e749-4b17-9faf-a5b4db3e7a70/resource/a16379b4-ec81-4de7-994d-0ee503d71b55/download/registar-na-apteki-nadvor-od-mreza-na-fzo-12.08.2020.xlsx";*/
                 Uri uri1 = new Uri(url1);
-                Uri uri2 = new Uri(url2);
-                client.DownloadFile(uri1, @pathToSave1);
-                client.DownloadFile(uri2, @pathToSave2);
-
-
-                bool Success = await ReadPharmaciesFromExcel(pathToSave1);
+                //Uri uri2 = new Uri(url2);
+                client.DownloadFileAsync(uri1, pathToSave1);
+                //client.DownloadFile(uri2, @pathToSave2);
+
+
+                bool Success = ReadPharmaciesFromExcel(pathToSave1);
                 _logger.LogInformation(Success.ToString() + "1");
-                Success = await ReadPharmaciesFromExcel(pathToSave2);
-                _logger.LogInformation(Success.ToString() + "2");
-            }
-            catch (Exception e)
-            {
-                _logger.LogInformation(e.Message);
-                throw new Exception("Cannot process Medicines from Excel.");
+               /* Success = await ReadPharmaciesFromExcel(pathToSave2);
+                _logger.LogInformation(Success.ToString() + "2");*/
+            }
+            catch (Exception e)
+            {
+                _logger.LogInformation(e.Message);
+                throw new Exception("Cannot process Pharmacies from Excel.");
             }
         }
Index: FarmatikoServices/Services/Service.cs
===================================================================
--- FarmatikoServices/Services/Service.cs	(revision 0a694bb724ad18bed38e0531e7ebb8039040e1ab)
+++ FarmatikoServices/Services/Service.cs	(revision e0cdea28ddbdd8eaa0bc76096a6d1c61299ef820)
@@ -3,4 +3,7 @@
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
+using Microsoft.Extensions.Logging;
+using Newtonsoft.Json.Linq;
+using RestSharp;
 using System;
 using System.Collections.Generic;
@@ -13,7 +16,11 @@
     {
         private readonly IRepository _repository;
-        public Service(IRepository repository)
+        private readonly IPHRepo _phrepo;
+        private readonly ILogger _logger;
+        public Service(IRepository repository, IPHRepo phrepo, ILogger logger)
         {
             _repository = repository;
+            _phrepo = phrepo;
+            _logger = logger;
         }
 
@@ -76,8 +83,59 @@
         }
 
-        public async Task<Pandemic> GetPandemic()
-        {
-            var Pandemic = await _repository.GetPandemic();
-            return Pandemic;
+        public Pandemic GetPandemic()
+        {
+            //var Pandemic = await _repository.GetPandemic();
+
+            try
+            {
+                var Date = DateTime.UtcNow.ToString("yyyy-MM-dd");
+                var client = new RestClient($"https://api.covid19tracking.narrativa.com/api/{Date}/country/north_macedonia");
+                var response = client.Execute(new RestRequest());
+                string original = response.Content;
+                var jsonResponsePandemic = JObject.Parse(original);
+                if (!jsonResponsePandemic.ContainsKey("total"))
+                {
+                    Date = DateTime.UtcNow.AddDays(-1).ToString("yyyy-MM-dd");
+                    client = new RestClient($"https://api.covid19tracking.narrativa.com/api/{Date}/country/north_macedonia");
+                    response = client.Execute(new RestRequest());
+                    original = response.Content;
+                    jsonResponsePandemic = JObject.Parse(original);
+                    if (!jsonResponsePandemic.ContainsKey("total"))
+                    {
+                        Date = DateTime.UtcNow.AddDays(-2).ToString("yyyy-MM-dd");
+                        client = new RestClient($"https://api.covid19tracking.narrativa.com/api/{Date}/country/north_macedonia");
+                        response = client.Execute(new RestRequest());
+                        original = response.Content;
+                        jsonResponsePandemic = JObject.Parse(original);
+                    }
+                }
+                var global = JObject.Parse(jsonResponsePandemic.GetValue("total").ToString());
+                var TotalConfirmed = long.Parse(global.GetValue("today_confirmed").ToString());
+                var TotalDeaths = long.Parse(global.GetValue("today_deaths").ToString());
+                var TotalRecovered = long.Parse(global.GetValue("today_new_recovered").ToString());
+
+                var mk = JObject.Parse(jsonResponsePandemic.GetValue("dates").ToString());
+
+                var date = JObject.Parse(mk.GetValue(Date).ToString());
+                var country = JObject.Parse(date.GetValue("countries").ToString());
+                var mkd = JObject.Parse(country.GetValue("North Macedonia").ToString());
+                dynamic objP = mkd;
+                var TotalMk = Int32.Parse(objP.GetValue("today_confirmed").ToString());
+                var TotalDeathsMK = Int32.Parse(objP.GetValue("today_deaths").ToString());
+                var TotalRecoveredMK = Int32.Parse(objP.GetValue("today_recovered").ToString());
+                var NewMK = Int32.Parse(objP.GetValue("today_new_confirmed").ToString());
+
+                var Name = "Coronavirus";
+                var ActiveMk = TotalMk - (TotalRecoveredMK + TotalDeathsMK);
+                var ActiveGlobal = TotalConfirmed - (TotalRecovered + TotalDeaths);
+
+                Pandemic pandemic = new Pandemic(Name, TotalMk, ActiveMk, TotalDeathsMK, NewMK, TotalConfirmed, TotalDeaths, ActiveGlobal);
+                return pandemic;
+            }
+            catch (Exception e)
+            {
+                _logger.LogInformation(e.Message);
+            }
+            return null;
         }
 
@@ -86,5 +144,5 @@
             var Pharmacies = await _repository.GetPharmacies();
             List<PharmacyDTO> pharmacies = new List<PharmacyDTO>();
-
+            
             foreach(var pharm in Pharmacies)
             {
@@ -124,14 +182,67 @@
         }
 
-        public async Task<IEnumerable<Medicine>> SearchMedicines(string query)
+        public async Task<IEnumerable<MedicineDTO>> SearchMedicines(string query)
         {
             var SearchQuery = await _repository.SearchMedicines(query);
-            return SearchQuery;
-        }
-
-        public async Task<IEnumerable<Pharmacy>> SearchPharmacies(string query)
+            List<MedicineDTO> list = new List<MedicineDTO>();
+            var listPHMedicines = await _repository.GetAllPHMedicines();
+            List<string> headNames = new List<string>();
+            List<PharmacyHead> heads = new List<PharmacyHead>();
+            foreach (var med in SearchQuery)
+            {
+                var meds = listPHMedicines.Where(x => x.MedicineId == med.Id).ToList();
+                if (meds != null)
+                {
+                    heads = meds.Select(x => x.Head).ToList();
+                }
+                if (heads != null)
+                    headNames = heads?.Select(x => x?.Name).ToList();
+                MedicineDTO medicine = new MedicineDTO()
+                {
+                    Name = med.Name,
+                    Manufacturer = med.Manufacturer,
+                    Packaging = med.Packaging,
+                    Form = med.Form,
+                    Price = med.Price,
+                    Strength = med.Strength,
+                    WayOfIssuing = med.WayOfIssuing,
+                    HeadNames = headNames
+                };
+
+                list.Add(medicine);
+                headNames = new List<string>();
+            }
+
+            return list;
+        }
+
+        public async Task<IEnumerable<PharmacyDTO>> SearchPharmacies(string query)
         {
             var SearchQuery = await _repository.SearchPharmacies(query);
-            return SearchQuery;
+            List<PharmacyDTO> pharmacies = new List<PharmacyDTO>();
+            var heads = await _phrepo.GetPharmacyHeadInfo();
+            
+            foreach (var pharm in SearchQuery)
+            {
+                PharmacyDTO pharmacyDTO = new PharmacyDTO()
+                {
+                    Name = pharm.Name,
+                    Location = pharm.Location,
+                    Address = pharm.Address,
+                    WorkAllTime = pharm.WorkAllTime
+                };
+                
+                foreach(var head in heads.ToList())
+                {
+                    if (head.Pharmacies.Contains(pharm))
+                    {
+                        pharmacyDTO.HeadName = head.Name;
+                        break;
+                    }
+                }
+                
+                pharmacies.Add(pharmacyDTO);
+            }
+            return pharmacies;
         }
 
@@ -166,26 +277,13 @@
         }
         // Samo PharmacyHead i Admin imaat pristap
-        public async Task AddPharmacy(Pharmacy pharmacy)
+        public void AddPharmacy(Pharmacy pharmacy)
         {
             if (pharmacy != null)
-                await _repository.AddPharmacy(pharmacy);
+                _repository.AddPharmacy(pharmacy);
             else throw new Exception("Pharmacy is null");
         }
 
         // Ovaa kontrola ja ima samo admin
-        public async Task<User> MakeUser(PharmacyHead head)
-        {
-            User user = new User()
-            {
-                Name = head.Name,
-                Password = head.Password,
-                Email = head.Email,
-                UserRole = User.Role.PharmacyHead
-            };
-            bool Success = await _repository.AddUser(user);
-            if (!Success)
-                return null;
-            return user;
-        }
+        
         public async Task<bool> AddPharmacyHead(PharmacyHeadDto pharmacyHead)
         {
@@ -198,17 +296,21 @@
                     Password = pharmacyHead.Password
                 };
-                var user = await MakeUser(phead);
+                User user = new User()
+                {
+                    Name = phead.Name,
+                    Password = phead.Password,
+                    Email = phead.Email,
+                    UserRole = User.Role.PharmacyHead
+                };
                 if (user is null)
                 {
                     return false;
                 }
-                var users = _repository.GetUsers();
-                var thisUser = users.Where(usr => usr.Value.Email.Equals(user.Email)).Select(x => x.Value).FirstOrDefault();
                 User user1 = new User()
                 {
-                    Name = thisUser.Name,
-                    Password = thisUser.Password,
-                    Email = thisUser.Email,
-                    UserRole = thisUser.UserRole
+                    Name = user.Name,
+                    Password = user.Password,
+                    Email = user.Email,
+                    UserRole = user.UserRole
                 };
                 phead.User = user1;
