Index: Farmatiko/Controllers/HealthFacilitiesController.cs
===================================================================
--- Farmatiko/Controllers/HealthFacilitiesController.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Controllers/HealthFacilitiesController.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -26,5 +26,5 @@
         }
         [HttpGet]
-        public IQueryable<HealthFacilities> Get()
+        public Task<IQueryable<HealthFacilities>> Get()
         {
             return _healthFacilitiesService.GetAll();
Index: Farmatiko/Controllers/HealthcareWorkerController.cs
===================================================================
--- Farmatiko/Controllers/HealthcareWorkerController.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Controllers/HealthcareWorkerController.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,3 +1,4 @@
 ﻿using System.Linq;
+using System.Threading.Tasks;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -17,5 +18,5 @@
 
         [HttpGet]
-        public IQueryable<HealthcareWorkers> Get()
+        public Task<IQueryable<HealthcareWorkers>> Get()
         {
             return _healthcareWorkerService.GetAll();
Index: Farmatiko/Controllers/MedicineController.cs
===================================================================
--- Farmatiko/Controllers/MedicineController.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Controllers/MedicineController.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,3 +1,4 @@
 ﻿using System.Linq;
+using System.Threading.Tasks;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -16,5 +17,5 @@
         }
         [HttpGet]
-        public IQueryable<Medicine> Get()
+        public Task<IQueryable<Medicine>> Get()
         {
             return _medicineService.GetAll();
Index: Farmatiko/Controllers/MedicineListController.cs
===================================================================
--- Farmatiko/Controllers/MedicineListController.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Controllers/MedicineListController.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -17,15 +18,15 @@
         }
         [HttpGet]
-        public IQueryable<MedicineList> Get()
+        public Task<IQueryable<MedicineList>> Get()
         {
             return _medicineListService.GetAll();
         }
         [HttpGet]
-        public ICollection<MedicineList> GetByName(string Name)
+        public Task<ICollection<MedicineList>> GetByName(string Name)
         {
             return _medicineListService.GetByName(Name);
         }
         [HttpGet]
-        public ICollection<MedicineList> GetByManufacturer(string Manufacturer)
+        public Task<ICollection<MedicineList>> GetByManufacturer(string Manufacturer)
         {
             return _medicineListService.GetByManufacturer(Manufacturer);
Index: Farmatiko/Controllers/PandemicController.cs
===================================================================
--- Farmatiko/Controllers/PandemicController.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Controllers/PandemicController.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,3 +1,4 @@
 ﻿using System.Linq;
+using System.Threading.Tasks;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -16,5 +17,5 @@
         }
         [HttpGet]
-        public IQueryable<Pandemic> Get()
+        public Task<IQueryable<Pandemic>> Get()
         {
             return _pandemicService.GetAll();
Index: Farmatiko/Controllers/PharmacyController.cs
===================================================================
--- Farmatiko/Controllers/PharmacyController.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Controllers/PharmacyController.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 using FarmatikoData.Models;
 using FarmatikoServices.FarmatikoServiceInterfaces;
@@ -17,17 +18,17 @@
         }
         [HttpGet]
-        public IQueryable<Pharmacy> Get()
+        public Task<IQueryable<Pharmacy>> Get()
         {
             return _pharmacyService.GetAll();
         }
         [HttpGet]
-        public ICollection<Pharmacy> GetPharmacies()
+        public Task<ICollection<Pharmacy>> GetPharmacies()
         {
             return _pharmacyService.GetPharmacies();
         }
         [HttpPost]
-        public void UpdatePharmacy(Pharmacy pharmacy, string Name)
+        public void UpdatePharmacy(Pharmacy pharmacy)
         {
-            _pharmacyService.UpdatePharmacy(pharmacy,Name);
+            _pharmacyService.UpdatePharmacy(pharmacy);
         }
         [HttpPost]
Index: Farmatiko/Controllers/PharmacyHeadController.cs
===================================================================
--- Farmatiko/Controllers/PharmacyHeadController.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Controllers/PharmacyHeadController.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -36,7 +36,7 @@
         }
         [HttpPost]
-        public void Remove(PharmacyHead pharmacyHead, string Name)
+        public void Remove(PharmacyHead pharmacyHead)
         {
-            _pharmacyHeadRepository.Remove(pharmacyHead, Name);
+            _pharmacyHeadRepository.Remove(pharmacyHead);
         }
     }
Index: Farmatiko/Startup.cs
===================================================================
--- Farmatiko/Startup.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ Farmatiko/Startup.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -12,4 +12,5 @@
 using FarmatikoServices.FarmatikoServiceInterfaces;
 using FarmatikoServices.Services;
+using Microsoft.Extensions.Logging;
 
 namespace Farmatiko
@@ -69,4 +70,6 @@
 
             services.AddTransient<IProcessJSONService, ProcessJSONService>();
+
+            services.AddTransient<ILogger, Logger<ProcessJSONService>>();
         }
 
Index: FarmatikoData/FarmatikoRepo/HealthFacilityRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/HealthFacilityRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepo/HealthFacilityRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -16,17 +16,35 @@
         public void Add(HealthFacilities healthFacility)
         {
-            _context.Add(healthFacility);
-            _context.SaveChanges();
+             _context.HealthFacilities.Add(healthFacility);
+            _context.SaveChangesAsync();
         }
 
         public IQueryable<HealthFacilities> GetAll()
         {
-            return _context.HealthFacilities.OrderBy(x => x.Name);
+            return _context.HealthFacilities.Take(50).Select(x => new HealthFacilities
+            {
+                Name = x.Name,
+                Municipality = x.Municipality,
+                Address = x.Address,
+                Type = x.Type,
+                Email = x.Email,
+                Phone = x.Phone
+            }).OrderBy(x => x.Name);
+        }
+
+        public IQueryable<HealthFacilities> GetByName(string Name)
+        {
+            return _context.HealthFacilities.Where(x => x.Name.Equals(Name));
         }
 
         public void Remove(HealthFacilities healthFacility)
         {
-            var facility = _context.HealthFacilities.Where(x => x.Name.Equals(healthFacility.Name));
-            _context.HealthFacilities.Remove((HealthFacilities)facility);
+            var facility = _context.HealthFacilities.Where(x => x.Name.Equals(healthFacility.Name)).FirstOrDefault();
+            if (facility != null)
+            {
+                _context.HealthFacilities.Remove(facility);
+                _context.SaveChangesAsync();
+            }
+            
         }
     }
Index: FarmatikoData/FarmatikoRepo/HealthcareWorkerRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/HealthcareWorkerRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepo/HealthcareWorkerRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -2,4 +2,5 @@
 using FarmatikoData.Models;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoData.FarmatikoRepo
