private void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {

                var rep = new Fiap.Persistencia.Hospital.DAO.Repositorio<MaterialMedicamento>();
                var material = new MaterialMedicamento();
                if (gdvMateriais.SelectedRows.Count > 0)
                {
                    var id = int.Parse(gdvMateriais.SelectedRows[0].Cells[0].Value.ToString());
                    material = rep.Buscar(id);
                }
                if (material == null)
                    material = new MaterialMedicamento();

                if (txtNome.IsEmpty())
                {
                    MessageBox.Show("Por favor digite um nome", "Cadastro Materiais e Medicamentos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtNome.Focus();
                    return;

                }
                else
                    material.Nome = txtNome.Text;

                if (txtSaldo.IsEmpty())
                {
                    MessageBox.Show("Por favor digite um Saldo", "Cadastro Materiais e Medicamentos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtSaldo.Focus();
                    return;

                }
                else
                    material.Saldo = Convert.ToInt32(txtSaldo.Text);

                if (txtValorUnitario.IsEmpty())
                {
                    MessageBox.Show("Por favor digite um Valor Unitario", "Cadastro Materiais e Medicamentos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtValorUnitario.Focus();
                    return;

                }
                else
                {
                    material.ValorUnit = Convert.ToDecimal(txtValorUnitario.Text);
                }

                if (cboTipo.SelectedValue.ToString().CInt() > 0)
                {
                    material.Tipo = short.Parse(cboTipo.SelectedValue.ToString());
                    //material.TipoMaterialMedicamento = new TipoMaterialMedicamento()
                    //{
                    //    IdTipo = Convert.ToInt16(cboTipo.SelectedValue),
                    //    Descricao = cboTipo.Text
                    //};
                }
                else
                {
                    MessageBox.Show("Por favor selecione um tipo.", "Cadastro Materiais e Medicamentos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    cboTipo.Focus();
                    return;
                }

                //novo tratamento
                if (material.IdMaterialMedicamento == 0)
                {
                    material.DatInc = DateTime.Now;
                    rep.Adicionar(material);
                }

                rep.Salvar();

                if (gdvMateriais.SelectedRows.Count == 0)
                    MessageBox.Show(string.Format("Material/Medicamento {0} adicionado com sucesso", material.Nome));
                else
                    MessageBox.Show(string.Format("Material/Medicamento {0} alterado com sucesso", material.Nome));

                gdvMateriais.DataSource = rep.Listar().OrderByDescending(x => x.DatInc)
                                .Take(10)
                                 .Select(x => new
                                 {
                                     ID = x.IdMaterialMedicamento,
                                     Material = x.Nome,
                                     Tipo = x.TipoMaterialMedicamento.Descricao,
                                     x.Saldo,
                                     x.ValorUnit,
                                     ValorTotal = x.Saldo * x.ValorUnit
                                 })
                                .ToList();

                gdvMateriais.ClearSelection();

                var txts = this.GetTodosControles(typeof(TextBox));

                foreach (var item in txts)
                {
                    item.Text = "";
                    item.Enabled = true;
                }

                cboTipo.SelectedIndex = 0;

            }
            catch (Exception)
            {
                MessageBox.Show("Erro ao Salvar", "Cadastro Materiais e Medicamentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void CarregaTelaEdit(MaterialMedicamento material)
        {
            txtNome.Text = material.Nome;
            cboTipo.SelectedValue = material.Tipo;
            txtSaldo.Text = material.Saldo.ToString();
            txtValorUnitario.Text=material.ValorUnit.ToString();

            txtNome.Enabled = false;
            cboTipo.Enabled = false;
            txtValorUnitario.Enabled = false;
        }