Changeset afefe75


Ignore:
Timestamp:
02/04/21 21:46:29 (20 months ago)
Author:
Dimitar Slezenkovski <dslezenkovski@…>
Branches:
master
Children:
ac51326
Parents:
de9d697
Message:

Update searches, fix bugs

Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • Farmatiko/Controllers/FarmatikoController.cs

    rde9d697 rafefe75  
    11using System.Collections.Generic;
    22using System.Threading.Tasks;
     3using FarmatikoData.DTOs;
    34using FarmatikoData.Models;
    45using FarmatikoServices.FarmatikoServiceInterfaces;
     
    7778        [HttpGet]
    7879        [Route("api/medicines")]
    79         public async Task<IEnumerable<Medicine>> GetMedicines()
     80        public async Task<IEnumerable<MedicineDTO>> GetMedicines()
    8081        {
    8182            return await _service.GetMedicines();
     
    104105        [HttpGet]
    105106        [Route("api/pharmacy")]
    106         public async Task<IEnumerable<Pharmacy>> GetPharmacies()
     107        public async Task<IEnumerable<PharmacyDTO>> GetPharmacies()
    107108        {
    108109            return await _service.GetPharmacies();
  • Farmatiko/Controllers/PharmacyHeadController.cs

    rde9d697 rafefe75  
    3030        //POST
    3131       
    32         [HttpPut]
     32        [HttpPost]
    3333        [Route("api/pharmacyhead/update")]
    3434        public async Task<IActionResult> UpdatePharmacyHead([FromBody] PharmacyHeadDto pharmacyHead)
  • Farmatiko/Startup.cs

    rde9d697 rafefe75  
    1818using FarmatikoServices.Infrastructure;
    1919using System;
    20 using Newtonsoft.Json.Serialization;
    2120namespace Farmatiko
    2221{
  • FarmatikoData/FarmatikoRepo/Repository.cs

    rde9d697 rafefe75  
    6363            return Pandemic;
    6464        }
    65 
    66         public async Task<IEnumerable<Pharmacy>> GetPharmacies()
    67         {
    68             var Pharmacies = await _context.Pharmacies.Take(5).ToListAsync();
     65        public async Task<List<Pharmacy>> GetPharmacies()
     66        {
     67            var Pharmacies = await _context.Pharmacies.Select(x => new Pharmacy
     68            {
     69                Name = x.Name,
     70                Location = x.Location,
     71                Address = x.Address,
     72                WorkAllTime = x.WorkAllTime,
     73                PheadId = x.PheadId
     74            }).Take(5).ToListAsync();
    6975            return Pharmacies;
    7076        }
     
    8591        {
    8692            var SearchQuery = await _context.HealthFacilities
    87             .Where(x => x.Name.Contains(query))
     93            .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
    8894            .OrderBy(x => x.Name).ToListAsync();
    8995
     
    94100        {
    95101            var SearchQuery = await _context.Medicines
    96             .Where(x => x.Name.Contains(query))
     102            .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
    97103            .OrderBy(x => x.Name).ToListAsync();
    98104
     
    102108        public async Task<IEnumerable<Pharmacy>> SearchPharmacies(string query)
    103109        {
    104             var SearchQuery = await _context.Pharmacies.Take(5)
    105             .Where(x => x.Name.Contains(query))
     110            var SearchQuery = await _context.Pharmacies
     111            .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
    106112            .OrderBy(x => x.Name).ToListAsync();
    107113
     
    111117        public async Task<IEnumerable<HealthcareWorker>> SearchWorkers(string query)
    112118        {
    113             var SearchQuery = await _context.HealthcareWorkers.Take(5)
    114             .Where(x => x.Name.Contains(query))
     119            var SearchQuery = await _context.HealthcareWorkers
     120            .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
    115121            .OrderBy(x => x.Name).ToListAsync();
    116122
     
    291297            }
    292298        }
     299
     300        public async Task<List<PharmacyHeadMedicine>> GetAllPHMedicines()
     301        {
     302            var list = await _context.PharmacyHeadMedicines.ToListAsync();
     303            return list;
     304        }
    293305    }
    294306}
  • FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs

    rde9d697 rafefe75  
    1818        ICollection<Medicine> GetMedicines();
    1919        Task<Pandemic> GetPandemic();
    20         Task<IEnumerable<Pharmacy>> GetPharmacies();
     20        Task<List<PharmacyHeadMedicine>> GetAllPHMedicines();
     21        Task<List<Pharmacy>> GetPharmacies();
    2122        Task<Pharmacy> GetPharmacy(int id);
    2223        Task<HealthcareWorker> GetWorker(int id);
  • FarmatikoData/Migrations/20210124191844_InitialMigration.cs

    rde9d697 rafefe75  
    172172                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    173173                    DeletedOn = table.Column<DateTime>(nullable: true),
    174                     PheadId = table.Column<int>(nullable: false),
     174                    PheadId = table.Column<int>(nullable: true),
    175175                    HeadId = table.Column<int>(nullable: true),
    176                     MedicineId = table.Column<int>(nullable: false)
     176                    MedicineId = table.Column<int>(nullable: true)
    177177                },
    178178                constraints: table =>
  • FarmatikoServices/FarmatikoServiceInterfaces/IService.cs

    rde9d697 rafefe75  
    1 using FarmatikoData.Models;
     1using FarmatikoData.DTOs;
     2using FarmatikoData.Models;
    23using System.Collections.Generic;
    34using System.Linq;
     
    1819        Task<Medicine> GetMedicine(int id);
    1920        Task<IEnumerable<Medicine>> SearchMedicines(string query);
    20         Task<IEnumerable<Medicine>> GetMedicines();
     21        Task<List<MedicineDTO>> GetMedicines();
    2122        Task<Pandemic> GetPandemic();
    22         Task<IEnumerable<Pharmacy>> GetPharmacies();
     23        Task<List<PharmacyDTO>> GetPharmacies();
    2324        Task<IEnumerable<Pharmacy>> SearchPharmacies(string query);
    2425        Task<Pharmacy> GetPharmacy(int id);
  • FarmatikoServices/Services/Service.cs

    rde9d697 rafefe75  
    1 using FarmatikoData.FarmatikoRepoInterfaces;
     1using FarmatikoData.DTOs;
     2using FarmatikoData.FarmatikoRepoInterfaces;
    23using FarmatikoData.Models;
    34using FarmatikoServices.FarmatikoServiceInterfaces;
     
    4243        }
    4344
    44         public async Task<IEnumerable<Medicine>> GetMedicines()
     45        public async Task<List<MedicineDTO>> GetMedicines()
    4546        {
    4647            var Medicines = await _repository.GetMedicinesAsync();
    47             return Medicines;
     48            List<MedicineDTO> list = new List<MedicineDTO>();
     49            var listPHMedicines = await _repository.GetAllPHMedicines();
     50            foreach(var med in Medicines)
     51            {
     52                var heads = listPHMedicines.Where(x => x.MedicineId == med.Id).Select(x => x.Head).ToList();
     53                List<string> headNames = new List<string>();
     54                headNames = heads.Select(x => x.Name).ToList();
     55                MedicineDTO medicine = new MedicineDTO()
     56                {
     57                    Name = med.Name,
     58                    Manufacturer = med.Manufacturer,
     59                    Packaging = med.Packaging,
     60                    Form = med.Form,
     61                    Price = med.Price,
     62                    Strength = med.Strength,
     63                    WayOfIssuing = med.WayOfIssuing,
     64                    HeadNames = headNames
     65                };
     66
     67                list.Add(medicine);
     68            }
     69
     70            return list;
    4871        }
    4972
     
    5477        }
    5578
    56         public async Task<IEnumerable<Pharmacy>> GetPharmacies()
     79        public async Task<List<PharmacyDTO>> GetPharmacies()
    5780        {
    5881            var Pharmacies = await _repository.GetPharmacies();
    59             return Pharmacies;
     82            List<PharmacyDTO> pharmacies = new List<PharmacyDTO>();
     83
     84            foreach(var pharm in Pharmacies)
     85            {
     86                PharmacyDTO pharmacyDTO = new PharmacyDTO()
     87                {
     88                    Name = pharm.Name,
     89                    Location = pharm.Location,
     90                    Address = pharm.Address,
     91                    WorkAllTime = pharm.WorkAllTime,
     92                    HeadName = pharm.PharmacyHead.Name
     93                };
     94                pharmacies.Add(pharmacyDTO);
     95            }
     96            return pharmacies;
    6097        }
    6198
Note: See TracChangeset for help on using the changeset viewer.