protected void dropDownList()
 {
     FornecedorDal d = new FornecedorDal();
     DropDownFornecedor.DataSource = d.FindAll();
     DropDownFornecedor.DataTextField = "Nome";
     DropDownFornecedor.DataValueField = "IdFornecedor";
     DropDownFornecedor.DataBind();
 }
        public JsonResult FillDropDownFornecedor()
        {
            FornecedorDal d = new FornecedorDal();

            var lista = d.FindAll();

            return Json(lista, JsonRequestBehavior.AllowGet);
        }
        protected void gridFornecedor_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                FornecedorDal d = new FornecedorDal();
                d.Delete(Convert.ToInt32(gridFornecedor.DataKeys[e.RowIndex].Value.ToString()));

                lblMensagem.Text = "Fornecedor Excluido.";

                gridBind();
            }
            catch (Exception ex)
            {

                lblMensagem.Text = "Erro: ao deletar Fornecedor, o mesmo pode ter produtos ligados a ele. <br/> <br/>" + ex.Message;
            }
            
        }
        public JsonResult Cadastrar(FornecedorModelCadastro model)
        {
            try
            {
                Funcionario u = (Funcionario)Session["funcionariologado"];

                Fornecedor f = new Fornecedor();
                f.Nome = model.Nome;

                FornecedorDal d = new FornecedorDal();
                d.Insert(f);

                return Json("Dados gravados com sucesso.");
            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }
        protected void btnCadastro_Click(object sender, EventArgs e)
        {
            try
            {
                Fornecedor f = new Fornecedor();
                f.Nome = txtNome.Text;

                FornecedorDal d = new FornecedorDal();
                d.Insert(f);

                lblMensagem.Text = "Fornecedor " + f.Nome + ", cadastrado com sucesso.";

                txtNome.Text = string.Empty;
            }
            catch (Exception ex)
            {

                lblMensagem.Text = ex.Message;
            }
        }
        public JsonResult Editar(FornecedorModelEdicao model)
        {
            try
            {
                Funcionario u = (Funcionario)Session["funcionariologado"];

                Fornecedor f = new Fornecedor();

                f.IdFornecedor = model.IdFornecedor;
                f.Nome = model.Nome;

                FornecedorDal d = new FornecedorDal();

                d.Update(f);

                return Json("Fornecedor atualizado.");
            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }
 protected void gridBind()
 {
     FornecedorDal d = new FornecedorDal();
     gridFornecedor.DataSource = d.FindAll();
     gridFornecedor.DataBind();  
 }
        public JsonResult Consultar(FornecedorModelConsulta model)
        {
            try
            {
                Funcionario u = (Funcionario)Session["funcionariologado"];

                FornecedorDal d = new FornecedorDal();

                List<Fornecedor> list = new List<Fornecedor>();
                list.Add(d.FindById(model.IdFornecedor));

                return Json(list);

            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }
        public JsonResult Excluir(FornecedorModelExclusao model)
        {
            try
            {
                Funcionario u = (Funcionario)Session["funcionariologado"];

                FornecedorDal d = new FornecedorDal();

                d.Delete(model.IdFornecedor);

                return Json("Fornecedor Excluído.");
                
            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }
        public JsonResult Listar()
        {
            try
            {
                Funcionario u = (Funcionario)Session["funcionariologado"];

                FornecedorDal d = new FornecedorDal();

                List<Fornecedor> list = new List<Fornecedor>();
                list = d.FindAll();
                
                return Json(list);
            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }