示例#1
0
        ///<summary>
        ///Método para Listar as Duplicatas da Nota Fiscal
        ///</summary>
        /// <returns></returns>
        private void ListarDuplicata(ref NotaFiscalVO identNotaFiscal, int? codNF)
        {
            OpenCommand("pr_selecionar_duplicata");
            if (codNF > 0)
            {
                AddInParameter("CodNF", DbType.Int32, codNF);
            }

            IDataReader dr = ExecuteReader();
            try
            {
                while (dr.Read())
                {
                    DuplicataVO tempDuplicata = new DuplicataVO();
                    tempDuplicata.CodDuplicata = GetReaderValue<int?>(dr, "CodDuplicata");
                    tempDuplicata.Dias = GetReaderValue<int?>(dr, "Dias");
                    tempDuplicata.Vencimento = GetReaderValue<DateTime?>(dr, "Vencimento");
                    tempDuplicata.Numero = GetReaderValue<string>(dr, "Numero");
                    tempDuplicata.Valor = GetReaderValue<decimal?>(dr,"Valor");
                    identNotaFiscal.Duplicatas.Add(tempDuplicata);
                }
            }
            finally
            {
                dr.Close();
            }
        }
示例#2
0
    protected void btnIncluirFatura_Click(object sender, EventArgs e)
    {
        if (!txtNumeroFatura.Text.Equals("00000000"))
        {
            //será incluido no grid de ICMS manualmente (não incluirá no banco ainda)
            //pois só deverá ser incluido no banco quando salvar o produto

            DuplicataVO[] lstDuplicata = (DuplicataVO[])ViewState["lstDuplicata"];
            List<DuplicataVO> newlstDuplicata = new List<DuplicataVO>(lstDuplicata);
            decimal valor = decimal.Parse(txtValorLiquido.Text);

            //se for edição de ICMS, atualizar o list
            if (hdfTipoAcaoFatura.Value.Equals("Incluir"))
            {
                /************************************************************************
                Se a ação for inclusão, simplesmente verifica se o ítem já foi cadastrado
                se já for, exibe mensagem e não inclui o ítem
                /***********************************************************************/
                DuplicataVO result = newlstDuplicata.Find(
                delegate(DuplicataVO bk)
                {
                    return bk.Dias == int.Parse(txtDias.Text);
                }
                );
                if (result != null)
                {

                    MensagemCliente("Dias Já cadastrado!");
                    return;
                }
                /************************************************************************/
                /************************************************************************/

                //senão, incluir novo ítem no list
                DuplicataVO lstDuplicataAux = new DuplicataVO();
                if (!txtDias.Text.Trim().Equals(""))
                    lstDuplicataAux.Dias = int.Parse(txtDias.Text);
                lstDuplicataAux.Vencimento = DateTime.Now.Date.AddDays(Convert.ToDouble(lstDuplicataAux.Dias));
                newlstDuplicata.Add(lstDuplicataAux);
                int i = 1;
                foreach (DuplicataVO item in newlstDuplicata)
                {
                    if (!txtNumeroFatura.Text.Trim().Equals(""))
                        item.Numero = txtNumeroFatura.Text + "-" + Letra(i).ToString();
                    item.Valor = valor / newlstDuplicata.Count();
                    i++;
                }

            }
            else
            {
                int linha = Convert.ToInt32(ViewState["LinhaSelecionadaDuplicata"]);
                int iLinhaFor = 0;
                int i = 1;
                foreach (DuplicataVO item in newlstDuplicata)
                {
                    if (iLinhaFor == linha)
                    {
                        /************************************************************************
                        Se a ação for alteração, verifica se o ítem já está cadastrado, se já estiver
                        será impedido, desde que não seja ele mesmo
                        /***********************************************************************/
                        int iLinhaSelecionada = 0;
                        foreach (DuplicataVO item2 in newlstDuplicata)
                        {
                            if ((item2.Dias == int.Parse(txtDias.Text)) &&
                                (iLinhaSelecionada != linha))
                            {
                                MensagemCliente("Dias Já cadastrado!");
                                return;
                            }
                            iLinhaSelecionada++;
                        }
                        /************************************************************************
                        
                         /***********************************************************************/
                        item.Dias = int.Parse(txtDias.Text);
                        item.Vencimento = DateTime.Now.Date.AddDays(Convert.ToDouble(item.Dias));
                        //sai do for
                    }
                    if (!txtNumeroFatura.Text.Trim().Equals(""))
                        item.Numero = txtNumeroFatura.Text + "-" + Letra(i).ToString();
                    item.Valor = valor / newlstDuplicata.Count;
                    iLinhaFor++;
                    i++;
                }
            }
            grdFatura.DataSource = newlstDuplicata;
            grdFatura.DataBind();
            //atualiza viewstate
            ViewState["lstDuplicata"] = newlstDuplicata.ToArray();
            txtDias.Text = string.Empty;
            Master.PosicionarFoco(txtDias);
            hdfTipoAcaoFatura.Value = "Incluir";
            //LimparCamposICMS();
        }
        else
            MensagemCliente("O número da fatura não pode ser 00000000");
    }