public FrmSolicitacaoFormulario(Operacao op, model.SistemaHotelContext context, model.Solicitacao _solicitacao)
 {
     this._op                     = op;
     this._context                = context;
     this._solicitacao            = _solicitacao;
     this._solicitacaoRepositorio = new repositorio.SolicitacaoRepositorio(_context);
     InitializeComponent();
     Util.acertaTabOrder(this);
 }
 public FrmSolicitacaoVisualizar(Operacao op, model.Usuario usuarioLogado, model.SistemaHotelContext context, model.Solicitacao _solicitacao)
 {
     this._op          = op;
     this._context     = context;
     _usuarioLogado    = usuarioLogado;
     this._solicitacao = _solicitacao;
     this._solicitacao.editUsuario_visualizacao_id = usuarioLogado.id;
     this._solicitacaoRepositorio = new repositorio.SolicitacaoRepositorio(_context);
     InitializeComponent();
     Util.acertaTabOrder(this);
 }
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            try
            {
                preencheObjeto();
                switch (_op)
                {
                case Operacao.Insercao:
                    _solicitacao.data_emissao = DateTime.Now;

                    _solicitacaoRepositorio.incluir(_solicitacao);
                    _solicitacaoRepositorio.salvar();
                    _solicitacao = new model.Solicitacao();
                    preencheForm();
                    break;

                case Operacao.Alteracao:
                    _solicitacaoRepositorio.alterar(_solicitacao);
                    _solicitacaoRepositorio.salvar();
                    Dispose();
                    break;

                case Operacao.Exclusao:
                    if (_solicitacao.data_visualizacao != null && _solicitacao.data_visualizacao != DateTime.MinValue)
                    {
                        throw new Exception("Impossível deletar solicitação já visualizada.");
                    }

                    _solicitacaoRepositorio.excluir(_solicitacao);
                    _solicitacaoRepositorio.salvar();
                    Dispose();
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }