Changeset 6f203af for FarmatikoServices


Ignore:
Timestamp:
10/28/20 22:06:48 (2 years ago)
Author:
DimitarSlezenkovski <dslezenkovski@…>
Branches:
master
Children:
993189e
Parents:
1454207
Message:

Change methods & add error controller

Location:
FarmatikoServices
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • FarmatikoServices/FarmatikoServiceInterfaces/IAdminService.cs

    r1454207 r6f203af  
    1010    public interface IAdminService
    1111    {
    12         Task<IQueryable<PharmacyHead>> GetPharmacyHeads();
    13         Task<IQueryable<RequestPharmacyHead>> GetCalimingRequests();
    14         Task RejectRequest(RequestPharmacyHead req);
     12        Task<IEnumerable<PharmacyHead>> GetPharmacyHeads();
     13        Task<IEnumerable<RequestPharmacyHead>> GetClaimingRequests();
     14        bool RejectRequest(RequestPharmacyHead req);
    1515    }
    1616}
  • FarmatikoServices/FarmatikoServiceInterfaces/IPHService.cs

    r1454207 r6f203af  
    1010    public interface IPHService
    1111    {
    12         Task<IQueryable<PharmacyHead>> GetPharmacyHeadInfo(string Token);
     12        Task<IEnumerable<PharmacyHead>> GetPharmacyHeadInfo(string Token);
    1313        Task UpdatePharmacyHead(PharmacyHead pharmacyHead);
    1414        Task<int> Login(PharmacyHead pharmacyHead);
    15         Task ClaimPharmacy(RequestPharmacyHead pharmacy);
     15        Task<bool> ClaimPharmacy(RequestPharmacyHead pharmacy);
     16        Task<PharmacyHead> GetPharmacyHeadByIdAsync(int id);
     17        Task<bool> Add(PharmacyHead pharmacyHead);
     18        Task<bool> Remove(int id);
     19        Task<bool> RemoveClaimingRequest(int id);
    1620    }
    1721}
  • FarmatikoServices/FarmatikoServiceInterfaces/IService.cs

    r1454207 r6f203af  
    11using FarmatikoData.Models;
     2using System.Collections.Generic;
    23using System.Linq;
    34using System.Threading.Tasks;
     
    89    {
    910        //GET
    10         Task<IQueryable<HealthcareWorker>> GetAllWorkers();
    11         Task<IQueryable<HealthcareWorker>> SearchWorkers(string query);
     11        Task<IEnumerable<HealthcareWorker>> GetAllWorkers();
     12        Task<IEnumerable<HealthcareWorker>> SearchWorkers(string query);
    1213        Task<HealthcareWorker> GetWorker(int id);
    13         Task<IQueryable<HealthFacility>> GetFacilities();
    14         Task<IQueryable<HealthFacility>> SearchFacilities(string query);
     14        Task<IEnumerable<HealthFacility>> GetFacilities();
     15        Task<IEnumerable<HealthFacility>> SearchFacilities(string query);
    1516        Task<HealthFacility> GetFacility(int id);
    1617        Task<HealthFacility> GetFacilityJSON(string healthFacility);
    1718        Task<Medicine> GetMedicine(int id);
    18         Task<IQueryable<Medicine>> SearchMedicines(string query);
    19         Task<IQueryable<Medicine>> GetMedicines();
     19        Task<IEnumerable<Medicine>> SearchMedicines(string query);
     20        Task<IEnumerable<Medicine>> GetMedicines();
    2021        Task<Pandemic> GetPandemic();
    21         Task<IQueryable<Pharmacy>> GetPharmacies();
    22         Task<IQueryable<Pharmacy>> SearchPharmacies(string query);
     22        Task<IEnumerable<Pharmacy>> GetPharmacies();
     23        Task<IEnumerable<Pharmacy>> SearchPharmacies(string query);
    2324        Task<Pharmacy> GetPharmacy(int id);
    2425        //POST
     
    3132        Task UpdateFacility(HealthFacility healthFacilities);
    3233        Task RemoveMedicine(Medicine medicine);
    33         Task RemovePharmacyHead(PharmacyHead pharmacyHead);
     34        Task RemovePharmacyHead(int Id);
    3435        Task UpdatePandemic(Pandemic pandemic);
    3536        Task RemovePharmacy(Pharmacy pharmacy);
  • FarmatikoServices/FarmatikoServices.csproj

    r1454207 r6f203af  
    66
    77  <ItemGroup>
     8    <PackageReference Include="EPPlus" Version="5.4.0" />
    89    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
    910    <PackageReference Include="RestSharp" Version="106.11.4" />
  • FarmatikoServices/Services/AdminService.cs

    r1454207 r6f203af  
    55using System.Collections.Generic;
    66using System.Linq;
    7 using System.Text;
    87using System.Threading.Tasks;
    98
     
    1817        }
    1918
    20         public async Task<IQueryable<RequestPharmacyHead>> GetCalimingRequests()
     19        public async Task<IEnumerable<RequestPharmacyHead>> GetClaimingRequests()
    2120        {
    22             var req = await Task.Run(() => _adminRepo.GetClaimingRequests());
    23             return req;
     21            var req = await _adminRepo.GetClaimingRequests();
     22            if (req != null)
     23                return req;
     24            throw new Exception("No data is found.");
    2425        }
    2526
    26         public async Task<IQueryable<PharmacyHead>> GetPharmacyHeads()
     27        public async Task<IEnumerable<PharmacyHead>> GetPharmacyHeads()
    2728        {
    28             var PHeads = await Task.Run(() => _adminRepo.GetPharmacyHeads());
    29             return PHeads;
     29            var PHeads = await _adminRepo.GetPharmacyHeads();
     30            var list = PHeads.Select(x => x.DeletedOn == null);
     31            if (list != null)
     32            {
     33                return PHeads;
     34            }
     35            throw new Exception("No data is found.");
    3036        }
    3137
    32         public async Task RejectRequest(RequestPharmacyHead req)
     38        public bool RejectRequest(RequestPharmacyHead req)
    3339        {
    34             await _adminRepo.RemoveClaimRequest(req);
     40            if (req != null)
     41            {
     42                _adminRepo.RemoveClaimRequest(req);
     43                return true;
     44            }
     45            return false;
    3546        }
    3647    }
  • FarmatikoServices/Services/PHService.cs

    r1454207 r6f203af  
    1818        }
    1919
    20         public async Task ClaimPharmacy(RequestPharmacyHead pharmacy)
     20        public async Task<bool> ClaimPharmacy(RequestPharmacyHead pharmacy)
    2121        {
    22             await _iPHRepo.ClaimPharmacy(pharmacy);
     22            if (pharmacy != null)
     23            {
     24                await _iPHRepo.ClaimPharmacy(pharmacy);
     25                return true;
     26            }
     27            return false;
    2328        }
    2429
    25         public Task<IQueryable<PharmacyHead>> GetPharmacyHeadInfo(string Token)
     30        public async Task<PharmacyHead> GetPharmacyHeadByIdAsync(int id)
    2631        {
    27             throw new NotImplementedException();
     32            PharmacyHead Phead = null;
     33            if (id >= 0)
     34                Phead = await _iPHRepo.GetPharmacyHeadByIdAsync(id);
     35            if (Phead != null)
     36                return Phead;
     37            throw new Exception("No data found.");
     38        }
     39
     40        public async Task<IEnumerable<PharmacyHead>> GetPharmacyHeadInfo(string Token)
     41        {
     42            var PHeads = await _iPHRepo.GetPharmacyHeadInfo();
     43            if (PHeads != null)
     44                return PHeads;
     45            throw new Exception("No Pharmacy heads found.");
    2846        }
    2947
    3048        public async Task<int> Login(PharmacyHead pharmacyHead)
    3149        {
    32             var PHead = await Task.Run(() => _iPHRepo.GetPharmacyHead(pharmacyHead));
     50            var PHead = await _iPHRepo.GetPharmacyHeadByIdAsync(pharmacyHead.Id);
    3351            if (PHead.Password.Equals(pharmacyHead.Password))
    3452                return PHead.Id;
     
    4361            else throw new Exception("PharmacyHead has a null value.");
    4462        }
     63        public async Task<bool> Add(PharmacyHead pharmacyHead)
     64        {
     65            if (pharmacyHead != null)
     66            {
     67                await _iPHRepo.Add(pharmacyHead);
     68                return true;
     69            }
     70            return false;
     71        }
     72
     73        public async Task<bool> Remove(int id)
     74        {
     75            PharmacyHead Phead = await _iPHRepo.GetPharmacyHeadByIdAsync(id);
     76            if (Phead != null && id >= 0)
     77            {
     78                Phead.DeletedOn = DateTime.UtcNow;
     79                await _iPHRepo.Remove(Phead);
     80                return true;
     81            }
     82            return false;
     83        }
     84
     85        public async Task<bool> RemoveClaimingRequest(int id)
     86        {
     87            if (id >= 0)
     88            {
     89                await _iPHRepo.RemoveClaimingRequest(id);
     90                return true;
     91            }
     92            return false;
     93        }
    4594    }
    4695}
  • FarmatikoServices/Services/ProcessJSONService.cs

    r1454207 r6f203af  
    2929        public async Task<Medicine> ReadPharmaciesFromExcel()
    3030        {
    31             var client = new WebClient();
    32             string Path = client.DownloadString(@"C:\Users\dslez\Desktop\apteki-fzo.xlsx");
    33             using (var package = new ExcelPackage(new FileInfo(Path)))
    34             {
    35                 var Sheet = package.Workbook.Worksheets[1];
    36                 for (int i = 2; i < Sheet.Dimension.End.Row; ++i)
    37                 {
    38                     Pharmacy pharmacy = new Pharmacy()
     31            try
     32            {
     33                var client = new WebClient();
     34                string Path = client.DownloadString(@"C:\Users\dslez\Desktop\apteki-fzo.xlsx");
     35                using (var package = new ExcelPackage(new FileInfo(Path)))
     36                {
     37                    var Sheet = package.Workbook.Worksheets[1];
     38                    for (int i = 2; i < Sheet.Dimension.End.Row; ++i)
    3939                    {
    40                         Name = Sheet.Cells[i, 2].Value.ToString(),
    41                         Address = Sheet.Cells[i, 3].Value.ToString(),
    42                         Location = Sheet.Cells[i, 4].Value.ToString(),
    43                         WorkAllTime = false
    44                     };
    45                     await _service.AddPharmacy(pharmacy);
    46                 }
     40                        Pharmacy pharmacy = new Pharmacy()
     41                        {
     42                            Name = Sheet.Cells[i, 2].Value.ToString(),
     43                            Address = Sheet.Cells[i, 3].Value.ToString(),
     44                            Location = Sheet.Cells[i, 4].Value.ToString(),
     45                            WorkAllTime = false
     46                        };
     47                        await _service.AddPharmacy(pharmacy);
     48                    }
     49                }
     50
     51            }
     52            catch(Exception e)
     53            {
     54                _logger.LogInformation(e.Message);
     55                throw new Exception("Cannot process Medicines from Excel.");
    4756            }
    4857            return null;
  • FarmatikoServices/Services/Service.cs

    r1454207 r6f203af  
    33using FarmatikoServices.FarmatikoServiceInterfaces;
    44using System;
     5using System.Collections.Generic;
    56using System.Linq;
    67using System.Threading.Tasks;
     
    1718
    1819        //GET
    19         public async Task<IQueryable<HealthcareWorker>> GetAllWorkers()
     20        public async Task<IEnumerable<HealthcareWorker>> GetAllWorkers()
    2021        {
    2122            var Workers = await _repository.GetAllWorkers();
     
    2324        }
    2425
    25         public async Task<IQueryable<HealthFacility>> GetFacilities()
     26        public async Task<IEnumerable<HealthFacility>> GetFacilities()
    2627        {
    2728            var Facilities = await _repository.GetFacilities();
     
    4142        }
    4243
    43         public async Task<IQueryable<Medicine>> GetMedicines()
     44        public async Task<IEnumerable<Medicine>> GetMedicines()
    4445        {
    4546            var Medicines = await _repository.GetMedicines();
     
    5354        }
    5455
    55         public async Task<IQueryable<Pharmacy>> GetPharmacies()
     56        public async Task<IEnumerable<Pharmacy>> GetPharmacies()
    5657        {
    5758            var Pharmacies = await _repository.GetPharmacies();
     
    7172        }
    7273
    73         public async Task<IQueryable<HealthFacility>> SearchFacilities(string query)
     74        public async Task<IEnumerable<HealthFacility>> SearchFacilities(string query)
    7475        {
    7576            var SearchQuery = await _repository.SearchFacilities(query);
     
    7778        }
    7879
    79         public async Task<IQueryable<Medicine>> SearchMedicines(string query)
     80        public async Task<IEnumerable<Medicine>> SearchMedicines(string query)
    8081        {
    8182            var SearchQuery = await _repository.SearchMedicines(query);
     
    8384        }
    8485
    85         public async Task<IQueryable<Pharmacy>> SearchPharmacies(string query)
     86        public async Task<IEnumerable<Pharmacy>> SearchPharmacies(string query)
    8687        {
    8788            var SearchQuery = await _repository.SearchPharmacies(query);
     
    8990        }
    9091
    91         public async Task<IQueryable<HealthcareWorker>> SearchWorkers(string query)
     92        public async Task<IEnumerable<HealthcareWorker>> SearchWorkers(string query)
    9293        {
    9394            var SearchQuery = await _repository.SearchWorkers(query);
     
    202203        }
    203204
    204         public async Task RemovePharmacyHead(PharmacyHead pharmacyHead)
    205         {
    206             if (pharmacyHead != null)
     205        public async Task RemovePharmacyHead(int Id)
     206        {
     207            if (Id > 0)
    207208            {
    208                 pharmacyHead.DeletedOn = DateTime.UtcNow;
    209                 await _repository.RemovePharmacyHead(pharmacyHead);
     209                await _repository.RemovePharmacyHead(Id);
    210210            }
    211             else throw new Exception("PharmacyHead is null.");
     211            throw new Exception("Index out of bounds.");
    212212        }
    213213
Note: See TracChangeset for help on using the changeset viewer.