@@ -23,11 +24,22 @@
         public IQueryable<HealthcareWorkers> GetAll()
         {
-            return _context.HealthcareWorkers.OrderBy(x => x.Name);
+            return _context.HealthcareWorkers.Take(50).Select(x => new HealthcareWorkers
+            { 
+                Name = x.Name,
+                Branch = x.Branch,
+                Facility = x.Facility,
+                Title = x.Title
+            }).OrderBy(x => x.Name);
         }
 
         public void Remove(HealthcareWorkers healthcareWorker)
         {
-            var healthCareWorker = _context.HealthcareWorkers.Where(x => x.Name.Equals(healthcareWorker.Name));
-            _context.HealthcareWorkers.Remove((HealthcareWorkers)healthCareWorker);
+            var healthCareWorker = _context.HealthcareWorkers.Where(x => x.Name.Equals(healthcareWorker.Name)).FirstOrDefault();
+            if (healthCareWorker != null)
+            {
+                _context.HealthcareWorkers.Remove(healthCareWorker);
+                _context.SaveChangesAsync();
+            }
+            
         }
     }
Index: FarmatikoData/FarmatikoRepo/MedicineListRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/MedicineListRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepo/MedicineListRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -29,11 +29,20 @@
         public IQueryable<MedicineList> GetAll()
         {
-            return _context.MedicineLists.OrderBy(x => x.Medicine.Name);
+            return _context.MedicineLists.Take(50).Select(x => new MedicineList 
+            { 
+                Medicine = x.Medicine,
+                HasMedicine = x.HasMedicine 
+            }).OrderBy(x => x.Medicine.Name);
         }
 
         public ICollection<MedicineList> GetByManufacturer(string Manufacturer)
         {
-            return (ICollection<MedicineList>)_context.MedicineLists
+            return (ICollection<MedicineList>)_context.MedicineLists.Take(50)
                 .Where(x => x.Medicine.Manufacturer.Contains(Manufacturer))
+                .Select(x => new MedicineList
+                {
+                    Medicine = x.Medicine,
+                    HasMedicine = x.HasMedicine
+                })
                 .OrderBy(x => x.Medicine.Name)
                 .Cast<ICollection<MedicineList>>();
@@ -41,6 +50,11 @@
         public ICollection<MedicineList> GetByName(string Name)
         {
-            return (ICollection<MedicineList>)_context.MedicineLists
+            return (ICollection<MedicineList>)_context.MedicineLists.Take(50)
                 .Where(x => x.Medicine.Name.Contains(Name))
+                .Select(x => new MedicineList
+                {
+                    Medicine = x.Medicine,
+                    HasMedicine = x.HasMedicine
+                })
                 .OrderBy(x => x.Medicine.Name)
                 .Cast<ICollection<MedicineList>>();
@@ -49,6 +63,10 @@
         public void Remove(MedicineList medicineList)
         {
-            var list = (MedicineList)_context.MedicineLists.Where(x => x.Medicine.Equals(medicineList.Medicine));
-            _context.MedicineLists.Remove(list);
+            var list = _context.MedicineLists.Where(x => x.Medicine.Equals(medicineList.Medicine)).FirstOrDefault();
+            if (list != null)
+            {
+                _context.MedicineLists.Remove(list);
+                _context.SaveChangesAsync();
+            }
         }
     }
Index: FarmatikoData/FarmatikoRepo/MedicineRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/MedicineRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepo/MedicineRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -21,21 +21,55 @@
         public IQueryable<Medicine> GetAll()
         {
-            return _context.Medicines.OrderBy(x => x.Name);
+            return _context.Medicines.Take(50).Select(x => new Medicine
+            {
+                Name = x.Name,
+                Strength = x.Strength,
+                Form = x.Form,
+                WayOfIssuing = x.WayOfIssuing,
+                Manufacturer = x.Manufacturer,
+                Price = x.Price,
+                Packaging = x.Packaging
+            }).OrderBy(x => x.Name);
         }
 
         public IQueryable<Medicine> GetByManufacturer(string Manufacturer)
         {
-            return _context.Medicines.Where(x => x.Name.Contains(Manufacturer)).OrderBy(x => x.Manufacturer);
+            return _context.Medicines.Take(50).Where(x => x.Name.Contains(Manufacturer))
+                .Select(x => new Medicine
+                {
+                    Name = x.Name,
+                    Strength = x.Strength,
+                    Form = x.Form,
+                    WayOfIssuing = x.WayOfIssuing,
+                    Manufacturer = x.Manufacturer,
+                    Price = x.Price,
+                    Packaging = x.Packaging
+                }).OrderBy(x => x.Manufacturer);
         }
 
         public IQueryable<Medicine> GetByName(string Name)
         {
-            return _context.Medicines.Where(medicine => medicine.Name.Contains(Name)).OrderBy(x => x.Name);
+            return _context.Medicines.Take(50).Where(medicine => medicine.Name.Contains(Name))
+                .Select(x => new Medicine
+                {
+                    Name = x.Name,
+                    Strength = x.Strength,
+                    Form = x.Form,
+                    WayOfIssuing = x.WayOfIssuing,
+                    Manufacturer = x.Manufacturer,
+                    Price = x.Price,
+                    Packaging = x.Packaging
+                }).OrderBy(x => x.Name);
         }
 
-        public void Remove(string medicine)
+        public void Remove(Medicine medicine)
         {
-            Medicine med = (Medicine)_context.Medicines.Where(medicine => medicine.Name.Equals(medicine));
-            _context.Medicines.Remove(med);
+            Medicine med = _context.Medicines.Where(medicine => medicine.Name.Equals(medicine.Name)).FirstOrDefault();
+            if (med != null)
+            {
+                _context.Medicines.Remove(med);
+                _context.SaveChangesAsync();
+            }
+
         }
     }
Index: FarmatikoData/FarmatikoRepo/PandemicRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/PandemicRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepo/PandemicRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -22,11 +22,25 @@
         public IQueryable<Pandemic> GetAll()
         {
-            return _context.Pandemics.OrderBy(x => x.Name);
+            return _context.Pandemics.Select(x => new Pandemic
+            {
+                Name = x.Name,
+                TotalMK = x.TotalMK,
+                ActiveMK = x.ActiveMK,
+                DeathsMK = x.DeathsMK,
+                NewMK = x.NewMK,
+                TotalGlobal = x.TotalGlobal,
+                DeathsGlobal = x.DeathsGlobal,
+                ActiveGlobal = x.ActiveGlobal
+            }).OrderBy(x => x.Name);
         }
 
         public void Remove(Pandemic pandemic)
         {
-            _context.Pandemics.Remove(pandemic);
-            _context.SaveChangesAsync();
+            var Pandem = _context.Pandemics.Where(x => x.Name.Equals(pandemic.Name)).FirstOrDefault();
+            if (Pandem != null)
+            {
+                _context.Pandemics.Remove(Pandem);
+                _context.SaveChangesAsync();
+            }
         }
     }
