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/Services
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • 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.