private void loadData(ContatoreDTO contatore) { try { if (contatore != null) { _contatore = contatore; //====================================================================== // Combo //====================================================================== sceltaCondominioCombo1.LoadData(); sceltaCondominioCombo1.SetCondominioInitial(_contatore.CodiceCondominio); // Tipo Contatore tipoContatoreDTOBindingSource.DataSource = getUtenzaService().GetTipiContatoreByAzienda(); //====================================================================== // Contatore //====================================================================== contatoreDTOBindingSource.DataSource = _contatore; BusinessClass = new[] { (BaseDTOOfint)_contatore }; Text = "Contatore - Id: " + _contatore.ID + " - " + _contatore.Codice + " " + _contatore.Descrizione; } } catch (Exception ex) { _log.ErrorFormat("Errore nel load del contatore - {0} - contatore:{1} - azienda:{2}", ex, contatore != null ? contatore.ID.ToString() : "<NULL>", Security.Login.Instance.CurrentLogin().Azienda); sceltaCondominioCombo1.SelectItem -= sceltaCondominioCombo1SelectItem; CloseForm(); } }
public DettaglioContatoreUI(ContatoreDTO contatoreCache) { InitializeComponent(); if (!DesignMode) { inizializza(); _contatore = getUtenzaService().GetContatoreById(contatoreCache.ID); loadData(_contatore); } }
private Contatore manage(ContatoreDTO dto) { Contatore item = null; bool result; // Controllo sullo stato U, I switch (dto.Stato.ToUpper()) { case "U": result = update(dto, out item); if (!result) { //Il dato sul database è più recente di quello utilizzato //unit.ID = 0; item = null; } break; case "I": result = insert(dto, out item); if (!result) throw new Exception("Impossibile scrivere sul database"); break; } return item; }
private bool insert(ContatoreDTO dto, out Contatore item) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { item = new Contatore(daoFactory.GetTipoContatoreDao().GetById(dto.IdTipo, false), dto.Codice, dto.Descrizione, daoFactory.GetCondominioDao().GetById(dto.CodiceCondominio, false)) {IsContaCalorie = dto.IsContaCalorie, Version = dto.Version}; if (dto.CodiceCondominio > 0) item.Condominio = daoFactory.GetCondominioDao().GetById(dto.CodiceCondominio, false); if (dto.CodiceUtenza > 0) item.Utenza = daoFactory.GetUtenzaDao().GetById(dto.CodiceUtenza.Value, false); daoFactory.GetContatoreDao().SaveOrUpdate(item); } catch (Exception ex) { _log.Error("Errore nel salvataggio dei contatori: " + Library.Utility.GetMethodDescription() + " - id:" + dto.ID, ex); throw; } return true; }
private bool update(ContatoreDTO dto, out Contatore item) { var result = false; item = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { item = daoFactory.GetContatoreDao().GetById(dto.ID, false); // Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia if (dto.Version == item.Version) { item.Descrizione = dto.Descrizione.Trim(); item.IsContaCalorie = dto.IsContaCalorie; item.Codice = dto.Codice; item.Tipo = daoFactory.GetTipoContatoreDao().GetById(dto.IdTipo, false); item.Version = dto.Version; if (dto.CodiceCondominio > 0) item.Condominio = daoFactory.GetCondominioDao().GetById(dto.CodiceCondominio, false); if (dto.CodiceUtenza > 0) item.Utenza = daoFactory.GetUtenzaDao().GetById(dto.CodiceUtenza.Value, false); result = true; } else { // Eccezione: Sul db c'è qualche cosa di più nuovo. _log.Error("Errore nel salvataggio del contatore: id:" + dto.ID + " - il dato sul db è più recente di quello che si vuole salvare"); } } catch (Exception ex) { _log.Error("Errore nel salvataggio del contatore: " + Library.Utility.GetMethodDescription() + " - id:" + dto.ID, ex); throw; } return result; }
private ContatoreDTO setDto(Contatore item) { try { if (item != null && item.Tipo != null) { if (item.Tipo != null) { var descrizioneTipo = "<N.D.>"; if (!string.IsNullOrEmpty(item.Tipo.Descrizione)) descrizioneTipo = item.Tipo.Descrizione; var descrizione = string.Empty; if (!string.IsNullOrEmpty(item.Descrizione)) descrizione = item.Descrizione; var dto = new ContatoreDTO { ID = item.ID, Descrizione = item.Descrizione, Codice = item.Codice, CodiceCondominio = item.Condominio.ID, DescrizioneCondominio = item.Condominio.Descrizione, DisplayName = string.Format("{0} - {1} {2}", descrizioneTipo, item.Codice, descrizione), IdTipo = item.Tipo.ID, IsContaCalorie = item.IsContaCalorie, IsCondominiale = item.IsCondominiale, DescrizioneTipo = item.Descrizione, Version = item.Version }; if (item.Utenza != null) { dto.CodiceUtenza = item.Utenza.ID; dto.DescrizioneUtenza = item.Utenza.Descrizione; } return dto; } else { _log.ErrorFormat("Trovato contatore con tipo null - {0} - id:{1} - azienda:{2}", Library.Utility.GetMethodDescription(), item.ID, _info.Azienda); } } return null; } catch (Exception ex) { _log.ErrorFormat("Errore nel creazione dei contatori - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), item != null ? item.ID.ToString() : "<null>"); throw; } }
public int? ManageDomainEntity(ContatoreDTO dto) { try { return manage(dto).ID; } catch (Exception ex) { _log.ErrorFormat("Errore nella gestione dei contatori - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), dto.ID); throw; } }
public DataTable AddDataLettura(ContatoreDTO contatore, CondominioDTO condominio, DataTable tb, DateTime data, LottoDTO lotto, StabileDTO stabile, GruppoStabileDTO scala) { var dateColumn = new List<DataColumn>(); int? idLotto = null; if(lotto != null) idLotto = lotto.ID; int? idStabile = null; if(stabile != null) idStabile = stabile.ID; int? idScala = null; if(scala != null) idScala = scala.ID; // Se non sono presenti righe devo caricare tutte le righe per le unità immobiliari presenti if (tb.Rows.Count == 0) { IList<LetturaContatoreDTO> lettureNew = GetServiceClient().GetNewLettura(contatore.ID, data, condominio.ID, idLotto, idStabile, idScala, GetUserInfo()); foreach (var lettura in lettureNew) { var row = tb.NewRow(); row["IdUnitaImmobiliare"] = lettura.IdUnitaImmobiliare; row["InternoUnitaImmobiliare"] = lettura.InternoUnitaImmobiliare; row["DescrizioneUnitaImmobiliare"] = lettura.DescrizioneUnitaImmobiliare; row["OrdineUnitaImmobiliare"] = lettura.OrdineUnitaImmobiliare; row["TipoUnitaImmobiliare"] = lettura.TipoUnitaImmobiliare; row["Lotto"] = lettura.Lotto; row["Stabile"] = lettura.Stabile; row["Scala"] = lettura.Scala; // Data dateColumn = addColumnByData(data, tb, dateColumn); if(lettura.Valore != null) row["Data_" + data.ToShortDateString()] = lettura.Valore; else row["Data_" + data.ToShortDateString()] = DBNull.Value; tb.Rows.Add(row); } } else { dateColumn.AddRange(tb.Columns.Cast<DataColumn>().Where(column => column.ColumnName.StartsWith("Data_"))); addColumnByData(data, tb, dateColumn); foreach (DataRow row in tb.Rows) row["Data_" + data.ToShortDateString()] = DBNull.Value; } CloseService(); return tb; }
public DataTable GetLetturePivotByEsercizio(EsercizioDTO esercizio, ContatoreDTO contatore, LottoDTO lotto, StabileDTO stabile, GruppoStabileDTO scala) { int? idLotto = null; if (lotto != null) idLotto = lotto.ID; int? idStabile = null; if (stabile != null) idStabile = stabile.ID; int? idScala = null; if (scala != null) idScala = scala.ID; var letture = GetServiceClient().GetLettureContatoriByEsercizio(esercizio.ID, esercizio.IdCondominio, contatore.ID, idLotto, idStabile, idScala, GetUserInfo()); var tb = new DataTable("LettureContatori"); tb.Columns.Add("IdUnitaImmobiliare", typeof(int)); tb.Columns.Add("InternoUnitaImmobiliare", typeof(string)); tb.Columns.Add("DescrizioneUnitaImmobiliare", typeof(string)); tb.Columns.Add("OrdineUnitaImmobiliare", typeof(int)); tb.Columns.Add("TipoUnitaImmobiliare", typeof(string)); tb.Columns.Add("Lotto", typeof(string)); tb.Columns.Add("Stabile", typeof(string)); tb.Columns.Add("Scala", typeof(string)); tb.PrimaryKey = new[] { tb.Columns["IdUnitaImmobiliare"] }; // ---------------------------------------------- // Aggiungo una colonna per ogni Data // ---------------------------------------------- var dateColumn = new List<DataColumn>(); if (letture.Count > 0) { var idExampleUnita = letture[0].IdUnitaImmobiliare; var listaLettureExample = from item in letture where item != null && item.IdUnitaImmobiliare == idExampleUnita orderby item.Data select item; dateColumn = new List<DataColumn>(listaLettureExample.Count()); dateColumn = listaLettureExample.Aggregate(dateColumn, (current, letturaExample) => addColumnByData(letturaExample.Data, tb, current)); } // ---------------------------------------------- // Riempio la tabella // ---------------------------------------------- foreach (var lettura in letture.OrderBy(item => item.OrdineUnitaImmobiliare)) { var row = tb.Rows.Find(lettura.IdUnitaImmobiliare); if (row == null) { row = tb.NewRow(); row["IdUnitaImmobiliare"] = lettura.IdUnitaImmobiliare; row["InternoUnitaImmobiliare"] = lettura.InternoUnitaImmobiliare; row["DescrizioneUnitaImmobiliare"] = lettura.DescrizioneUnitaImmobiliare; row["OrdineUnitaImmobiliare"] = lettura.OrdineUnitaImmobiliare; row["TipoUnitaImmobiliare"] = lettura.TipoUnitaImmobiliare; row["Lotto"] = lettura.Lotto; row["Stabile"] = lettura.Stabile; row["Scala"] = lettura.Scala; tb.Rows.Add(row); } if (!tb.Columns.Contains("Data_" + lettura.Data.ToShortDateString())) dateColumn = addColumnByData(lettura.Data, tb, dateColumn); if (lettura.Valore != null) row["Data_" + lettura.Data.ToShortDateString()] = lettura.Valore; else row["Data_" + lettura.Data.ToShortDateString()] = DBNull.Value; } CloseService(); return tb; }
public List<LetturaContatoreDTO> GetLettureByEsercizio(EsercizioDTO esercizio, ContatoreDTO contatore) { var result = GetServiceClient().GetLettureContatoriByEsercizio(esercizio.ID, esercizio.IdCondominio, contatore.ID, null, null, null, GetUserInfo()); CloseService(); return result; }
public ContatoreDTO GetContatoreNew(CondominioDTO condominio) { var contatore = new ContatoreDTO(); if (condominio != null) { contatore.CodiceCondominio = condominio.ID; contatore.DescrizioneCondominio = condominio.DisplayName; } return contatore; }
public ContatoreDTO SalvaContatore(ContatoreDTO contatore) { var contatoreSave = contatore; int? idContatore = GetServiceClient().SalvaContatore(contatore, GetUserInfo()); if (idContatore != null) { contatoreSave = idContatore == 0 ? new ContatoreDTO {ID = 0} : GetContatoreById(idContatore.Value); } else contatoreSave.ID = 0; CloseService(); return contatoreSave; }
public int? SalvaContatore(ContatoreDTO dto, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var rep = new ContatoreRepository(userinfo, windsorRep); var item = rep.ManageDomainEntity(dto); windsorRep.Commit(); return item; } catch (Exception ex) { _log.Error("Errore durante l'aggiornamento di un contatore - " + Utility.GetMethodDescription() + " - idCondominio:" + dto.CodiceCondominio + " - idContatore:" + dto.ID, ex); windsorRep.Rollback(); throw; } }
public void LoadData(ContatoreDTO contatore) { loadData(contatore); }
protected override bool Save() { if (_contatore.Stato != "") { ContatoreDTO contatoreSave; try { _contatore.CodiceCondominio = sceltaCondominioCombo1.CondominioSelected.ID; contatoreSave = getUtenzaService().SalvaContatore(_contatore); } catch (Exception ex) { log.Error("Errore durante il Salvataggio del contatore - id: " + _contatore.ID, ex); throw; } if (contatoreSave.ID == 0) { CommonMessages.DisplayWarning("Si è verificato un errore: un altro utente ha effettuato un aggiornamento. Uscire e riprovare "); Dispose(); } else { _contatore = contatoreSave; BusinessClass = new BaseDTOOfint[] { _contatore }; contatoreDTOBindingSource.DataSource = _contatore; } base.Save(); } return true; }
protected override void ExecuteNew() { _contatore = getUtenzaService().GetContatoreNew(_condominio); contatoreDTOBindingSource.DataSource = _contatore; BusinessClass = new BaseDTOOfint[] { _contatore }; Text = "Nuovo Contatore"; loadData(_contatore); base.SaveOrUpdate(); base.ExecuteNew(); }