示例#1
0
        protected void grdFatture_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int idFattura = Convert.ToInt32(e.CommandArgument.ToString());

            hfIdFattura.Value = idFattura.ToString();

            if (e.CommandName == "Visualizza")
            {
                ResetToInitial();
                PopolaCampi(idFattura, false);
                btnInsFattura.Visible = btnModFattura.Visible = false;
            }
            else if (e.CommandName == "Modifica")
            {
                ResetToInitial();
                PopolaCampi(idFattura, true);
                btnInsFattura.Visible = false;
                btnModFattura.Visible = !btnInsFattura.Visible;
                hfIdFattura.Value     = idFattura.ToString();
            }
            else if (e.CommandName == "Elimina")
            {
                bool isDeleted = false;
                try
                {
                    FattureAccontiDAO.Delete(idFattura);
                    FattureCantieriDAO.Delete(idFattura);
                    FattureDAO.Delete(idFattura);
                    isDeleted = true;
                }
                catch (Exception)
                {
                    lblMessaggio.Text      = "Errore durante l'eliminazione di una fattura";
                    lblMessaggio.ForeColor = Color.Red;
                }

                if (isDeleted)
                {
                    lblMessaggio.ForeColor = Color.Blue;
                    lblMessaggio.Text      = "Fattura eliminato con successo";
                }
                else
                {
                    lblMessaggio.ForeColor = Color.Red;
                    lblMessaggio.Text      = "Errore durante l'eliminazione del Fattura";
                }

                ResetToInitial();
            }
        }
示例#2
0
        /* HELPERS */
        protected void BindGrid(bool needToUpdateGrid = true)
        {
            if (needToUpdateGrid)
            {
                int numeroFattura = txtFiltroGrdNumeroFattura.Text != "" ? Convert.ToInt32(txtFiltroGrdNumeroFattura.Text) : 0;
                int anno          = txtFiltroGrdAnno.Text == "" ? DateTime.Now.Year : Convert.ToInt32(txtFiltroGrdAnno.Text);

                List <Fattura> fatture = FattureDAO.GetFatture(txtFiltroGrdAnno.Text, txtFiltroGrdDataDa.Text, txtFiltroGrdDataA.Text, txtFiltroGrdCliente.Text, txtFiltroGrdCantiere.Text, txtFiltroGrdAmministratore.Text, numeroFattura, Convert.ToInt32(ddlFiltroGrdRiscosso.SelectedValue));
                grdFatture.DataSource = fatture;
                grdFatture.DataBind();

                grdTotaleIvaPerQuarter.DataSource = FattureDAO.GetTotaliIvaPerQuarter(anno).Select(s => new
                {
                    Trimestre = s.quarter,
                    TotaleIva = s.totaleIva.ToString("N2")
                });
                grdTotaleIvaPerQuarter.DataBind();

                grdTotaleImponibilePerQuarter.DataSource = FattureDAO.GetTotaliImponibilePerQuarter(anno).Select(s => new
                {
                    Trimestre = s.quarter,
                    TotaleIva = s.totaleIva.ToString("N2")
                });
                grdTotaleImponibilePerQuarter.DataBind();

                grdTotaleImportoPerQuarter.DataSource = FattureDAO.GetTotaliImportoPerQuarter(anno).Select(s => new
                {
                    Trimestre = s.quarter,
                    TotaleIva = s.totaleIva.ToString("N2")
                });
                grdTotaleImportoPerQuarter.DataBind();

                decimal valoreAccontiDaRiscuotere = FattureAccontiDAO.GetTotaleAccontiNonRiscossi();

                grdTotali.DataSource = FattureDAO.GetTotaliFatture(txtFiltroGrdCliente.Text, txtFiltroGrdAmministratore.Text, txtFiltroGrdAnno.Text, numeroFattura, Convert.ToInt32(ddlFiltroGrdRiscosso.SelectedValue), txtFiltroGrdDataDa.Text, txtFiltroGrdDataA.Text, valoreAccontiDaRiscuotere).Select(s => new
                {
                    Titolo = s.titolo,
                    Valore = s.valore.ToString("N2")
                });
                grdTotali.DataBind();
            }
        }
示例#3
0
        private void PopolaCampi(int idFattura, bool isModifica)
        {
            Fattura fatt = FattureDAO.GetSingle(idFattura);
            List <FatturaCantiere> fatCantieri = FattureCantieriDAO.GetByIdFattura(fatt.IdFatture);
            List <FatturaAcconto>  fatAcconti  = FattureAccontiDAO.GetByIdFattura(fatt.IdFatture);
            Cantieri cantiere = null;

            if (fatCantieri.Count > 0)
            {
                cantiere = CantieriDAO.GetSingle(fatCantieri?.FirstOrDefault().IdCantieri ?? 0);
            }

            txtNumeroFattura.Text          = fatt.Numero.ToString();
            ddlScegliCliente.SelectedValue = fatt.IdClienti.ToString();
            fatCantieri.ForEach(f => lblShowCantieriAggiunti.Text += (lblShowCantieriAggiunti.Text == "" ? "" : ",") + CantieriDAO.GetSingle(f.IdCantieri).CodCant);
            txtData.Text     = fatt.Data.ToString("yyyy-MM-dd");
            txtData.TextMode = TextBoxMode.Date;
            fatAcconti.ForEach(f => lblShowAccontiAggiunti.Text += (lblShowAccontiAggiunti.Text == "" ? "" : "-") + f.ValoreAcconto.ToString());
            txtImponibile.Text       = fatt.Imponibile.ToString();
            txtRitenutaAcconto.Text  = fatt.RitenutaAcconto.ToString();
            txtIva.Text              = fatt.Iva.ToString();
            chkNotaCredito.Checked   = fatt.IsNotaDiCredito;
            chkReverseCharge.Checked = fatt.ReverseCharge;
            chkRiscosso.Checked      = fatt.Riscosso;
            txtConcatenazione.Text   = $"Fat. {fatt.Numero} del {fatt.Data:dd/MM/yyyy}";

            if (cantiere != null)
            {
                txtConcatenazione.Text += $" - {cantiere.CodCant}";
            }

            // Accessibilità campi
            txtNumeroFattura.ReadOnly = txtData.ReadOnly = txtValoreAcconto.ReadOnly = !isModifica;
            txtImponibile.ReadOnly    = txtRitenutaAcconto.ReadOnly = txtIva.ReadOnly = !isModifica;
            txtFiltroCliente.ReadOnly = txtFiltroCodCantiere.ReadOnly = txtFiltroDescrizioneCantiere.ReadOnly = !isModifica;
            chkNotaCredito.Enabled    = chkReverseCharge.Enabled = chkRiscosso.Enabled = isModifica;
            ddlScegliCantiere.Enabled = ddlScegliCliente.Enabled = isModifica;

            // Visibilità pannelli
            pnlInsFatture.Visible     = true;
            pnlRicercaFatture.Visible = !pnlInsFatture.Visible;
        }
示例#4
0
        protected void grdFatture_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {
                e.Row.Cells[5].Text  = "Imponibile";
                e.Row.Cells[8].Text  = "Val. Iva";
                e.Row.Cells[9].Text  = "Val. Rit. Acc.";
                e.Row.Cells[10].Text = "Imp. Fattura";
                e.Row.Cells[11].Text = "Imp. Amm.re";
                e.Row.Cells[12].Text = "Rev. Char.";
                e.Row.Cells[13].Text = "Riscosso";
                e.Row.Cells[14].Text = "Nota Credito";
            }
            else if (e.Row.RowType == DataControlRowType.DataRow)
            {
                long rowIdFattura = Convert.ToInt64((e.Row.FindControl("hfRowIdFattura") as HiddenField).Value);

                Fattura fattura = FattureDAO.GetSingle(rowIdFattura);

                double imponibile            = fattura.Imponibile;
                double valoreIva             = imponibile * fattura.Iva / 100;
                double valoreRitenutaAcconto = imponibile * fattura.RitenutaAcconto / 100;

                (e.Row.FindControl("lblValoreIva") as Label).Text             = valoreIva.ToString("N2");
                (e.Row.FindControl("lblValoreRitenutaAcconto") as Label).Text = valoreRitenutaAcconto.ToString("N2");

                double importoFattura = imponibile + valoreIva - valoreRitenutaAcconto;
                (e.Row.FindControl("lblImportoFattura") as Label).Text = importoFattura.ToString("N2");

                // Se è stato valorizzato il campo amministratore
                if (fattura.IdAmministratori != 0)
                {
                    // Eseguo il calcolo per quell'amministratore e lo sommo del totale generale
                    double importoAmministratore = imponibile - valoreRitenutaAcconto;
                    (e.Row.FindControl("lblImportoAmministratore") as Label).Text = importoAmministratore.ToString("N2");
                    totaleImportoAmministratore += importoAmministratore;
                }

                // Scrivo i totali generali
                totaleImporto      += importoFattura;
                totaleDaRiscuotere += (e.Row.FindControl("chkRiscosso") as CheckBox).Checked ? 0 : importoFattura - FattureAccontiDAO.GetTotaleAccontiFattura(rowIdFattura);
            }
        }
示例#5
0
        protected void btnModFattura_Click(object sender, EventArgs e)
        {
            try
            {
                if (ddlScegliCliente.SelectedIndex > 0 && txtImponibile.Text != "" && txtData.Text != "")
                {
                    Fattura p = PopolaFatturaObj();

                    // Inserisco i cantieri e gli acconti
                    if (hfIdCantieriDaAggiungere.Value != "" || hfIdCantieriDaAggiungere.Value.Contains(";"))
                    {
                        hfIdCantieriDaAggiungere.Value.Split(';').ToList().ForEach(c => FattureCantieriDAO.Insert(p.IdFatture, Convert.ToInt32(c)));
                    }

                    if (hfValoriAccontiDaAggiungere.Value != "" || hfValoriAccontiDaAggiungere.Value.Contains(";"))
                    {
                        hfValoriAccontiDaAggiungere.Value.Split(';').ToList().ForEach(a => FattureAccontiDAO.Insert(p.IdFatture, Convert.ToDouble(a)));
                    }

                    if (FattureDAO.Update(p))
                    {
                        lblMessaggio.ForeColor = Color.Blue;
                        lblMessaggio.Text      = "Fattura " + p.Numero + " aggiornata con successo";
                    }
                    else
                    {
                        lblMessaggio.ForeColor = Color.Red;
                        lblMessaggio.Text      = "Errore durante l'aggiornamento della Fattura " + p.Numero;
                    }
                }
                else
                {
                    lblMessaggio.ForeColor = Color.Red;
                    lblMessaggio.Text      = "I campi Cliente, Imponibile e Data devono essere compilati";
                }
            }
            catch (Exception ex)
            {
                lblMessaggio.ForeColor = Color.Red;
                lblMessaggio.Text      = "Errore durante l'aggiornamento del Fattura ===> " + ex.Message;
            }

            ResetToInitial();
        }