Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public void SetGruppiDataSource(string key, BusinessInstanceSelectedDTO[] lista)
 {
     if(lista != null)
     {
         var tb = getTableFromBusinessSelected(lista);
         SetGruppiDataSource(key, tb);
     }
 }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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;
            }
        }