source: Farmatiko/Controllers/AdminController.cs@ ac51326

Last change on this file since ac51326 was db484c9, checked in by DimitarSlezenkovski <dslezenkovski@…>, 3 years ago

Fix bugs

  • Property mode set to 100644
File size: 2.3 KB
RevLine 
[1454207]1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Threading.Tasks;
[db484c9]5using FarmatikoData.DTOs;
[1454207]6using FarmatikoData.Models;
7using FarmatikoServices.FarmatikoServiceInterfaces;
[d23bf72]8using Microsoft.AspNetCore.Authorization;
[1454207]9using Microsoft.AspNetCore.Mvc;
10
11namespace 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}
Note: See TracBrowser for help on using the repository browser.