Index: FarmatikoData/FarmatikoRepo/PharmacyHeadRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/PharmacyHeadRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepo/PharmacyHeadRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -22,12 +22,25 @@
         public IQueryable<PharmacyHead> GetAllPharmacies(string NameOfPharmacyHeads)
         {
-            return _context.PharmacyHeads
-                .Where(pharmacyHead => pharmacyHead.Name.Contains(NameOfPharmacyHeads))
-                .OrderBy(x => x.Name);
+            return _context.PharmacyHeads.Where(pharmacyHead => pharmacyHead.Name.Contains(NameOfPharmacyHeads))
+                .Take(10).Select(x => new PharmacyHead
+                {
+                    MedicineLists = x.MedicineLists,
+                    PharmaciesList = x.PharmaciesList,
+                    Email = x.Email,
+                    Name = x.Name,
+                }).OrderBy(x => x.Name);
         }
         //Not needed
         public IQueryable<PharmacyHead> GetPharmacyByName(string Name)
         {
-            return _context.PharmacyHeads.Where(pharmacyHead => pharmacyHead.Name.Equals(Name));
+            return _context.PharmacyHeads.Take(10)
+                .Where(pharmacyHead => pharmacyHead.Name.Equals(Name))
+                .Select(x => new PharmacyHead
+                {
+                    MedicineLists = x.MedicineLists,
+                    PharmaciesList = x.PharmaciesList,
+                    Email = x.Email,
+                    Name = x.Name,
+                }).OrderBy(x => x.Name);
         }
 
@@ -35,14 +48,23 @@
         {
 
-            IQueryable<MedicineList> Pharmacy = (IQueryable<MedicineList>)_context.PharmacyHeads.Where(x => x.Name.Equals(NameOfPharmacy));
-            
+            IQueryable<MedicineList> Pharmacy = (IQueryable<MedicineList>)_context.PharmacyHeads
+                .Take(50)
+                .Where(x => x.Name.Equals(NameOfPharmacy))
+                .Select(x => new PharmacyHead
+                {
+                    MedicineLists = x.MedicineLists
+                }).OrderBy(x => x.Name);
+
             return Pharmacy;
         }
 
-        public void Remove(PharmacyHead pharmacyHead, string Name)
+        public void Remove(PharmacyHead pharmacyHead)
         {
-            var phead = (PharmacyHead)_context.PharmacyHeads.Where(phead => phead.Name.Equals(Name)).FirstOrDefault();
-            _context.PharmacyHeads.Remove(phead);
-            _context.SaveChangesAsync();
+            var phead = _context.PharmacyHeads.Where(phead => phead.Name.Equals(pharmacyHead.Name)).FirstOrDefault();
+            if (phead != null)
+            {
+                _context.PharmacyHeads.Remove(phead);
+                _context.SaveChangesAsync();
+            }
         }
     }
Index: FarmatikoData/FarmatikoRepo/PharmacyRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepo/PharmacyRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepo/PharmacyRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using FarmatikoData.FarmatikoRepoInterfaces;
 using FarmatikoData.Models;
+using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -18,36 +19,51 @@
         {
             _context.Pharmacies.Add(pharmacy);
-            _context.SaveChangesAsync();
+            _context.SaveChanges();
         }
         //Just for users
         public IQueryable<Pharmacy> GetAll()
         {
-            return _context.Pharmacies.OrderBy(x => x.Name);
+            return _context.Pharmacies.Take(50)
+                .Select(x => new Pharmacy
+                {
+                    Name = x.Name,
+                    Location = x.Location,
+                    Address = x.Address,
+                    WorkAllTime = x.WorkAllTime
+                }).OrderBy(x => x.Name);
         }
 
         public ICollection<Pharmacy> GetPharmacies()
         {
-            return (ICollection<Pharmacy>)_context.Pharmacies.Select(pharmacy => new
-            {
-                pharmacy.Name,
-                pharmacy.Address,
-                pharmacy.Location,
-                pharmacy.WorkAllTime
-            }).OrderBy(x => x.Name);
+            return (ICollection<Pharmacy>)_context.Pharmacies.Take(50)
+                .Select(pharmacy => new
+                {
+                    pharmacy.Name,
+                    pharmacy.Address,
+                    pharmacy.Location,
+                    pharmacy.WorkAllTime
+                }).OrderBy(x => x.Name);
         }
 
         public void Remove(Pharmacy pharmacy)
         {
-            var pharma = _context.Pharmacies.Where(pharm => pharm.Name.Equals(pharmacy.Name)).Cast<Pharmacy>();
-            _context.Pharmacies.Remove((Pharmacy)pharma);
-            _context.SaveChangesAsync();
+            var pharma = _context.Pharmacies.Where(pharm => pharm.Name.Equals(pharmacy.Name)).FirstOrDefault();
+            if (pharma != null)
+            {
+                _context.Pharmacies.Remove(pharmacy);
+                _context.SaveChangesAsync();
+            }
         }
 
-        public void UpdatePharmacy(Pharmacy pharmacy, string Name)
+        public void UpdatePharmacy(Pharmacy pharmacy)
         {
-            var oldPharmacy = _context.Pharmacies.Where(pharma => pharma.Name.Equals(Name)).Cast<Pharmacy>();
-            _context.Pharmacies.Remove((Pharmacy)oldPharmacy);
-            _context.Pharmacies.Add(pharmacy);
-            _context.SaveChangesAsync();
+            var oldPharmacy = _context.Pharmacies.Where(pharma => pharma.Name.Equals(pharmacy.Name)).FirstOrDefault();
+            if (oldPharmacy != null)
+            {
+                _context.Pharmacies.Remove(oldPharmacy);
+                _context.Pharmacies.Add(pharmacy);
+                _context.SaveChangesAsync();
+            }
+            throw new Exception("Pharmacy not found");
         }
     }
Index: FarmatikoData/FarmatikoRepoInterfaces/IHealthFacilityRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IHealthFacilityRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepoInterfaces/IHealthFacilityRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -9,4 +9,5 @@
         void Add(HealthFacilities healthFacility);
         void Remove(HealthFacilities healthFacility);
+        IQueryable<HealthFacilities> GetByName(string Name);
     }
 }
Index: FarmatikoData/FarmatikoRepoInterfaces/IMedicineRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IMedicineRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepoInterfaces/IMedicineRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -9,5 +9,5 @@
         IQueryable<Medicine> GetByName(string Name);
         void Add(Medicine medicine);
-        void Remove(string medicine);
+        void Remove(Medicine medicine);
         IQueryable<Medicine> GetByManufacturer(string Manufacturer);
 
Index: FarmatikoData/FarmatikoRepoInterfaces/IPharmacyHeadRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IPharmacyHeadRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepoInterfaces/IPharmacyHeadRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -7,5 +7,5 @@
     {
         void Add(PharmacyHead pharmacyHead);
-        void Remove(PharmacyHead pharmacyHead, string Name);
+        void Remove(PharmacyHead pharmacyHead);
         IQueryable<PharmacyHead> GetAllPharmacies(string NameOfPharmacyHead);
         //Not actually needed
Index: FarmatikoData/FarmatikoRepoInterfaces/IPharmacyRepository.cs
===================================================================
--- FarmatikoData/FarmatikoRepoInterfaces/IPharmacyRepository.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/FarmatikoRepoInterfaces/IPharmacyRepository.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -11,5 +11,5 @@
         IQueryable<Pharmacy> GetAll();
         void Remove(Pharmacy pharmacy);
-        void UpdatePharmacy(Pharmacy pharmacy, string Name);
+        void UpdatePharmacy(Pharmacy pharmacy);
 
     }
Index: FarmatikoData/Models/HealthFacilities.cs
===================================================================
--- FarmatikoData/Models/HealthFacilities.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/Models/HealthFacilities.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -22,4 +22,13 @@
         public string Email { get; set; }
         public string Phone { get; set; }
+        public HealthFacilities(string Name, string Municipality, string Address, string Type, string Email, string Phone)
+        {
+            this.Name = Name;
+            this.Municipality = Municipality;
+            this.Address = Address;
+            this.Type = Type;
+            this.Email = Email;
+            this.Phone = Phone;
+        }
     }
 }
Index: FarmatikoData/Models/HealthcareWorkers.cs
===================================================================
--- FarmatikoData/Models/HealthcareWorkers.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/Models/HealthcareWorkers.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -18,4 +18,11 @@
         public HealthFacilities Facility { get; set; }
         public string Title { get; set; }
+        public HealthcareWorkers(string Name, string Branch, HealthFacilities Facility, string Title)
+        {
+            this.Name = Name;
+            this.Branch = Branch;
+            this.Facility = Facility;
+            this.Title = Title;
+        }
     }
 }
Index: FarmatikoData/Models/Medicine.cs
===================================================================
--- FarmatikoData/Models/Medicine.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/Models/Medicine.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -13,4 +13,14 @@
         public float Price { get; set; }
         public string Packaging { get; set; }
+        public Medicine(string Name, string Strength, string Form, string WayOfIssuing, string Manufacturer, float Price, string Packaging)
+        {
+            this.Name = Name;
+            this.Strength = Strength;
+            this.Form = Form;
+            this.WayOfIssuing = WayOfIssuing;
+            this.Manufacturer = Manufacturer;
+            this.Price = Price;
+            this.Packaging = Packaging;
+        }
 
     }
