[1454207] | 1 | using System;
|
---|
| 2 | using System.Collections.Generic;
|
---|
| 3 | using System.Linq;
|
---|
| 4 | using System.Threading.Tasks;
|
---|
[db484c9] | 5 | using FarmatikoData.DTOs;
|
---|
[1454207] | 6 | using FarmatikoData.Models;
|
---|
| 7 | using FarmatikoServices.FarmatikoServiceInterfaces;
|
---|
[d23bf72] | 8 | using Microsoft.AspNetCore.Authorization;
|
---|
[1454207] | 9 | using Microsoft.AspNetCore.Mvc;
|
---|
| 10 |
|
---|
| 11 | namespace Farmatiko.Controllers
|
---|
| 12 | {
|
---|
[d23bf72] | 13 | [ApiController]
|
---|
[1db5673] | 14 | [Authorize(Roles = "Admin")]
|
---|
[1454207] | 15 | public class AdminController : Controller
|
---|
| 16 | {
|
---|
| 17 | private readonly IAdminService _adminService;
|
---|
| 18 | private readonly IService _service;
|
---|
| 19 | private readonly IPHService _phservice;
|
---|
| 20 | public AdminController(IAdminService adminService, IService service, IPHService phservice)
|
---|
| 21 | {
|
---|
| 22 | _adminService = adminService;
|
---|
| 23 | _service = service;
|
---|
| 24 | _phservice = phservice;
|
---|
| 25 | }
|
---|
| 26 |
|
---|
| 27 | //GET
|
---|
| 28 | [HttpGet]
|
---|
[6f203af] | 29 | [Route("api/pharmacyhead")]
|
---|
| 30 | public async Task<IEnumerable<PharmacyHead>> GetPharmacyHeads()
|
---|
[1454207] | 31 | {
|
---|
| 32 | return await _adminService.GetPharmacyHeads();
|
---|
| 33 | }
|
---|
| 34 |
|
---|
| 35 | [HttpGet]
|
---|
[6f203af] | 36 | [Route("api/pharmacyhead/requests")]
|
---|
| 37 | public async Task<IEnumerable<RequestPharmacyHead>> GetClaimingRequests()
|
---|
[1454207] | 38 | {
|
---|
[6f203af] | 39 | return await _adminService.GetClaimingRequests();
|
---|
[1454207] | 40 | }
|
---|
| 41 |
|
---|
| 42 |
|
---|
| 43 | //POST
|
---|
| 44 | [HttpPost]
|
---|
[6f203af] | 45 | [Route("api/pharmacyhead/add")]
|
---|
[d23bf72] | 46 | public async Task<IActionResult> AddPharmacyHead([FromBody]PharmacyHead pharmacyHead)
|
---|
[1454207] | 47 | {
|
---|
| 48 | await _service.AddPharmacyHead(pharmacyHead);
|
---|
[db484c9] | 49 | return Ok("Pharmacy added.");
|
---|
[1454207] | 50 | }
|
---|
| 51 |
|
---|
[d23bf72] | 52 | [HttpDelete]
|
---|
[6f203af] | 53 | [Route("api/pharmacyhead/delete/{Id}")]
|
---|
[d23bf72] | 54 | public async Task<IActionResult> RemovePharmacyHead([FromRoute] int Id)
|
---|
[1454207] | 55 | {
|
---|
[6f203af] | 56 | await _service.RemovePharmacyHead(Id);
|
---|
[1454207] | 57 | return Ok();
|
---|
| 58 | }
|
---|
[d23bf72] | 59 | [HttpDelete]
|
---|
| 60 | [Route("api/pharmacyhead/requests/{Id}")]
|
---|
| 61 | public IActionResult RejectRequest([FromRoute] int Id)
|
---|
[1454207] | 62 | {
|
---|
[d23bf72] | 63 | bool Success = _adminService.RejectRequest(Id);
|
---|
[6f203af] | 64 | return Ok(Success);
|
---|
[1454207] | 65 | }
|
---|
| 66 | [HttpPost]
|
---|
[d23bf72] | 67 | [Route("api/pharmacyhead/{Id}")]
|
---|
[db484c9] | 68 | public async Task<IActionResult> ApproveRequest([FromRoute]int Id, [FromBody]PharmacyHeadDto pharmacyHead)
|
---|
[1454207] | 69 | {
|
---|
| 70 | await _phservice.UpdatePharmacyHead(pharmacyHead);
|
---|
| 71 | return Ok();
|
---|
| 72 | }
|
---|
| 73 |
|
---|
| 74 | }
|
---|
| 75 | }
|
---|