Advertisement
joaopaulofcc

Untitled

Nov 17th, 2021
550
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.99 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Http;
  6. using Microsoft.AspNetCore.Mvc;
  7. using conexaoPostgre.Models;
  8.  
  9. namespace conexaoPostgre.Controllers
  10. {
  11.     [Route("[controller]/[action]")]
  12.     [ApiController]
  13.     public class CargoController : ControllerBase
  14.     {
  15.         private BDContexto contexto;
  16.        
  17.         public CargoController(BDContexto bdContexto)
  18.         {
  19.             contexto = bdContexto;
  20.         }
  21.        
  22.         [HttpGet]
  23.         public List<Cargo> Listar()
  24.         {
  25.             return contexto.Cargos.ToList();
  26.         }
  27.  
  28.         //Listar apenas cargos de desenvolvedores.
  29.         [HttpGet]
  30.         public List<Cargo> ListarDev()
  31.         {
  32.             return contexto.Cargos.Where(c => c.Tipo == "D").ToList();
  33.         }
  34.  
  35.         //Retornar o maior salário
  36.         [HttpGet]
  37.         public double MaiorSalario()
  38.         {
  39.             return contexto.Cargos.Max(c => c.SalarioMaximo);
  40.         }
  41.  
  42.         [HttpDelete]
  43.         public string Excluir([FromBody]int id)
  44.         {
  45.             try
  46.             {
  47.                 List<Colaborador> colaboradores = contexto.Colaboradores.Where(p => p.IdCargo == id).ToList();
  48.  
  49.                 if (colaboradores.Count() == 0)
  50.                 {
  51.                     Cargo dados = contexto.Cargos.FirstOrDefault(p => p.Id == id);
  52.  
  53.                     contexto.Remove(dados);
  54.                     contexto.SaveChanges();
  55.            
  56.                     return "Cargo excluído com sucesso!";
  57.                 }
  58.                 else
  59.                 {
  60.                     return "Cargo não pode ser excluído, existem colaboradores vinculados a ele!";
  61.                 }
  62.             }
  63.             catch (System.Exception ex)
  64.             {
  65.                 return ex.Message;
  66.             }
  67.         }
  68.  
  69.          [HttpPost]
  70.         public string Cadastrar([FromBody]Cargo dados)
  71.         {
  72.             contexto.Add(dados);
  73.             contexto.SaveChanges();
  74.            
  75.             return "Cargo cadastrado com sucesso!";
  76.         }
  77.  
  78.         [HttpGet]
  79.         public Cargo Visualizar(int id)
  80.         {
  81.             return contexto.Cargos.FirstOrDefault(p => p.Id == id);
  82.         }
  83.  
  84.         [HttpPut]
  85.         public string Alterar([FromBody]Cargo dados)
  86.         {
  87.             contexto.Update(dados);
  88.             contexto.SaveChanges();
  89.            
  90.             return "Cargo alterado com sucesso!";
  91.         }
  92.  
  93.         [HttpDelete]
  94.         public string ExcluirLogico([FromBody]int id)
  95.         {
  96.             try
  97.             {
  98.                 Cargo dados = contexto.Cargos.FirstOrDefault(p => p.Id == id);
  99.  
  100.                 dados.Excluido = true;
  101.                 contexto.Update(dados);
  102.                 contexto.SaveChanges();
  103.        
  104.                 return "Cargo excluído com sucesso!";
  105.             }
  106.             catch (System.Exception ex)
  107.             {
  108.                 return ex.Message;
  109.             }
  110.         }
  111.     }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement