private BusinessInstanceSelectedDTO[] getListaDto(DataTable tb) { var lista = new BusinessInstanceSelectedDTO[tb.Rows.Count]; var index = 0; foreach (DataRow row in tb.Rows) { try { if (row["Id"] != DBNull.Value) { var item = new BusinessInstanceSelectedDTO { ID = (int)row["Id"] }; if (row["Descrizione"] != DBNull.Value) item.Descrizione = (string)row["Descrizione"]; if (row["Selezionato"] != DBNull.Value) item.Selezionato = (bool)row["Selezionato"]; if (row["ParentId"] != DBNull.Value) item.ParentId = (int)row["ParentId"]; if (row["ParentName"] != DBNull.Value) item.ParentName = (string)row["ParentName"]; lista[index] = item; index++; } } catch (Exception ex) { _log.Error("Errore nella conversione da DataTable a DTO delle unità selezionate: " + Library.Utility.GetMethodDescription() + " - id:" + row["Id"], ex); throw; } } return lista; }
public void SetUnitaDataSource(string key, BusinessInstanceSelectedDTO[] lista) { var tb = GetEmptyUnitaDataSource(); foreach (var businessInstanceSelectedDTO in lista) { var item = (UnitaImmobiliareSelectedDTO) businessInstanceSelectedDTO; var row = tb.NewRow(); row["IdUnitaImmobiliare"] = item.ID; row["IdSoggettoCondominio"] = item.IdSoggettoCondominio; row["Nominativo"] = item.Descrizione; row["Selezionato"] = item.Selezionato; row["IdMillesimo"] = item.IdMillesimo; row["Importo"] = item.Importo; row["Interno"] = item.Interno; row["TipoUnita"] = item.TipoUnita; row["DirittiReali"] = item.DirittiReali; if(item.PercentualeSpese != null) row["PercentualeSpese"] = item.PercentualeSpese; row["TipoCondomino"] = item.TipoCondomino; row["ValoreMillesimo"] = item.ValoreMillesimo; row["ParentId"] = item.ParentId; row["ParentName"] = item.ParentName; tb.Rows.Add(row); tb.AcceptChanges(); } SetUnitaDataSource(key, tb); }
public void SetGruppiDataSource(string key, BusinessInstanceSelectedDTO[] lista) { if(lista != null) { var tb = getTableFromBusinessSelected(lista); SetGruppiDataSource(key, tb); } }
public RipartizioneBollettaDTO GetRipartizioneByCondominio(Condominio condominio, DateTime dataRiferimento, bool spesePersonali) { try { var ripartizione = new RipartizioneBollettaDTO {Lotti = new List<BusinessInstanceSelectedDTO>()}; // Lotti foreach (var lotto in condominio.Lotti) { ripartizione.Lotti.Add(new BusinessInstanceSelectedDTO { ID = lotto.ID, Descrizione = lotto.Descrizione, Selezionato = false }); } // Stabili ripartizione.Stabili = new List<BusinessInstanceSelectedDTO>(); foreach (var stabile in condominio.Palazzine) { var item = new BusinessInstanceSelectedDTO { ID = stabile.ID, Descrizione = stabile.Descrizione, Selezionato = false }; if(stabile.LottoRiferimento != null) { item.ParentId = stabile.LottoRiferimento.ID; item.ParentName = stabile.LottoRiferimento.Descrizione; } ripartizione.Stabili.Add(item); } // Scale ripartizione.Gruppi = new List<BusinessInstanceSelectedDTO>(); foreach (var stabile in condominio.Palazzine) { foreach (var scala in stabile.GruppiStabile) { ripartizione.Gruppi.Add(new BusinessInstanceSelectedDTO { ID = scala.ID, Descrizione = scala.Descrizione, ParentId = stabile.ID, ParentName = stabile.Descrizione, Selezionato = false }); } } // Unità Immobiliari/Soggetto condominio ripartizione.UnitaImmobiliari = new List<UnitaImmobiliareSelectedDTO>(); if (!spesePersonali) { foreach (var stabile in condominio.Palazzine) { foreach (var scala in stabile.GruppiStabile) { foreach (var unitaImmobiliare in scala.UnitaImmobiliari) { ripartizione.UnitaImmobiliari.Add(new UnitaImmobiliareSelectedDTO { ID = unitaImmobiliare.ID, Descrizione = unitaImmobiliare.Descrizione, Selezionato = false, Interno = unitaImmobiliare.InternoCompleto, Ordine = unitaImmobiliare.Ordine, TipoUnita = unitaImmobiliare.TipoUnitaImmobiliare.Descrizione, ParentId = scala.ID, ParentName = scala.Descrizione }); } } } } else { var soggetti = _daoFactory.GetSoggettoCondominioDao().GetAttiviByCondominioData(condominio.ID, null, null, dataRiferimento); foreach (var soggettoCondominio in soggetti) { ripartizione.UnitaImmobiliari.Add(new UnitaImmobiliareSelectedDTO { ID = soggettoCondominio.UnitaImmobiliare.ID, IdSoggettoCondominio = soggettoCondominio.ID, Descrizione = soggettoCondominio.DisplayName, Selezionato = false, Interno = soggettoCondominio.UnitaImmobiliare.InternoCompleto, Ordine = soggettoCondominio.UnitaImmobiliare.Ordine, TipoUnita = soggettoCondominio.UnitaImmobiliare.TipoUnitaImmobiliare.Descrizione, ParentId = soggettoCondominio.UnitaImmobiliare.GruppoStabileRiferimento.ID, ParentName = soggettoCondominio.UnitaImmobiliare.GruppoStabileRiferimento.Descrizione, TipoCondomino = soggettoCondominio.Tipo.ToString() }); } } return ripartizione; } catch (Exception ex) { _log.Error("Errore durante la generazione della ripartizione - " + Utility.GetMethodDescription() + " - condominio:" + condominio.ID, ex); throw; } }
public void SetSelezioneItemRiparto(TipoFiltro tipo, RipartizioneSpeseDTO ripart, BusinessInstanceSelectedDTO item, MovimentoContabileDTO movimento, Dictionary<DettaglioSpesaDTO, RipartizioneSpeseDTO> ripartizione) { try { if (movimento != null && ripart != null) { var key = GetKey(movimento); // Se key è null o vuota vuol dire che il metdo è stato richiamato nell'evento cell update di una riga nuova: non deve essere fatto nulla if (!string.IsNullOrEmpty(key)) { if (item != null) item.Stato = "U"; // Imposto come selezionati tutti gli altri filtri switch (tipo) { case TipoFiltro.Scala: if(ripart.Lotti != null && ripart.Lotti.ContainsKey(key)) resetItemFiltro(ripart.Lotti[key]); if (ripart.Stabili != null && ripart.Stabili.ContainsKey(key)) resetItemFiltro(ripart.Stabili[key]); break; case TipoFiltro.Stabile: if (ripart.Lotti != null && ripart.Lotti.ContainsKey(key)) resetItemFiltro(ripart.Lotti[key]); if (ripart.Gruppi != null && ripart.Gruppi.ContainsKey(key)) resetItemFiltro(ripart.Gruppi[key]); break; case TipoFiltro.Lotto: if (ripart.Stabili != null && ripart.Stabili.ContainsKey(key)) resetItemFiltro(ripart.Stabili[key]); if (ripart.Gruppi != null && ripart.Gruppi.ContainsKey(key)) resetItemFiltro(ripart.Gruppi[key]); break; } // Se multispesa tutti i filtri devono corrispondere try { if (_isMultiSpesa && ripartizione != null) { foreach (var kvp in ripartizione) { try { kvp.Value.Gruppi = ripart.Gruppi; kvp.Value.Lotti = ripart.Lotti; kvp.Value.Stabili = ripart.Stabili; kvp.Value.UnitaImmobiliari = ripart.UnitaImmobiliari; } catch (Exception ex) { var log = LogManager.GetLogger("Sfera"); log.Error("Errore inaspettato nella - MULTISPESA SINGOLO - " + Utility.GetMethodDescription() + " - tipo:" + tipo + " - azienda:" + Login.Instance.CurrentLogin().Azienda, ex); throw; } } } } catch (Exception ex) { var log = LogManager.GetLogger("Sfera"); log.Error("Errore inaspettato nella - MULTISPESA - " + Utility.GetMethodDescription() + " - tipo:" + tipo + " - azienda:" + Login.Instance.CurrentLogin().Azienda, ex); throw; } } } } catch (Exception ex) { var log = LogManager.GetLogger("Sfera"); log.Error("Errore inaspettato nella funzione - " + Utility.GetMethodDescription() + " - tipo:" + tipo + " - azienda:" + Login.Instance.CurrentLogin().Azienda, ex); } }
public RipartizioneBollettaDTO SetRipartizione(string tipo, BusinessInstanceSelectedDTO item, RipartizioneBollettaDTO ripartizione, MovimentoContabileBollettaDTO dto) { try { if (ripartizione != null) { dto.RipartoAggiornato = tipo; if (tipo != "L") { foreach (BusinessInstanceSelectedDTO lotto in ripartizione.Lotti) lotto.Selezionato = false; } if (tipo != "S") { foreach (BusinessInstanceSelectedDTO stabile in ripartizione.Stabili) stabile.Selezionato = false; } if (tipo != "G") { foreach (BusinessInstanceSelectedDTO scala in ripartizione.Gruppi) scala.Selezionato = false; } } else { var log = LogManager.GetLogger("Sfera"); log.Fatal("ATTENZIONE: Ripartizione a null - " + Utility.GetMethodDescription() + " - tipo: " + tipo); } return ripartizione; } catch (Exception ex) { var log = LogManager.GetLogger("Sfera"); log.Fatal("Errore inaspettato durante il set della ripartizione per una bolletta - " + Utility.GetMethodDescription() + " - tipo: " + tipo, ex); throw; } }