Index: FarmatikoData/Models/MedicineList.cs
===================================================================
--- FarmatikoData/Models/MedicineList.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/Models/MedicineList.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -8,6 +8,14 @@
     public class MedicineList : BaseEntity
     {
+        public MedicineList()
+        {
+        }
         public Medicine Medicine { get; set; }
         public bool HasMedicine { get; set; }
+        public MedicineList(Medicine Medicine, bool HasMedicine)
+        {
+            this.Medicine = Medicine;
+            this.HasMedicine = HasMedicine;
+        }
         /*public ICollection<MedicineList> MedicinesList { get; set; }
         public MedicineList()
Index: FarmatikoData/Models/Pharmacy.cs
===================================================================
--- FarmatikoData/Models/Pharmacy.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoData/Models/Pharmacy.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -14,4 +14,11 @@
         public string Address { get; set; }
         public bool WorkAllTime { get; set; }
+        public Pharmacy(string Name, string Location, string Address, bool WorkAllTime)
+        {
+            this.Name = Name;
+            this.Location = Location;
+            this.Address = Address;
+            this.WorkAllTime = WorkAllTime;
+        }
     }
 }
Index: FarmatikoServices/FarmatikoServiceInterfaces/IHealthFacilityService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IHealthFacilityService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IHealthFacilityService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using FarmatikoData.Models;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoData
@@ -6,5 +7,5 @@
     public interface IHealthFacilityService
     {
-        IQueryable<HealthFacilities> GetAll();
+        Task<IQueryable<HealthFacilities>> GetAll();
         void Add(HealthFacilities healthFacility);
         void Remove(HealthFacilities healthFacility);
Index: FarmatikoServices/FarmatikoServiceInterfaces/IHealthcareWorkerService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IHealthcareWorkerService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IHealthcareWorkerService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using FarmatikoData.Models;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.FarmatikoServiceInterfaces
@@ -6,5 +7,5 @@
     public interface IHealthcareWorkerService
     {
-        IQueryable<HealthcareWorkers> GetAll();
+        Task<IQueryable<HealthcareWorkers>> GetAll();
         void Add(HealthcareWorkers healthcareWorker);
         void Remove(HealthcareWorkers healthcareWorker);
Index: FarmatikoServices/FarmatikoServiceInterfaces/IMedicineListService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IMedicineListService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IMedicineListService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -2,4 +2,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.FarmatikoServiceInterfaces
@@ -7,8 +8,8 @@
     public interface IMedicineListService
     {
-        IQueryable<MedicineList> GetAll();
+        Task<IQueryable<MedicineList>> GetAll();
         //SetHasMedicine(MedicineList medicineList, bool HasMedicine);
-        ICollection<MedicineList> GetByName(string Name);
-        ICollection<MedicineList> GetByManufacturer(string Manufacturer);
+        Task<ICollection<MedicineList>> GetByName(string Name);
+        Task<ICollection<MedicineList>> GetByManufacturer(string Manufacturer);
         void Add(MedicineList medicineList);
         void Remove(MedicineList medicineList);
Index: FarmatikoServices/FarmatikoServiceInterfaces/IMedicineService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IMedicineService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IMedicineService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using FarmatikoData.Models;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.FarmatikoServiceInterfaces
@@ -6,9 +7,9 @@
     public interface IMedicineService
     {
-        IQueryable<Medicine> GetAll();
+        Task<IQueryable<Medicine>> GetAll();
         void Add(Medicine medicine);
-        void Remove(string Medicine);
-        IQueryable<Medicine> GetByName(string Name);
-        IQueryable<Medicine> GetByManufacturer(string Manufacturer);
+        void Remove(Medicine Medicine);
+        Task<IQueryable<Medicine>> GetByName(string Name);
+        Task<IQueryable<Medicine>> GetByManufacturer(string Manufacturer);
     }
 }
Index: FarmatikoServices/FarmatikoServiceInterfaces/IPandemicService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IPandemicService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IPandemicService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using FarmatikoData.Models;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.FarmatikoServiceInterfaces
@@ -7,5 +8,5 @@
     {
         void Add(Pandemic pandemic);
-        IQueryable<Pandemic> GetAll();
+        Task<IQueryable<Pandemic>> GetAll();
         void Remove(Pandemic pandemic);
     }
Index: FarmatikoServices/FarmatikoServiceInterfaces/IPharmacyHeadService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IPharmacyHeadService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IPharmacyHeadService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -1,4 +1,5 @@
 ﻿using FarmatikoData.Models;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.FarmatikoServiceInterfaces
@@ -7,9 +8,9 @@
     {
         void Add(PharmacyHead pharmacyHead);
-        void Remove(PharmacyHead pharmacyHead, string Name);
-        IQueryable<PharmacyHead> GetAllPharmacies(string NameOfPharmacyHead);
+        void Remove(PharmacyHead pharmacyHead);
+        Task<IQueryable<PharmacyHead>> GetAllPharmacies(string NameOfPharmacyHead);
         //Not actually needed
-        IQueryable<PharmacyHead> GetPharmacyByName(string Name);
-        IQueryable<MedicineList> GetPharmacyMedicines(string NameOfPharmacy);
+        Task<IQueryable<PharmacyHead>> GetPharmacyByName(string Name);
+        Task<IQueryable<MedicineList>> GetPharmacyMedicines(string NameOfPharmacy);
     }
 }
Index: FarmatikoServices/FarmatikoServiceInterfaces/IPharmacyService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IPharmacyService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IPharmacyService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -2,4 +2,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.FarmatikoServiceInterfaces
@@ -8,8 +9,8 @@
     {
         void Add(Pharmacy pharmacy);
-        ICollection<Pharmacy> GetPharmacies();
-        IQueryable<Pharmacy> GetAll();
+        Task<ICollection<Pharmacy>> GetPharmacies();
+        Task<IQueryable<Pharmacy>> GetAll();
         void Remove(Pharmacy pharmacy);
-        void UpdatePharmacy(Pharmacy pharmacy, string Name);
+        void UpdatePharmacy(Pharmacy pharmacy);
     }
 }
Index: FarmatikoServices/FarmatikoServiceInterfaces/IProcessJSONService.cs
===================================================================
--- FarmatikoServices/FarmatikoServiceInterfaces/IProcessJSONService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/FarmatikoServiceInterfaces/IProcessJSONService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -3,4 +3,5 @@
 using System.Collections.Generic;
 using System.Text;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.FarmatikoServiceInterfaces
@@ -8,5 +9,8 @@
     public interface IProcessJSONService
     {
-        List<HealthFacilities> GetProcessedHealthFacilitiesFromJSON();
+        Task<HashSet<HealthFacilities>> GetProcessedHealthFacilitiesFromJSON();
+        Task<HashSet<Pandemic>> GetProcessedPandemicsFromJSONApi();
+        Task<HashSet<HealthcareWorkers>> GetProcessedHealthcareWorkersFromJSON();
+        Task<HashSet<Medicine>> GetProcessedMedicinesFromJSON();
     }
 }
Index: FarmatikoServices/Services/HealthFacilityService.cs
===================================================================
--- FarmatikoServices/Services/HealthFacilityService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/HealthFacilityService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -4,4 +4,5 @@
 using System;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices
@@ -16,35 +17,22 @@
         }
 
-        public void Add(HealthFacilities healthFacility)
+        public async void Add(HealthFacilities healthFacility)
         {
-            try
-            {
-                if (healthFacility != null)
-                    _healthFacilityRepository.Add(healthFacility);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't Add health facility is null");
-                throw e;
-            }
+            if (healthFacility != null)
+                await Task.Run(() => _healthFacilityRepository.Add(healthFacility));
+            else throw new Exception("Can't add, health facility is null");
         }
 
-        public IQueryable<HealthFacilities> GetAll()
+        public async Task<IQueryable<HealthFacilities>> GetAll()
         {
-            return _healthFacilityRepository.GetAll();
+            return await Task.Run(() => _healthFacilityRepository.GetAll());
         }
 
-        public void Remove(HealthFacilities healthFacility)
+        public async void Remove(HealthFacilities healthFacility)
         {
-            try
-            {
-                if (healthFacility != null)
-                    _healthFacilityRepository.Remove(healthFacility);
-            } 
-            catch(Exception e)
-            {
-                e = new Exception("Can't Remove health facility is null");
-                throw e;
-            }
+            if (healthFacility != null)
+                await Task.Run(() => _healthFacilityRepository.Remove(healthFacility));
+            else throw new Exception("Can't Remove health facility is null");
+
         }
     }
Index: FarmatikoServices/Services/HealthcareWorkerService.cs
===================================================================
--- FarmatikoServices/Services/HealthcareWorkerService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/HealthcareWorkerService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -4,4 +4,5 @@
 using System;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.Services
@@ -14,35 +15,24 @@
             _healthcareWorkerRepo = healthcareWorkerRepo;
         }
-        public void Add(HealthcareWorkers healthcareWorker)
+        public async void Add(HealthcareWorkers healthcareWorker)
         {
-            try
-            {
-                if (healthcareWorker != null)
-                    _healthcareWorkerRepo.Add(healthcareWorker);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't Add healthcare worker is null");
-                throw e;
-            }
+            if (healthcareWorker != null)
+                await Task.Run(() => _healthcareWorkerRepo.Add(healthcareWorker));
+            else throw new Exception("Can't add, healthcare worker is null");
         }
 
-        public IQueryable<HealthcareWorkers> GetAll()
+        public async Task<IQueryable<HealthcareWorkers>> GetAll()
         {
-            return _healthcareWorkerRepo.GetAll();
+            var healthCareWorkers = await Task.Run(() => _healthcareWorkerRepo.GetAll());
+            if (healthCareWorkers != null)
+                return healthCareWorkers;
+            return null;
         }
 
-        public void Remove(HealthcareWorkers healthcareWorker)
+        public async void Remove(HealthcareWorkers healthcareWorker)
         {
-            try
-            {
-                if (healthcareWorker != null)
-                    _healthcareWorkerRepo.Remove(healthcareWorker);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't Remove healthcare worker is null");
-                throw e;
-            }
+            if (healthcareWorker != null)
+                await Task.Run(() => _healthcareWorkerRepo.Remove(healthcareWorker));
+            else throw new Exception("Can't Remove healthcare worker is null");
         }
     }
Index: FarmatikoServices/Services/MedicineListService.cs
===================================================================
--- FarmatikoServices/Services/MedicineListService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/MedicineListService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -5,4 +5,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.Services
@@ -16,70 +17,35 @@
         }
 
-        public void Add(MedicineList medicineList)
+        public async void Add(MedicineList medicineList)
         {
-            try
-            {
-                if (medicineList != null)
-                    _medicineListRepository.Add(medicineList);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't add the medicine list is null.");
-                throw e;
-            }
+            if (medicineList != null)
+                await Task.Run(() => _medicineListRepository.Add(medicineList));
+            else throw new Exception("Can't add, the medicine list is null.");
         }
 
-        public IQueryable<MedicineList> GetAll()
+        public async Task<IQueryable<MedicineList>> GetAll()
         {
-            return _medicineListRepository.GetAll();
+            return await Task.Run(() => _medicineListRepository.GetAll());
         }
 
-        public ICollection<MedicineList> GetByManufacturer(string Manufacturer)
+        public async Task<ICollection<MedicineList>> GetByManufacturer(string Manufacturer)
         {
-            try
-            {
-                if (Manufacturer != null)
-                {
-
-                    return _medicineListRepository.GetByManufacturer(Manufacturer);
-                }
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't get name of manufacturer is null");
-                throw e;
-            }
-            return null;
+            if (Manufacturer != null)
+                return await Task.Run(() => _medicineListRepository.GetByManufacturer(Manufacturer));
+            else throw new Exception("Can't get, name of manufacturer is null");
         }
 
-        public ICollection<MedicineList> GetByName(string Name)
+        public async Task<ICollection<MedicineList>> GetByName(string Name)
         {
-            try
-            {
-                if (Name != null)
-                {
-                    return _medicineListRepository.GetByName(Name);
-                }
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't get name is null");
-                throw e;
-            }
-            return null;
+            if (Name != null)
+                return await Task.Run(() => _medicineListRepository.GetByName(Name));
+            else throw new Exception("Can't get, name is null");
         }
 
-        public void Remove(MedicineList medicineList)
+        public async void Remove(MedicineList medicineList)
         {
-            try
-            {
-                if (medicineList != null)
-                    _medicineListRepository.Remove(medicineList);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't remove the medicine list is null.");
-                throw e;
-            }
+            if (medicineList != null)
+                await Task.Run(() => _medicineListRepository.Remove(medicineList));
+            else throw new Exception("Can't remove, the medicine list is null.");
         }
     }
Index: FarmatikoServices/Services/MedicineService.cs
===================================================================
--- FarmatikoServices/Services/MedicineService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/MedicineService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -5,4 +5,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.Services
@@ -16,66 +17,35 @@
         }
 
-        public void Add(Medicine medicine)
+        public async void Add(Medicine medicine)
         {
-            try
-            {
-                if (medicine != null)
-                    _medicineRepository.Add(medicine);
-            } 
-            catch (Exception e) 
-            {
-                e = new Exception("Can't Add medicine is null");
-                throw e;
-            }
+            if (medicine != null)
+                await Task.Run(() => _medicineRepository.Add(medicine));
+            else throw new Exception("Can't Add medicine is null");
         }
 
-        public IQueryable<Medicine> GetAll()
+        public async Task<IQueryable<Medicine>> GetAll()
         {
-            return _medicineRepository.GetAll();
+            return await Task.Run(() => _medicineRepository.GetAll());
         }
 
-        public IQueryable<Medicine> GetByManufacturer(string Manufacturer)
+        public async Task<IQueryable<Medicine>> GetByManufacturer(string Manufacturer)
         {
-            try
-            {
-                if (Manufacturer != null)
-                    return _medicineRepository.GetByManufacturer(Manufacturer);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't get, name of manufacturer is null");
-                throw e;
-            }
-            
-            return null;
+            if (Manufacturer != null)
+                return await Task.Run(() => _medicineRepository.GetByManufacturer(Manufacturer));
+            else throw new Exception("Can't get, name of manufacturer is null");
         }
 
-        public IQueryable<Medicine> GetByName(string Name)
+        public async Task<IQueryable<Medicine>> GetByName(string Name)
         {
-            try
-            {
-                if (Name != null)
-                    return _medicineRepository.GetByName(Name);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't get, name is null");
-            }
-            
-            return null;
+            if (Name != null)
+                return await Task.Run(() => _medicineRepository.GetByName(Name));
+            else throw new Exception("Can't get, name is null");
         }
 
-        public void Remove(string Medicine)
+        public async void Remove(Medicine Medicine)
         {
-            try
-            {
-                if (Medicine != null)
-                    _medicineRepository.Remove(Medicine);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't Add medicine is null");
-                throw e;
-            }
+            if (Medicine != null)
+                await Task.Run(() => _medicineRepository.Remove(Medicine));
+            else throw new Exception("Can't Add medicine is null");
         }
     }
Index: FarmatikoServices/Services/PandemicService.cs
===================================================================
--- FarmatikoServices/Services/PandemicService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/PandemicService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -4,4 +4,5 @@
 using System;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.Services
@@ -15,36 +16,21 @@
         }
 
-        public void Add(Pandemic pandemic)
+        public async void Add(Pandemic pandemic)
         {
-            try
-            {
-                if (pandemic != null)
-                {
-                    _pandemicRepository.Add(pandemic);
-                }
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't add pandemic is null.");
-                throw e;
-            }
+            if (pandemic != null)
+                await Task.Run(() => _pandemicRepository.Add(pandemic));
+            else throw new Exception("Can't add pandemic is null.");
         }
 
-        public IQueryable<Pandemic> GetAll()
+        public async Task<IQueryable<Pandemic>> GetAll()
         {
-            return _pandemicRepository.GetAll();
+            return await Task.Run(() => _pandemicRepository.GetAll());
         }
 
-        public void Remove(Pandemic pandemic)
+        public async void Remove(Pandemic pandemic)
         {
-            try
-            {
-                if (pandemic != null)
-                    _pandemicRepository.Remove(pandemic);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't remove, pandemic is null.");
-            }
+            if (pandemic != null)
+                await Task.Run(() => _pandemicRepository.Remove(pandemic));
+            else throw new Exception("Can't remove, pandemic is null.");
         }
     }
Index: FarmatikoServices/Services/PharmacyHeadService.cs
===================================================================
--- FarmatikoServices/Services/PharmacyHeadService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/PharmacyHeadService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -4,4 +4,5 @@
 using System;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.Services
@@ -15,36 +16,27 @@
         }
 
-        public void Add(PharmacyHead pharmacyHead)
+        public async void Add(PharmacyHead pharmacyHead)
         {
-            try
-            {
-                if (pharmacyHead != null)
-                {
-                    _pharmacyHeadRepository.Add(pharmacyHead);
-                }
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't add, pharmacy head is null.");
-            }
-
+            if (pharmacyHead != null)
+                await Task.Run(() => _pharmacyHeadRepository.Add(pharmacyHead));
+            else throw new Exception("Can't add, pharmacy head is null.");
         }
 
-        public IQueryable<PharmacyHead> GetAllPharmacies(string NameOfPharmacyHead)
+        public async Task<IQueryable<PharmacyHead>> GetAllPharmacies(string NameOfPharmacyHead)
         {
             if (NameOfPharmacyHead != null)
             {
-                IQueryable<PharmacyHead> Pharmacy = _pharmacyHeadRepository.GetAllPharmacies(NameOfPharmacyHead);
-                if (Pharmacy != null)
-                    return Pharmacy;
+                IQueryable<PharmacyHead> pharmacies = await Task.Run(() => _pharmacyHeadRepository.GetAllPharmacies(NameOfPharmacyHead));
+                if (pharmacies != null)
+                    return pharmacies;
             }
             return null;
         }
 
-        public IQueryable<PharmacyHead> GetPharmacyByName(string Name)
+        public async Task<IQueryable<PharmacyHead>> GetPharmacyByName(string Name)
         {
             if (Name != null)
             {
-                IQueryable<PharmacyHead> PharmacyHead = _pharmacyHeadRepository.GetPharmacyByName(Name);
+                IQueryable<PharmacyHead> PharmacyHead = await Task.Run(() => _pharmacyHeadRepository.GetPharmacyByName(Name));
                 if (PharmacyHead != null)
                     return PharmacyHead;
@@ -53,9 +45,9 @@
         }
 
-        public IQueryable<MedicineList> GetPharmacyMedicines(string NameOfPharmacy)
+        public async Task<IQueryable<MedicineList>> GetPharmacyMedicines(string NameOfPharmacy)
         {
             if (NameOfPharmacy != null)
             {
-                IQueryable<MedicineList> Medicines = _pharmacyHeadRepository.GetPharmacyMedicines(NameOfPharmacy);
+                IQueryable<MedicineList> Medicines = await Task.Run(() => _pharmacyHeadRepository.GetPharmacyMedicines(NameOfPharmacy));
                 if (Medicines != null)
                     return Medicines;
@@ -64,18 +56,9 @@
         }
 
-        public void Remove(PharmacyHead pharmacyHead, string Name)
+        public async void Remove(PharmacyHead pharmacyHead)
         {
-            try
-            {
-                if (Name != null)
-                {
-                    _pharmacyHeadRepository.Remove(pharmacyHead, Name);
-                }
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't remove, name of pharmacy head is null.");
-            }
-
+            if (pharmacyHead != null)
+                await Task.Run(() => _pharmacyHeadRepository.Remove(pharmacyHead));
+            else throw new Exception("Can't remove, name of pharmacy head is null.");
         }
     }
Index: FarmatikoServices/Services/PharmacyService.cs
===================================================================
--- FarmatikoServices/Services/PharmacyService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/PharmacyService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -5,4 +5,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.Services
@@ -15,60 +16,33 @@
             _pharmacyRepository = pharmacyRepository;
         }
-        public void Add(Pharmacy pharmacy)
+        public async void Add(Pharmacy pharmacy)
         {
-            try
-            {
-                if (pharmacy != null)
-                {
-                    _pharmacyRepository.Add(pharmacy);
-                }
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't add, pharmacy has null value.");
-                throw e;
-            }
-            
+            if (pharmacy != null)
+                await Task.Run(() => _pharmacyRepository.Add(pharmacy));
+            else throw new Exception("Can't add, pharmacy has null value.");
         }
 
-        public IQueryable<Pharmacy> GetAll()
+        public async Task<IQueryable<Pharmacy>> GetAll()
         {
-            return _pharmacyRepository.GetAll();
+            return await Task.Run(() => _pharmacyRepository.GetAll());
         }
 
-        public ICollection<Pharmacy> GetPharmacies()
+        public async Task<ICollection<Pharmacy>> GetPharmacies()
         {
-            return _pharmacyRepository.GetPharmacies();
+            return await Task.Run(() => _pharmacyRepository.GetPharmacies());
         }
 
-        public void Remove(Pharmacy pharmacy)
+        public async void Remove(Pharmacy pharmacy)
         {
-            try
-            {
-                if (pharmacy != null)
-                    _pharmacyRepository.Remove(pharmacy);
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can't remove, pharmacy has null value.");
-                throw e;
-            }
+            if (pharmacy != null)
+                await Task.Run(() => _pharmacyRepository.Remove(pharmacy));
+            else throw new Exception("Can't remove, pharmacy has null value.");
         }
 
-        public void UpdatePharmacy(Pharmacy pharmacy, string Name)
+        public async void UpdatePharmacy(Pharmacy pharmacy)
         {
-            try
-            {
-                if (pharmacy != null && Name != null)
-                {
-                    _pharmacyRepository.UpdatePharmacy(pharmacy, Name);
-                }
-            }
-            catch (Exception e)
-            {
-                e = new Exception("Can not update pharmacy, has null value.");
-                throw e;
-            }
-            
+            if (pharmacy != null)
+                await Task.Run(() => _pharmacyRepository.UpdatePharmacy(pharmacy));
+            else throw new Exception("Can not update pharmacy, has null value.");
         }
     }
Index: FarmatikoServices/Services/ProcessJSONService.cs
===================================================================
--- FarmatikoServices/Services/ProcessJSONService.cs	(revision a6bbad1439d117aaac680777eb7c30db9b61aa77)
+++ FarmatikoServices/Services/ProcessJSONService.cs	(revision c406ae5a1c295ffc299e7cdec5a799c013be390f)
@@ -10,4 +10,5 @@
 using FarmatikoServices.FarmatikoServiceInterfaces;
 using RestSharp;
+using System.Threading.Tasks;
 
 namespace FarmatikoServices.Services
@@ -15,30 +16,31 @@
     public class ProcessJSONService : IProcessJSONService
     {
-        //private IHealthFacilityRepository _healthFacilityRepository;
+        private IHealthFacilityRepository _healthFacilityRepository;
         private IPandemicRepository _pandemicRepository;
-        //private IHealthcareWorkerRepository _healthcareWorkerRepository;
-        //private IMedicineRepository _medicineRepository;
-        //private readonly ILogger _logger;
-        public ProcessJSONService(/*IHealthFacilityRepository healthFacilityRepository, */IPandemicRepository pandemicRepository/*,
-            IHealthcareWorkerRepository healthcareWorkerRepository, IMedicineRepository medicineRepository*/)
+        private IHealthcareWorkerRepository _healthcareWorkerRepository;
+        private IMedicineRepository _medicineRepository;
+        private readonly ILogger _logger;
+        public ProcessJSONService(IHealthFacilityRepository healthFacilityRepository, IPandemicRepository pandemicRepository,
+            IHealthcareWorkerRepository healthcareWorkerRepository, IMedicineRepository medicineRepository, ILogger logger)
         {
-            //_logger = logger;
-            //_healthFacilityRepository = healthFacilityRepository;
+            _logger = logger;
+            _healthFacilityRepository = healthFacilityRepository;
             _pandemicRepository = pandemicRepository;
-            //_healthcareWorkerRepository = healthcareWorkerRepository;
-            //_medicineRepository = medicineRepository;
+            _healthcareWorkerRepository = healthcareWorkerRepository;
+            _medicineRepository = medicineRepository;
         }
