Exemplo n.º 1
0
        public bool CreateDocument([FromBody] IntBEDocumentoInterno clsDocumentoInterno)
        {
            IntBEDocumentoInterno clsDocumento = new IntBEDocumentoInterno
            {
                Entidade       = clsDocumentoInterno.Entidade,
                Tipodoc        = clsDocumentoInterno.Tipodoc,
                TipoEntidade   = clsDocumentoInterno.TipoEntidade,
                Serie          = clsDocumentoInterno.Serie,
                Data           = clsDocumentoInterno.Data,
                DataVencimento = clsDocumentoInterno.DataVencimento
            };

            clsDocumento.Linhas.RemoveTodos();

            try
            {
                ProductContext.MotorLE.Internos.Documentos.PreencheDadosRelacionados(clsDocumento);

                foreach (IntBELinhaDocumentoInterno linha in clsDocumentoInterno.Linhas)
                {
                    double quantidade = linha.Quantidade;

                    ProductContext.MotorLE.Internos.Documentos.AdicionaLinha(clsDocumento, linha.Artigo, Armazem: linha.Armazem, Lote: linha.Lote, Quantidade: quantidade);
                }

                ProductContext.MotorLE.Internos.Documentos.Actualiza(clsDocumento);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates a new invoice.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CmdSave_Click(object sender, EventArgs e)
        {
            IntBEDocumentoInterno objDocInterno = new IntBEDocumentoInterno()
            {
                Tipodoc        = txtTipoDoc.Text,
                Serie          = txtSerie.Text,
                Data           = DateTime.Today,
                DataVencimento = DateTime.Today
            };
            string strAvisos = string.Empty;

            try
            {
                if (chkDadosRelacionados.Checked)
                {
                    // Set all the entity related information.
                    PriEngine.Engine.Internos.Documentos.PreencheDadosRelacionados(objDocInterno);
                }

                if (lvLinhas.Items.Count > 0)
                {
                    foreach (ListViewItem item in lvLinhas.Items)
                    {
                        IntBELinhasDocumentoInterno linhas = new IntBELinhasDocumentoInterno();

                        string strArtigo  = Convert.ToString(item.SubItems[0].Text);
                        string strArmazem = Convert.ToString(item.SubItems[1].Text);
                        double dblQtd     = Convert.ToDouble(item.SubItems[2].Text);
                        double dblPreco   = Convert.ToDouble(item.SubItems[3].Text);

                        // Add new line to the document and set all the item related information.
                        PriEngine.Engine.Internos.Documentos.AdicionaLinha(objDocInterno, strArtigo, strArmazem, PrecoUnitario: dblPreco, Quantidade: dblQtd);

                        linhas = objDocInterno.Linhas;
                    }
                }
                else
                {
                    ShowMessage("There are no items.");
                }

                // creates the internal document
                PriEngine.Engine.Internos.Documentos.Actualiza(objDocInterno, ref strAvisos);

                if (strAvisos.Length > 0)
                {
                    ShowMessage($"Error writing document.{Environment.NewLine}" + strAvisos);
                }
                else
                {
                    ShowMessage("Document created successfully!", iconId: StdPlatBS100.StdBSTipos.IconId.PRI_Informativo);
                }
            }
            catch (Exception ex)
            {
                ShowMessage("Unable to save document. \n" + ex.Message);
            }
        }