public LetturaContatoreDTO GetByDomainEntity(LetturaContatore item) { try { return setDto(item); } catch (Exception ex) { if (item != null) _log.Error("Errore nel caricamento delle letture dei contatori: " + Library.Utility.GetMethodDescription() + " - id:" + item.ID, ex); else _log.Error("Errore nel caricamento delle letture dei contatori: " + Library.Utility.GetMethodDescription() + " - Lettura Contatore --> null", ex); throw; } }
private bool update(LetturaContatoreDTO dto, out LetturaContatore item) { bool result; item = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { item = daoFactory.GetLetturaContatoreDao().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) { if (dto.Valore != null) { item.Data = dto.Data; item.Valore = dto.Valore.Value; item.Contatore = daoFactory.GetContatoreDao().GetById(dto.IdContatore, false); item.UnitaImmobiliare = daoFactory.GetUnitaImmobiliareDao().GetById(dto.IdUnitaImmobiliare, false); } else daoFactory.GetLetturaContatoreDao().Delete(item); result = true; } else { // Eccezione: Sul db c'è qualche cosa di più nuovo. _log.Error("Errore nel salvataggio della lettura del contatore: id:" + dto.ID + " - il dato sul db è più recente di quello che si vuole salvare"); result = false; } } catch (Exception ex) { _log.Error("Errore nel salvataggio della lettura del contatore: " + Library.Utility.GetMethodDescription() + " - id:" + dto.ID, ex); throw; } return result; }
private bool insert(LetturaContatoreDTO dto, out LetturaContatore item) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); item = null; try { if (dto.Valore != null) { item = new LetturaContatore(daoFactory.GetContatoreDao().GetById(dto.IdContatore, false), daoFactory.GetUnitaImmobiliareDao().GetById(dto.IdUnitaImmobiliare, false), dto.Data, dto.Valore.Value) {Version = dto.Version}; daoFactory.GetLetturaContatoreDao().SaveOrUpdate(item); } } catch (Exception ex) { _log.Error("Errore nel salvataggio della lettura del contatore: " + Library.Utility.GetMethodDescription() + " - id:" + dto.ID, ex); throw; } return true; }
private LetturaContatoreDTO setDto(LetturaContatore item) { try { var dto = new LetturaContatoreDTO { ID = item.ID, Data = item.Data, Valore = item.Valore, IdContatore = item.Contatore.ID, DescrizioneContatore = item.Contatore.Descrizione, TipoUnitaImmobiliare = item.UnitaImmobiliare.TipoUnitaImmobiliare.Descrizione, DisplayName = item.Valore + " - " + item.Data.ToShortDateString(), Lotto = string.Empty, Version = item.Version }; if(item.UnitaImmobiliare != null) { dto.InternoUnitaImmobiliare = item.UnitaImmobiliare.InternoCompleto; dto.IdUnitaImmobiliare = item.UnitaImmobiliare.ID; dto.DescrizioneUnitaImmobiliare = item.UnitaImmobiliare.Descrizione; dto.OrdineUnitaImmobiliare = item.UnitaImmobiliare.Ordine.GetValueOrDefault(); dto.Stabile = item.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.Descrizione; dto.Scala = item.UnitaImmobiliare.GruppoStabileRiferimento.Descrizione; if (item.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.LottoRiferimento != null) dto.Lotto = item.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.LottoRiferimento.Descrizione; } return dto; } catch (Exception ex) { _log.Fatal("Errore nel salvataggio delle letture dei contatori: " + Library.Utility.GetMethodDescription() + " - id: " + item.ID, ex); throw; } }