-        
-        public List<HealthFacilities> GetProcessedHealthFacilitiesFromJSON()
+
+        public async Task<HashSet<HealthFacilities>> GetProcessedHealthFacilitiesFromJSON()
         {
             try
             {
-                /*var client = new WebClient();
-                var json = client.DownloadString(@"C:\Users\Miki\Desktop\ustanovi.json");
+                HashSet<HealthFacilities> hashSet = new HashSet<HealthFacilities>();
+                var client = new WebClient();
+                var json = client.DownloadString(@"C:\Users\dslez\Desktop\ustanovi.json");
 
                 var jsonResponse = JObject.Parse(json);
                 var records = JArray.Parse(jsonResponse.GetValue("records").ToString());
 
-                foreach(var rec in records)
+                foreach (var rec in records)
                 {
                     dynamic obj = JsonConvert.DeserializeObject(rec.ToString());
@@ -49,19 +51,31 @@
                     var Phone = obj[11];
                     var Type = obj[5];
-                    HealthFacilities healthFacility = new HealthFacilities();
-                    healthFacility.Name = Name;
+                    HealthFacilities healthFacility = new HealthFacilities(Name, Municipality, Address, Type, Email, Phone);
+                    /*healthFacility.Name = Name;
                     healthFacility.Municipality = Municipality;
                     healthFacility.Address = Address;
                     healthFacility.Email = Email;
                     healthFacility.Phone = Phone;
-                    healthFacility.Type = Type;
-                    _healthFacilityRepository.Add(healthFacility);
-                    
-                }*/
+                    healthFacility.Type = Type;*/
+                    //hashSet.Add(healthFacility);
+                    await Task.Run(() => _healthFacilityRepository.Add(healthFacility));
 
+                }
 
+            }
+            catch (Exception e)
+            {
+                _logger.LogInformation(e.Message);
+                throw new Exception("Cannot process health facilities from JSON.");
+            }
+            return null;
+        }
 
