Exemplo n.º 1
0
        private void SetNumeroFattura()
        {
            string         numeroFattura      = "";
            string         nuovoNumeroFattura = "";
            int            annoFattura        = (txtData.Text != "" ? Convert.ToDateTime(txtData.Text).Year : DateTime.Now.Year);
            List <Fattura> fatture            = FattureDAO.GetAll().Where(w => w.Data.Year == annoFattura).ToList();

            if (fatture.Count() == 0)
            {
                numeroFattura = "001";
            }
            else
            {
                nuovoNumeroFattura = (fatture.Select(s => s.Numero).Max() + 1).ToString();
                if (nuovoNumeroFattura.Length == 1)
                {
                    numeroFattura = "00";
                }
                if (nuovoNumeroFattura.Length == 2)
                {
                    numeroFattura = "0";
                }
            }
            txtNumeroFattura.Text = $"{numeroFattura}{nuovoNumeroFattura}";
        }
Exemplo n.º 2
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();
            }
        }
 public IHttpActionResult GetFattureEmesse([FromUri] string year, [FromUri] string numFattura)
 {
     try
     {
         List <Fattura> items = FattureDAO.GetByAnnoNumero(Convert.ToInt32(year), Convert.ToInt32(numFattura));
         return(Ok(items));
     }
     catch (Exception ex)
     {
         string messaggio = $"Errore durante la GetFattureEmesse in FattureController --- {ex}";
         log.Error(messaggio);
         return(BadRequest(messaggio));
     }
 }
Exemplo n.º 4
0
        private void SetLabels()
        {
            double                 totaleImponibileEmesso = 0, totaleFatturatoEmesso = 0, totaleImponibileAcquisto = 0, totaleFatturatoAcquisto = 0;
            int                    anno    = txtFiltroAnno.Text != "" ? Convert.ToInt32(txtFiltroAnno.Text) : 0;
            List <Fattura>         fatture = FattureDAO.GetAll();
            List <FatturaAcquisto> fattureAcquisto = FattureAcquistoDAO.GetAll();

            if (anno != 0)
            {
                fatture         = fatture.Where(w => w.Data.Year == anno).ToList();
                fattureAcquisto = fattureAcquisto.Where(w => w.Data.Year == anno).ToList();
            }

            if (fatture.Count() > 0)
            {
                totaleImponibileEmesso = fatture.Sum(s => s.Imponibile);
                totaleFatturatoEmesso  = fatture.Sum(s => s.Imponibile + (s.Imponibile * s.Iva / 100) - (s.Imponibile * s.RitenutaAcconto / 100));
            }

            if (fatture.Count() > 0)
            {
                totaleImponibileAcquisto = fattureAcquisto.Sum(s => s.Imponibile);
                totaleFatturatoAcquisto  = fattureAcquisto.Sum(s => s.Imponibile + (s.Imponibile * s.Iva / 100) - (s.Imponibile * s.RitenutaAcconto / 100));
            }

            decimal totaleBollette = BolletteDAO.GetTotale(anno);

            // Fatture Emesse
            lblFattureEmesseTotaleImponibile.Text = $"Totale imponibile emesso: <strong>{totaleImponibileEmesso:N2}</strong>";
            lblFattureEmesseTotaleFatturato.Text  = $"Totale fatturato emesso: <strong>{totaleFatturatoEmesso:N2}</strong>";

            // Fatture Acquisto
            lblFattureAcquistoTotaleImponibile.Text = $"Totale imponibile acquisto: <strong>{totaleImponibileAcquisto:N2}</strong>";
            lblFattureAcquistoTotaleFatturato.Text  = $"Totale fatturato acquisto: <strong>{totaleFatturatoAcquisto:N2}</strong>";

            //Differenze
            lblDifferenzaTotaleImponibile.Text = $"Differenza totale imponibile: <strong>{totaleImponibileEmesso - totaleImponibileAcquisto:N2}</strong>";
            lblDifferenzaTotaleFatturato.Text  = $"Differenza totale fatturato: <strong>{totaleFatturatoEmesso - totaleFatturatoAcquisto:N2}</strong>";

            // Bollette e Utile
            lblTotaleBollette.Text = $"Totale bollette: <strong>{totaleBollette:N2}</strong>";
            lblUtile.Text          = $"Utile: <strong>{totaleImponibileEmesso - totaleImponibileAcquisto - Convert.ToDouble(totaleBollette / 2):N2}</strong>";
            hfUtile.Value          = (totaleImponibileEmesso - totaleImponibileAcquisto - Convert.ToDouble(totaleBollette / 2)).ToString("N2");

            BindGrid(anno);
        }
Exemplo n.º 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();
        }
Exemplo n.º 6
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);
            }
        }
Exemplo n.º 7
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();
            }
        }
Exemplo n.º 8
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;
        }