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}"; }
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)); } }
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); }
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(); }
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); } }
/* 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(); } }
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; }