﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AgoWeb.Views
{
    public partial class Usuario : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                CarregarComboFuncionario();
                CarregarComboPerfil();
            }
        }

        private void CarregarComboFuncionario()
        {
            try
            {
                WsAgo.ServiceAgo service = new WsAgo.ServiceAgo();
                WsAgo.Funcionario[] array = service.ListarFuncionario(new WsAgo.Funcionario());
                List<WsAgo.Funcionario> lista = new List<WsAgo.Funcionario>();
                lista.AddRange(array);
                WsAgo.Funcionario func = new WsAgo.Funcionario();
                func.Nome = "-- Selecione --";
                func.IdMatricula = 0;
                lista.Insert(0, func);
                ddlFuncionario.DataSource = lista;
                ddlFuncionario.DataValueField = "IdMatricula";
                ddlFuncionario.DataTextField = "Nome";
                ddlFuncionario.DataBind();
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Mensagem !!!",
                 "<script>alert('" + ex.Message + "');</script>", false);
            }
        }

        private void CarregarComboPerfil()
        {
            try
            {
                WsAgo.ServiceAgo serv = new WsAgo.ServiceAgo();
                WsAgo.Perfil[] array = serv.CapturarPerfis();
                List<WsAgo.Perfil> lista = new List<WsAgo.Perfil>();
                lista.AddRange(array);
                WsAgo.Perfil perfil = new WsAgo.Perfil();
                perfil.Descricao = "--  Selecione --";
                perfil.ID = 0;
                lista.Insert(0, perfil);
                ddlPerfil.DataSource = lista;
                ddlPerfil.DataValueField = "ID";
                ddlPerfil.DataTextField = "Descricao";
                ddlPerfil.DataBind();
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Mensagem !!!",
                 "<script>alert('" + ex.Message + "');</script>", false);
            }
        }
        protected void btIncluir_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtLogin.Text))
                {
                    throw new Exception("Digite um login");
                }
                if (string.IsNullOrEmpty(txtValidade.Text))
                {
                    throw new Exception("Digite uma validade");
                }
                WsAgo.Usuario user = new WsAgo.Usuario();
                user.Login = txtLogin.Text.Trim();
                user.Senha = "AGO";
                user.Validade = Convert.ToDateTime(txtValidade.Text.Trim(), new System.Globalization.CultureInfo("Pt-Br"));
                if (ddlFuncionario.SelectedIndex > 0)
                {
                    user.Funcionario = new WsAgo.Funcionario();
                    user.Funcionario.IdMatricula = Convert.ToInt32(ddlFuncionario.SelectedValue.ToString());
                }
                if (ddlPerfil.SelectedIndex > 0)
                {
                    user.Perfil = new WsAgo.Perfil();
                    user.Perfil.ID = Convert.ToInt32(ddlPerfil.SelectedValue.ToString());
                }

                WsAgo.ServiceAgo serv = new WsAgo.ServiceAgo();
                bool resultado = serv.CriarUsuario(user);
                if (resultado)
                    ScriptManager.RegisterStartupScript(this, GetType(), "Mensagem !!!",
                        "<script>alert('Usuario inserio com Sucesso');</script>", false);

            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Mensagem !!!",
                 "<script>alert('" + ex.Message + "');</script>", false);
            }
        }
    }
}