private void comprovativoToolMenuItem_Click(object sender, EventArgs e)
        {
            GISADataset.MovimentoRow movRow = (GISADataset.MovimentoRow) this.movList.SelectedItems[0].Tag;

            List <MovimentoRule.DocumentoMovimentado> documents = new List <MovimentoRule.DocumentoMovimentado>();

            GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
            try
            {
                documents = MovimentoRule.Current.GetDocumentos(movRow.ID, GisaDataSetHelper.GetInstance(), ho.Connection);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
                throw;
            }
            finally
            {
                ho.Dispose();
            }

            Reports.Movimentos.RelatorioMovimento report = new Reports.Movimentos.RelatorioMovimento(movRow, documents,
                                                                                                     string.Format("Requisicao_{0}", movRow.ID), SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID);

            object o = new Reports.BackgroundRunner(TopLevelControl, report, 1);
        }
Beispiel #2
0
        public override void LoadData()
        {
            if (CurrentContext.Movimento == null)
            {
                CurrentMovimento = null;
                return;
            }

            CurrentMovimento = CurrentContext.Movimento;

            GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetTempConnection());
            try
            {
                documentos = MovimentoRule.Current.GetDocumentos(CurrentMovimento.ID, GisaDataSetHelper.GetInstance(), ho.Connection);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
                throw;
            }
            finally
            {
                ho.Dispose();
            }
        }
        private void ClickTbEditar()
        {
            FormMovimento frm = new FormMovimento();

            frm.Text = "Editar " + this.NomeMovimento;

            //obter row seleccionada e colocar a informação no form
            GISADataset.MovimentoRow reqRow = (GISADataset.MovimentoRow)movList.SelectedItems[0].Tag;
            frm.Entidade         = reqRow.MovimentoEntidadeRow;
            frm.Data             = reqRow.Data;
            frm.CurrentMovimento = reqRow;
            frm.LoadData();

            if (frm.ShowDialog() == DialogResult.OK)
            {
                // ler os valores do form e gravá-los
                reqRow.MovimentoEntidadeRow = frm.Entidade;
                reqRow.Data = frm.Data;

                PersistencyHelper.save();
                PersistencyHelper.cleanDeletedData();

                movList.ReloadList(reqRow);
            }
        }
        public override void LoadData()
        {
            if (CurrentContext.Movimento == null)
            {
                CurrentMovimento = null;
                return;
            }

            CurrentMovimento = CurrentContext.Movimento;

            GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetTempConnection());
            try
            {
                documentos = MovimentoRule.Current.GetDocumentos(CurrentMovimento.ID, GisaDataSetHelper.GetInstance(), ho.Connection);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
                throw;
            }
            finally
            {
                ho.Dispose();
            }
        }
        private void ClickTbEliminar()
        {
            // obter a row selecciona e apresentar uma messagebox a perguntar se o utilizador quer realmente apagar a requisição
            if (MessageBox.Show("Tem a certeza que deseja eliminar a " + this.NomeMovimento + " selecionada?", "Eliminação de " + this.NomeMovimento, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
            {
                return;
            }

            // Dúvida: deve ser permitido apagar requisições com documentos associados?

            ListViewItem movItem = null;

            GISADataset.MovimentoRow movRow = null;
            movItem = movList.SelectedItems[0];
            movRow  = (GISADataset.MovimentoRow)movItem.Tag;

            if (movRow.RowState == DataRowState.Detached)
            {
                movList.ClearItemSelection(movItem);
            }
            else
            {
                var args = new PersistencyHelper.DeleteMovimentoPreConcArguments();
                args.CatCode     = movRow.CatCode.Equals("REQ") ? "DEV" : "REQ";
                args.IDMovimento = movRow.ID;

                movRow.Delete();

                PersistencyHelper.save(DeleteMovimento, args);
                PersistencyHelper.cleanDeletedData();

                if (!args.continueSave)
                {
                    var message = movRow.CatCode.Equals("REQ")
                        ? "Não é permitido eliminar requisições de documentos devolvidos posteriormente"
                        : "Não é permitido eliminar devoluções com requisições posteriores (sem devolução) dos mesmos documentos";
                    MessageBox.Show(message, "Eliminar " + this.NomeMovimento, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
            }

            movItem.Remove();
            UpdateToolBarButtons();
            UpdateContext();
        }
        public override bool UpdateContext(ListViewItem item)
        {
            ListViewItem selectedItem   = null;
            bool         successfulSave = false;

            if (item == null)
            {
                if (movList.SelectedItems.Count == 1)
                {
                    // Apesar da contagem de items ser "1" pode acontecer, no caso de
                    // items que tenham sido entretanto eliminados, que o SelectedItems
                    // se encontre vazio. Nesse caso consideramos sempre que não existe selecção.
                    try
                    {
                        selectedItem = movList.SelectedItems[0];
                    }
                    catch (ArgumentException)
                    {
                        selectedItem = null;
                    }
                }
            }
            else if (item.ListView != null)
            {
                selectedItem = item;
            }

            if (selectedItem != null)
            {
                GISADataset.MovimentoRow reqRow = null;
                reqRow         = (GISADataset.MovimentoRow)selectedItem.Tag;
                successfulSave = CurrentContext.SetMovimento(reqRow); //, cadRow.RowState = DataRowState.Detached)
                DelayedRemoveDeletedItems(movList.Items);
            }
            else
            {
                successfulSave = CurrentContext.SetMovimento(null); //, False)
            }
            return(successfulSave);
        }
        private void ClickTbCriar()
        {
            FormMovimento frm = new FormMovimento();

            frm.LoadData();
            frm.CurrentMovimento = null;
            frm.Text             = "Criar nova " + this.NomeMovimento;
            if (frm.ShowDialog() == DialogResult.OK)
            {
                // ler os valores do form e gravá-los
                GISADataset.MovimentoRow newReqRow = GisaDataSetHelper.GetInstance().Movimento.NewMovimentoRow();
                newReqRow.CatCode = this.CatCode;
                newReqRow.MovimentoEntidadeRow = frm.Entidade;
                newReqRow.Data   = frm.Data;
                newReqRow.Versao = new byte[] { };
                GisaDataSetHelper.GetInstance().Movimento.AddMovimentoRow(newReqRow);

                PersistencyHelper.save();
                PersistencyHelper.cleanDeletedData();

                movList.ReloadList(newReqRow);
            }
        }
Beispiel #8
0
 public override void Deactivate()
 {
     CurrentMovimento = null;
     GUIHelper.GUIHelper.clearField(lstVwNiveisAssoc);
     OnHidePanel();
 }
 public RelatorioMovimento(GISADataset.MovimentoRow movimento, List<MovimentoRule.DocumentoMovimentado> documents, string fileName, long idTrustee)
     :base(fileName, idTrustee)
 {
     this.movimento = movimento;
     this.documents = documents;
 }
Beispiel #10
0
 public RelatorioMovimento(GISADataset.MovimentoRow movimento, List <MovimentoRule.DocumentoMovimentado> documents, string fileName, long idTrustee)
     : base(fileName, idTrustee)
 {
     this.movimento = movimento;
     this.documents = documents;
 }
 public override void Deactivate()
 {
     CurrentMovimento = null;
     GUIHelper.GUIHelper.clearField(lstVwNiveisAssoc);
     OnHidePanel();
 }