-                var client1 = new RestClient("https://api.covid19api.com/summary");
-                var response = client1.Execute(new RestRequest());
+        public async Task<HashSet<Pandemic>> GetProcessedPandemicsFromJSONApi()
+        {
+            try
+            {
+                var client = new RestClient("https://api.covid19api.com/summary");
+                var response = client.Execute(new RestRequest());
                 string original = response.Content;
                 var jsonResponsePandemic = JObject.Parse(original);
@@ -78,6 +92,10 @@
                 var NewMK = Int32.Parse(objP.GetValue("NewConfirmed").ToString());
 
-                Pandemic pandemic = new Pandemic();
-                pandemic.TotalGlobal = TotalConfirmed;
+                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);
+                /*pandemic.TotalGlobal = TotalConfirmed;
                 pandemic.ActiveGlobal = TotalConfirmed - (TotalRecovered + TotalDeaths);
                 pandemic.DeathsGlobal = TotalDeaths;
@@ -86,10 +104,20 @@
                 pandemic.DeathsMK = TotalDeathsMK;
                 pandemic.NewMK = NewMK;
-                pandemic.Name = "Coronavirus";
-                _pandemicRepository.Add(pandemic);
+                pandemic.Name = "Coronavirus";*/
+                await Task.Run(() => _pandemicRepository.Add(pandemic));
+            }
+            catch (Exception e)
+            {
+                _logger.LogInformation(e.Message);
+            }
+            return null;
+        }
 
-
-
-                /*var jsonW = client.DownloadString(@"C:\Users\Miki\Desktop\rabotnici.json");
+        public async Task<HashSet<HealthcareWorkers>> GetProcessedHealthcareWorkersFromJSON()
+        {
+            try
+            {
+                var client = new WebClient();
+                var jsonW = client.DownloadString(@"C:\Users\dslez\Desktop\rabotnici.json");
 
                 var jsonResponseW = JObject.Parse(jsonW);
@@ -101,20 +129,33 @@
                     var Name = obj[4];
                     var Branch = obj[2];
-                    HealthFacilities facility = new HealthFacilities();
-                    facility.Name = obj[1];
-                    facility.Municipality = "WorkerFacilityMunicipality";
-                    facility.Address = "WorkerFacilityAddress";
+                    var FacilityName = obj[1];
                     var Title = obj[3];
-                    HealthcareWorkers healthcareWorker = new HealthcareWorkers();
-                    healthcareWorker.Name = Name;
+                    HealthFacilities facility = _healthFacilityRepository.GetByName(FacilityName);
+                    HealthFacilities Facility = new HealthFacilities(facility.Name, facility.Municipality, facility.Address,
+                                                                        facility.Type, facility.Email, facility.Phone);
+                    HealthcareWorkers healthcareWorker = new HealthcareWorkers(Name, Branch, Facility, Title);
+                    /*Facility.Name = obj[1];
+                    Facility.Municipality = "WorkerFacilityMunicipality";
+                    Facility.Address = "WorkerFacilityAddress";*/
+                    /*healthcareWorker.Name = Name;
                     healthcareWorker.Branch = Branch;
-                    healthcareWorker.Facility = facility;
-                    healthcareWorker.Title = Title;
-                    _healthcareWorkerRepository.Add(healthcareWorker);
+                    healthcareWorker.Facility = Facility;
+                    healthcareWorker.Title = Title;*/
+                    await Task.Run(() => _healthcareWorkerRepository.Add(healthcareWorker));
                 }
+            }
+            catch (Exception e)
+            {
+                _logger.LogInformation(e.Message);
+            }
+            return null;
+        }
 
-
-
-                var jsonM = client.DownloadString(@"C:\Users\Miki\Desktop\lekovi.json");
+        public async Task<HashSet<Medicine>> GetProcessedMedicinesFromJSON()
+        {
+            try
+            {
+                var client = new WebClient();
+                var jsonM = client.DownloadString(@"C:\Users\dslez\Desktop\lekovi.json");
 
                 var jsonResponseM = JObject.Parse(jsonM);
@@ -131,6 +172,6 @@
                     var Price = float.Parse(obj[17]);
                     var Packaging = obj[8];
-                    Medicine medicine = new Medicine();
-                    medicine.Name = Name;
+                    Medicine medicine = new Medicine(Name, Strength, Form, WayOfIssuing, Manufacturer, Price, Packaging);
+                    /*medicine.Name = Name;
                     medicine.Strength = Strength;
                     medicine.Form = Form;
@@ -138,20 +179,14 @@
                     medicine.Manufacturer = Manufacturer;
                     medicine.Price = Price;
-                    medicine.Packaging = Packaging;
-                    _medicineRepository.Add(medicine);
-                }*/
-
-
+                    medicine.Packaging = Packaging;*/
+                    await Task.Run(() => _medicineRepository.Add(medicine));
+                }
             }
             catch (Exception e)
             {
-                //_logger.LogError(e.Message);
-                Console.WriteLine(e.Message);
-                throw e;
-                return null;
+                _logger.LogInformation(e.Message);
             }
             return null;
         }
-
     }
 }
