﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Treinamento.Classes;
using Treinamento.Codigos;

namespace Treinamento.Interfaces.CargosView
{
    public partial class Editar : System.Web.UI.Page
    {
        Cargo cargo;        
        protected void Page_Load(object sender, EventArgs e)
        {            
            cargo = new Cargo();

        }

        
        protected void btnBusca_Click(object sender, EventArgs e)
        {
            cargo = CargoController.buscaCargoPorNome(txtNome.Text.Trim());
            if (cargo != null){
                if (cargo.Id == -1)
                {
                    lbBuscaMensagem.Text = "Cargo não encontrado ";
                    escondeCampos();
                }
                else
                {
                    mostrarCampos();
                    lbBuscaMensagem.Text = "Cargo encontrado! id= " + cargo.Id;
                    txbNome.Text = cargo.Nome;
                    txtId.Text = cargo.Id.ToString();
                }            
            }
            else
            {
                lbBuscaMensagem.Text = "Erro";
            }            
           
        }

        

        protected void btnAtualiza_Click(object sender, EventArgs e)
        {
            cargo.Nome = txbNome.Text;
            cargo.Id = int.Parse(txtId.Text);

            if (CargoController.buscaCargo(cargo.Id, cargo.Nome) == 0) // verifica se o nome do cargo já esta cadastrado no sistema
            {
                lbBuscaMensagem.Text = CargoController.Update(cargo);
                Limpar();
            }
            else
                lbBuscaMensagem.Text = "Cargo já cadastrado no sistema. Entre com outro nome ou exclua o cargo \""+txtNome.Text+"\".";
        }

        private void Limpar()
        {
            txbNome.Text = "";
            txtNome.Text = "";
            esconderCampos();
        }

        private void esconderCampos()
        {
            txbNome.Visible = false;
            lblNome.Visible = false;
            btnAtualiza.Visible = false;
        }

        private void mostrarCampos()
        {
            txbNome.Visible = true;
            lblNome.Visible = true;
            btnAtualiza.Visible = true;
        }

        private void escondeCampos()
        {
            txbNome.Visible = false;
            lblNome.Visible = false;
            btnAtualiza.Visible = false;
        }

    }
}