public DettaglioModelloContabileUI(ModelloListaRegistrazioneContabileDTO modello, CondominioDTO condominio, EsercizioDTO esercizio) { IsConfirmed = false; InitializeComponent(); _modello = modello; _condominio = condominio; _esercizio = esercizio; LoadData(_modello); }
public DettaglioModelloContabileUC(ModelloListaRegistrazioneContabileDTO modello, CondominioDTO condominio, EsercizioDTO esercizio) { InitializeComponent(); if (!DesignMode) { inizializza(); _modello = modello; _condominio = condominio; _esercizio = esercizio; } }
public DettaglioModelloContabileUI(CondominioDTO condominio, EsercizioDTO esercizio) : base(false) { IsConfirmed = false; InitializeComponent(); _condominio = condominio; _esercizio = esercizio; _modello = getModelloService().New(_condominio); LoadData(_modello); //base.SetEditing(true); }
public void LoadData(ModelloListaRegistrazioneContabileDTO modello) { BusinessClass = new[] { (BaseDTOOfint)modello }; Text += @" Id: " + _modello.ID.ToString() + @" - " + _modello.Descrizione; _modello = modello; //ReadOnly = !_fatturaService.IsAllowUpdate(_spesa); ultraToolbarsManagerStandard.Tools["Cancella"].SharedProps.Enabled = !ReadOnly; _dettaglioModello = new DettaglioModelloContabileUC(modello, _condominio, _esercizio); splitContainer1.Panel1.Controls.Add(_dettaglioModello); _dettaglioModello.Dock = DockStyle.Fill; }
private void ricercaModelliPreviewKeyDown(object sender, PreviewKeyDownEventArgs e) { try { if (ricercaModelli != null && ricercaModelli.ActiveRow != null && ricercaModelli.ActiveRow.IsDataRow) { var dto = ricercaModelli.ActiveRow.ListObject as ModelloListaRegistrazioneContabileDTO; if (dto != null) { if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab) { if (e.KeyCode == Keys.Tab) { // Se la riga attiva è fuori dal filtro pongo come riga attiva la prima del filtro if (ricercaModelli.ActiveRow.IsFilteredOut) { foreach (var row in ricercaModelli.Rows) { if (!row.IsFilteredOut) { ricercaModelli.ActiveRow = row; row.Selected = true; break; } } } } if (ricercaModelli.ActiveRow.Cells["Id"].Value != null && ricercaModelli.ActiveRow.Cells["Id"].Value != DBNull.Value) { _modelloSelected = (ModelloListaRegistrazioneContabileDTO)ricercaModelli.ActiveRow.ListObject; modello.Text = _modelloSelected.Descrizione; ((DropDownEditorButton)modello.ButtonsRight["SceltaModello"]).CloseUp(); OnSelectModello(new DataSourceEventArgs<ModelloListaRegistrazioneContabileDTO>(SelectedModello)); return; } } var filtered = false; if (e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z) { modello.Text += e.KeyCode.ToString(); filtered = true; } else if (e.KeyCode == Keys.Space) { modello.Text += @" "; filtered = true; } else if (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9) { modello.Text += e.KeyCode.ToString().Substring(1, 1); filtered = true; } else if (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9) { modello.Text += e.KeyCode.ToString().Substring(6, 1); filtered = true; } else if (e.KeyCode == Keys.Back) { if (modello.Text.Length > 0) { modello.Text = modello.Text.Substring(0, modello.Text.Length - 1); filtered = true; } } if (filtered && ricercaModelli.DisplayLayout.Bands[0].ColumnFilters.Count > 0) { if (ricercaModelli.Rows.Count > 0) { ricercaModelli.Rows[0].Selected = true; ricercaModelli.Rows[0].Activate(); } } } } } catch (Exception ex) { _log.Error("Errore inaspettato nell'intercettazione dei caratteri digitati per la scelta del modello - " + Utility.GetMethodDescription() + " - azienda:" + Security.Login.Instance.CurrentLogin().Azienda, ex); } }
public void Reset() { try { modello.Value = null; _modelloSelected = null; if (ricercaModelli.DisplayLayout != null) ricercaModelli.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters(); if (modello.ButtonsRight.Exists("SceltaModello") && ((DropDownEditorButton)modello.ButtonsRight["SceltaModello"]).IsDroppedDown) ((DropDownEditorButton)modello.ButtonsRight["SceltaModello"]).CloseUp(); OnSelectModello(new DataSourceEventArgs<ModelloListaRegistrazioneContabileDTO>(SelectedModello)); } catch (Exception ex) { _log.ErrorFormat("Errore nel reset del controllo di scelta modelli - {0}", ex, Utility.GetMethodDescription()); throw; } }
public void SetModelloInitial(int idModello) { try { _modelloInitial = idModello; // Imposto il condominio iniziale if (ricercaModelli.Rows != null) { foreach (var row in ricercaModelli.Rows) { if (row.IsDataRow && ((ModelloListaRegistrazioneContabileDTO)row.ListObject).ID == _modelloInitial) { row.Selected = true; _modelloSelected = (ModelloListaRegistrazioneContabileDTO)row.ListObject; modello.Text = _modelloSelected.DisplayName; OnSelectModello(new DataSourceEventArgs<ModelloListaRegistrazioneContabileDTO>(SelectedModello)); break; } } } } catch (Exception ex) { _log.ErrorFormat("Errore nella impostazione del controllo di scelta modello - {0}", ex, Utility.GetMethodDescription()); throw; } }
private void ricercaModelliClick(object sender, EventArgs e) { //Cast the sender into an UltraGrid var grid = sender as UltraGrid; //Get the last element that the mouse entered if (grid != null) { var lastElementEntered = grid.DisplayLayout.UIElement.LastElementEntered; //See if there's a RowUIElement in the chain. RowUIElement rowElement; var element = lastElementEntered as RowUIElement; if (element != null) rowElement = element; else { rowElement = (RowUIElement)lastElementEntered.GetAncestor(typeof(RowUIElement)); } //Try to get a row from the element var row = (UltraGridRow) rowElement?.GetContext(typeof(UltraGridRow)); //If no row was returned, then the mouse is not over a row. if (row?.ListObject == null) return; _modelloSelected = (ModelloListaRegistrazioneContabileDTO)row.ListObject; } modello.Text = _modelloSelected.Descrizione; OnSelectModello(new DataSourceEventArgs<ModelloListaRegistrazioneContabileDTO>(SelectedModello)); ((DropDownEditorButton)modello.ButtonsRight["SceltaModello"]).CloseUp(); }
private void listaMouseUp(object sender, MouseEventArgs e) { _modelloClick = null; if (e.Button == MouseButtons.Right) { _modelloClick = DataGridHelper.GetCellEvent<ModelloListaRegistrazioneContabileDTO>(listaModelli, e); if (_modelloClick != null) contextMenuStrip1.Show(listaModelli, e.X, e.Y); } }
public ModelloListaRegistrazioneContabileDTO GetById(int id) { try { ModelloListaRegistrazioneContabileDTO dto = null; var modello = _daoFactory.GetModelloRegistrazioneContabileDao().Find(id, false); if (modello != null) { dto = new ModelloListaRegistrazioneContabileDTO { ID = modello.ID, Descrizione = modello.Descrizione, DescrizioneVoceFattura = modello.DescrizioneVoceFattura, IdCondominio = modello.CondominioRiferimento.ID, Version = modello.Version, IsDeleteAllow = modello.IsDeleteAllow(), DisplayName = modello.Descrizione }; // ---------------------------------------- // Conti // ---------------------------------------- foreach (var conto in modello.Conti) { var contoDto = new ContiListaModelloRegistrazioneContabileDTO { ID = conto.ID, IdConto = conto.ContoRiferimento != null ? conto.ContoRiferimento.ID : 0, IdModello = dto.ID, PercentualeRipartizione = conto.PercentualeRipartizione.GetValueOrDefault(), Version = conto.Version, IsDeleteAllow = conto.IsDeleteAllow(), DisplayName = conto.ContoRiferimento != null ? conto.ContoRiferimento.Descrizione : string.Empty }; if (conto.SottoContoRiferimento != null) { contoDto.IdSottoConto = conto.SottoContoRiferimento.ID; contoDto.DisplayName += " - " + conto.SottoContoRiferimento.GetDescrizione(null, modello.CondominioRiferimento, null); } // ---------------------------------------- // Dettagli / Riparto // ---------------------------------------- foreach (var dettaglio in conto.Unita) { var dettaglioDto = new DettaglioListaModelloRegistrazioneContabileDTO { ID = dettaglio.ID, IsDeleteAllow = dettaglio.IsDeleteAllow(), }; if (dettaglio.LottoRiferimento != null) dettaglioDto.IdLotto = dettaglio.LottoRiferimento.ID; if (dettaglio.PalazzinaRiferimento != null) dettaglioDto.IdStabile = dettaglio.PalazzinaRiferimento.ID; if (dettaglio.GruppoStabileRiferimento != null) dettaglioDto.IdGruppoStabile = dettaglio.GruppoStabileRiferimento.ID; if (dettaglio.UnitaRiferimento != null) dettaglioDto.IdUnita = dettaglio.UnitaRiferimento.ID; contoDto.Riparto.Add(dettaglioDto); } dto.Conti.Add(contoDto); } // ---------------------------------------- // Fornitori // ---------------------------------------- foreach (var modelloFornitore in modello.Fornitori) { var dtoFornitore = new ModelloContabileFornitoreDTO { ID = modelloFornitore.ID, IdFornitore = modelloFornitore.Fornitore.ID, IdModello = modello.ID, DisplayName = modelloFornitore.Fornitore.DisplayName, Version = modelloFornitore.Version }; dto.Fornitori.Add(dtoFornitore); } } return dto; } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la lettura dei modelli per condominio - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), id); throw; } }
public AuthorizationMessages SalvaModello(ModelloListaRegistrazioneContabileDTO dto, bool ricalcoloSpeseEsistenti, int idUtente, LogTransazione logTransazione) { try { var logTransazioneModello = logTransazione; var logTransazioneDettaglioModello = logTransazione; var logTransazioneFornitoreModello = logTransazione; var logTransazioneContoModello = logTransazione; var fatalMessage = string.Empty; var warnMessage = string.Empty; ModelloRegistrazioneContabile modello = null; if (dto.ID == 0) { var condominio = _daoFactory.GetCondominioDao().Find(dto.IdCondominio, false); if (condominio != null) { var descrizione = string.Empty; if (!string.IsNullOrEmpty(dto.Descrizione)) { descrizione = dto.Descrizione; if (descrizione.Length > 100) descrizione = descrizione.Substring(0, 100); } var voceFattura = string.Empty; if (!string.IsNullOrEmpty(dto.DescrizioneVoceFattura)) { voceFattura = dto.DescrizioneVoceFattura; if (voceFattura.Length > 512) voceFattura = voceFattura.Substring(0, 512); } modello = new ModelloRegistrazioneContabile(condominio, descrizione, logTransazioneModello) { DescrizioneVoceFattura = voceFattura }; if (logTransazioneModello != null) { _daoFactory.GetModelloRegistrazioneContabileDao().SaveOrUpdate(modello); logTransazioneContoModello = null; logTransazioneDettaglioModello = null; logTransazioneFornitoreModello = null; } } } else { modello = _daoFactory.GetModelloRegistrazioneContabileDao().Find(dto.ID, false); if(modello != null) modello.Descrizione = dto.Descrizione; } if (modello != null) { modello.DescrizioneVoceFattura = dto.DescrizioneVoceFattura; // -------------------------- // Fornitori // -------------------------- modello.Fornitori.Clear(); foreach (var dtoFornitore in dto.Fornitori) { ModelloContabileFornitore modelloFornitore = null; if (dtoFornitore.ID == 0) { if (dtoFornitore.IdFornitore > 0) { var fornitore = _daoFactory.GetFornitoreDao().Find(dtoFornitore.IdFornitore, false); if (fornitore != null) { modelloFornitore = new ModelloContabileFornitore(fornitore, modello, logTransazioneFornitoreModello); if(logTransazioneFornitoreModello != null) _daoFactory.GetModelloContabileFornitoreDao().SaveOrUpdate(modelloFornitore); } else { _log.WarnFormat("Fornitore inesistente - {0} - fornitore:{1}", Library.Utility.GetMethodDescription(), dtoFornitore.IdFornitore); } } else { _log.WarnFormat("Fornitore non definito - {0}", Library.Utility.GetMethodDescription()); } } else { modelloFornitore = _daoFactory.GetModelloContabileFornitoreDao().Find(dtoFornitore.ID, false); if (modelloFornitore != null) modelloFornitore.Fornitore = _daoFactory.GetFornitoreDao().GetById(dtoFornitore.IdFornitore, false); else { _log.WarnFormat("Modello inesistente - {0} - IdModello:{1}", Library.Utility.GetMethodDescription(), dtoFornitore.IdModello); } } if (modelloFornitore != null) modello.Fornitori.Add(modelloFornitore); } // -------------------------- // Conti // -------------------------- modello.Conti.Clear(); foreach (var dtoConto in dto.Conti) { var conto = _daoFactory.GetContoDao().Find(dtoConto.IdConto, false); var sottoConto = _daoFactory.GetSottoContoDao().Find(dtoConto.IdSottoConto, false); var modelloConto = _daoFactory.GetContiModelloRegistrazioneContabileDao().Find(dtoConto.ID, false); if (modelloConto == null) { modelloConto = new ContiModelloRegistrazioneContabile(modello, conto, sottoConto, dtoConto.PercentualeRipartizione, logTransazioneContoModello); if (logTransazioneContoModello != null) { _daoFactory.GetContiModelloRegistrazioneContabileDao().SaveOrUpdate(modelloConto); logTransazioneDettaglioModello = null; } } else { modelloConto.PercentualeRipartizione = dtoConto.PercentualeRipartizione; if (conto != null) modelloConto.ContoRiferimento = conto; if (sottoConto != null) modelloConto.SottoContoRiferimento = sottoConto; } // -------------------------- // Riparto // -------------------------- modelloConto.Unita.Clear(); foreach (var dtoRiparto in dtoConto.Riparto) { var modelloRiparto = _daoFactory.GetDettaglioModelloRegistrazioneContabileDao().Find(dtoRiparto.ID, false); if (modelloRiparto == null) { modelloRiparto = new DettaglioModelloRegistrazioneContabile(modelloConto, logTransazioneDettaglioModello); if(logTransazioneDettaglioModello != null) _daoFactory.GetDettaglioModelloRegistrazioneContabileDao().SaveOrUpdate(modelloRiparto); } // Lotto modelloRiparto.LottoRiferimento = dtoRiparto.IdLotto > 0 ? _daoFactory.GetLottoDao().GetById(dtoRiparto.IdLotto.Value, false) : null; // Stabile modelloRiparto.PalazzinaRiferimento = dtoRiparto.IdStabile > 0 ? _daoFactory.GetPalazzinaDao().GetById(dtoRiparto.IdStabile.Value, false) : null; // Gruppo Stabile modelloRiparto.GruppoStabileRiferimento = dtoRiparto.IdGruppoStabile > 0 ? _daoFactory.GetGruppoStabileDao().GetById(dtoRiparto.IdGruppoStabile.Value, false) : null; // Unità Immobiliare modelloRiparto.UnitaRiferimento = dtoRiparto.IdUnita > 0 ? _daoFactory.GetUnitaImmobiliareDao().GetById(dtoRiparto.IdUnita.Value, false) : null; modelloConto.Unita.Add(modelloRiparto); } modello.Conti.Add(modelloConto); } if (ricalcoloSpeseEsistenti) { var authMessage = ReloadRipartizioneByModelloEsercizio(modello.ID, null, null, idUtente, logTransazione); if (!string.IsNullOrEmpty(authMessage.FatalMessage)) fatalMessage += authMessage.FatalMessage + Environment.NewLine; if (!string.IsNullOrEmpty(authMessage.WarnMessage)) warnMessage += authMessage.WarnMessage + Environment.NewLine; } return new AuthorizationMessages(fatalMessage, warnMessage) {Id = modello.ID}; } return new AuthorizationMessages(fatalMessage, warnMessage); } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante il salvataggio del modello contabile - {0} - modello:{1} - condominio:{2}", ex, Library.Utility.GetMethodDescription(), dto.ID, dto.IdCondominio); throw; } }
public List<ModelloListaRegistrazioneContabileDTO> GetByCondominio(int idCondominio) { try { var condominio = _daoFactory.GetCondominioDao().GetById(idCondominio, false); var modelli = _daoFactory.GetModelloRegistrazioneContabileDao().GetByCondominio(idCondominio); var modelliDto = new List<ModelloListaRegistrazioneContabileDTO>(modelli.Count); // ---------------------------------------- // Modelli // ---------------------------------------- foreach (var modello in modelli) { try { var dto = new ModelloListaRegistrazioneContabileDTO { ID = modello.ID, Descrizione = modello.Descrizione, DescrizioneVoceFattura = modello.DescrizioneVoceFattura, IdCondominio = idCondominio, Version = modello.Version, IsDeleteAllow = modello.IsDeleteAllow(), DisplayName = modello.Descrizione }; // ---------------------------------------- // Conti // ---------------------------------------- foreach (var conto in modello.Conti) { try { var contoDto = new ContiListaModelloRegistrazioneContabileDTO { ID = conto.ID, IdModello = dto.ID, PercentualeRipartizione = conto.PercentualeRipartizione.GetValueOrDefault(), Version = conto.Version, IsDeleteAllow = conto.IsDeleteAllow() }; if(conto.ContoRiferimento != null) { contoDto.IdConto = conto.ContoRiferimento.ID; contoDto.DisplayName = conto.ContoRiferimento.Descrizione; // ---------------------------------------- // Dettagli / Riparto // ---------------------------------------- foreach (var dettaglio in conto.Unita) { try { var dettaglioDto = new DettaglioListaModelloRegistrazioneContabileDTO { ID = dettaglio.ID, IsDeleteAllow = dettaglio.IsDeleteAllow(), }; if (dettaglio.LottoRiferimento != null) dettaglioDto.IdLotto = dettaglio.LottoRiferimento.ID; if (dettaglio.PalazzinaRiferimento != null) dettaglioDto.IdStabile = dettaglio.PalazzinaRiferimento.ID; if (dettaglio.GruppoStabileRiferimento != null) dettaglioDto.IdGruppoStabile = dettaglio.GruppoStabileRiferimento.ID; if (dettaglio.UnitaRiferimento != null) dettaglioDto.IdUnita = dettaglio.UnitaRiferimento.ID; contoDto.Riparto.Add(dettaglioDto); } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la lettura dei modelli per condominio - SINGOLO DETTAGLIO - {0} - idConto:{1} - idDettaglio:{2} - idModello:{3} - idCondominio:{4}", ex, Library.Utility.GetMethodDescription(), conto.ID, dettaglio.ID, modello.ID, idCondominio); throw; } } } else { _log.WarnFormat("ATTENZIONE Modello con riga di riparto senza conto definito - {0} - idConto:{1} - idModello:{2} - idCondominio:{3}", Library.Utility.GetMethodDescription(), conto.ID, modello.ID, idCondominio); } if (conto.SottoContoRiferimento != null) { contoDto.IdSottoConto = conto.SottoContoRiferimento.ID; contoDto.DisplayName += " - " + conto.SottoContoRiferimento.GetDescrizione(null, condominio, null); } dto.Conti.Add(contoDto); } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la lettura dei modelli per condominio - SINGOLO CONTO - {0} - idConto:{1} - idModello:{2} - idCondominio:{3}", ex, Library.Utility.GetMethodDescription(), conto.ID, modello.ID, idCondominio); throw; } } // ---------------------------------------- // Fornitori // ---------------------------------------- foreach (var modelloFornitore in modello.Fornitori) { var dtoFornitore = new ModelloContabileFornitoreDTO { ID = modelloFornitore.ID, IdFornitore = modelloFornitore.Fornitore.ID, IdModello = modello.ID, DisplayName = modelloFornitore.Fornitore.DisplayName, Version = modelloFornitore.Version }; dto.Fornitori.Add(dtoFornitore); } modelliDto.Add(dto); } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la lettura dei modelli per condominio - SINGOLO MODELLO - {0} - idModello:{1} - idCondominio:{2}", ex, Library.Utility.GetMethodDescription(), modello.ID, idCondominio); throw; } } return modelliDto; } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la lettura dei modelli per condominio - {0} - idCondominio:{1}", ex, Library.Utility.GetMethodDescription(), idCondominio); throw; } }
public string Delete(ModelloListaRegistrazioneContabileDTO modello, EsercizioDTO esercizio) { var message = GetServiceClient().DeleteModelloContabile(modello.ID, GetUserInfo()); if(esercizio != null) updateCache(esercizio); CloseService(); return message; }
public AuthorizationMessages Salva(ModelloListaRegistrazioneContabileDTO modello, EsercizioDTO esercizio, bool ricalcoloSpeseEsistenti) { var message = GetServiceClient().SalvaModelloContabile(modello, ricalcoloSpeseEsistenti, GetUserInfo()); modello.ID = message.Id.GetValueOrDefault(); if(esercizio != null) updateCache(esercizio); CloseService(); return message; }
public ModelloListaRegistrazioneContabileDTO New(CondominioDTO condominio) { if (condominio != null) { var modello = new ModelloListaRegistrazioneContabileDTO { IdCondominio = condominio.ID, Fornitori = new List<ModelloContabileFornitoreDTO>(), Conti = new List<ContiListaModelloRegistrazioneContabileDTO>() }; return modello; } return new ModelloListaRegistrazioneContabileDTO(); }
public AuthorizationMessages SalvaModelloContabile(ModelloListaRegistrazioneContabileDTO modello, bool ricalcoloSpeseEsistenti, UserInfo userinfo) { var retryCount = 10; var success = false; var windsorRep = new WindsorConfigRepository(); var item = new AuthorizationMessages(); while (retryCount >= 0 && !success) { try { var logTransazione = windsorRep.BeginTransaction(userinfo, true, true); var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IModelloContabileService>(); item = service.SalvaModello(modello, ricalcoloSpeseEsistenti, userinfo.Utente, logTransazione); // Se sono presenti errori bloccanti non eseguo la commit if (!item.FatalMessage.Any()) windsorRep.Commit(logTransazione); success = true; } catch (InvalidDataException ex) { return new AuthorizationMessages(ex.Message, null); } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del modello contabile - TENTATIVO:{0} - {1} - modello:{2} - descrizione:{3} - condominio:{4} - azienda:{5} - number:{6}", ex, (11 - retryCount), Utility.GetMethodDescription(), modello.ID, modello.Descrizione, modello.IdCondominio, userinfo.Azienda, getExceptionId(ex)); windsorRep.Rollback(); if (!isRetryException(ex)) throw; // Add delay here if you wish. System.Threading.Thread.Sleep(1000 * (11 - retryCount)); retryCount--; _log.InfoFormat("Salvataggio del modello contabile - TENTATIVO:{0} - {1} - modello:{2} - descrizione:{3} - condominio:{4} - azienda:{5}", (11 - retryCount), Utility.GetMethodDescription(), modello.ID, modello.Descrizione, modello.IdCondominio, userinfo.Azienda); } } if (!success) windsorRep.Rollback(); return item; }