public UnitaImmobiliareDTO[] GetAll()
		{
			try
			{
				var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
				var lista = daoFactory.GetUnitaImmobiliareDao().GetAll();
				var unitaImmobiliari = new UnitaImmobiliareDTO[lista.Count];

				//int index = 0;
				//foreach (UnitaImmobiliare unitaImmobiliare in lista)
				//{
				//    unitaImmobiliari[index] = setUnitaImmobiliareDto(unitaImmobiliare);
				//    index++;
				//}

				for (var i = 1; i < 150; i++)
				{
					unitaImmobiliari[i] = setDto(lista[i]);
				}

				return unitaImmobiliari;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel caricamento delle unità immobiliari - {0} - idAzienda:{1}", ex, Utility.GetMethodDescription(), _info.Azienda);
                throw;
			}
		}
Esempio n. 2
0
        public ListaProprietariUC(UnitaImmobiliareDTO unitaImmobiliare, IReloadControl parentForm)
        {
            InitializeComponent();
            _parentForm = parentForm;
            _unitaImmobiliare = unitaImmobiliare;

            listaProprietari.LoadProprietari(_unitaImmobiliare, _parentForm);
        }
        public DettaglioUnitaImmobiliareUI(UnitaImmobiliareDTO unita, bool disableEditing) : base(disableEditing)
        {
            InitializeComponent();
            inizializza();

            _gruppoStabile = unita.GruppoStabileRiferimento;
            _unitaImmobiliare = unita;
        }
Esempio n. 4
0
        public RipartoContiUnitaUI(EsercizioDTO esercizio, ContoDTO conto, int idUnita)
        {
            InitializeComponent();

            inizializza();

            _esercizio = esercizio;
            _conto = conto;
            _unitaImmobiliare = _unitaImmobiliareService.GetByID(idUnita);
        }
        public DettaglioUnitaImmobiliareUI(int idUnitaImmobiliare)
        {
            InitializeComponent();
            inizializza();

            _unitaImmobiliare = _unitaImmobiliareService.GetByID(idUnitaImmobiliare);
            _gruppoStabile = _unitaImmobiliare.GruppoStabileRiferimento;
            unitaImmobiliareBindingSource.DataSource = _unitaImmobiliare;
            BusinessClass = new BaseDTOOfint[] { _unitaImmobiliare };
        }
Esempio n. 6
0
        public void LoadProprietari(UnitaImmobiliareDTO unitaImmobiliare, IReloadControl parentForm, bool loadSoggetti = true)
        {
            try
            {
                if (loadSoggetti && !backgroundWorkerLoadSoggetti.IsBusy)
                    backgroundWorkerLoadSoggetti.RunWorkerAsync(new LoadDatiAsyncArguments(unitaImmobiliare.IdCondominio, getPersonaService(), getSoggettoService()));
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore durante il caricamento asincrono - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), unitaImmobiliare.IdCondominio, Security.Login.Instance.CurrentLogin().Azienda);
            }

            _parentForm = parentForm;
            _unitaImmobiliare = unitaImmobiliare;
            _tipoSoggetto = TipoSoggetto.Proprietario;

            soggettoCondominioDTOBindingSource.DataSource = _unitaImmobiliare.Proprietari;
            lista.DataBind();
            if (_unitaImmobiliare.Proprietari != null)
                loadValueLists();

            if (lista.DisplayLayout != null)
            {
                lista.DisplayLayout.Bands[0].Columns["DataInizio"].SortIndicator = SortIndicator.Descending;
                if (lista.Rows.Count > 0)
                    lista.ActiveRow = lista.Rows[0];

                if (lista.DisplayLayout.Bands[0].Columns.Exists("DeleteSelectColumn"))
                {
                    lista.DisplayLayout.Bands[0].Columns["DeleteSelectColumn"].Hidden = true;
                    lista.DisplayLayout.Bands[0].Columns["DeleteSelectColumn"].ExcludeFromColumnChooser = ExcludeFromColumnChooser.True;
                }
            }
            else
            {
                if(ParentForm != null)
                    ParentForm.Close();
            }

            btnNuovo.Text = "Nuovo Proprietario";
        }
Esempio n. 7
0
        public List<DocumentoDTO> GetByUnitaImmobiliare(UnitaImmobiliareDTO unitaImmobiliare)
        {
            try
            {
                var result = GetServiceClient().GetDataSourceDocumentoByUnitaImmobiliare(unitaImmobiliare.ID, GetUserInfo());
                CloseService();
                return result;
            }
            catch (CommunicationObjectAbortedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (CommunicationObjectFaultedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (CommunicationException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (IOException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (ObjectDisposedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella chiamata al servizio - {0} - unità immobiliare:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), unitaImmobiliare?.ID.ToString() ?? "<NULL>", Login.Instance.CurrentLogin().Azienda);
                throw;
            } 

            return new List<DocumentoDTO>();
        }
        UnitaImmobiliareListaDTO convertUnita(UnitaImmobiliareDTO dto)
        {
            var descrizioneGruppoStabile = "";

            if(dto.GruppoStabileRiferimento != null )
            {
                descrizioneGruppoStabile = dto.GruppoStabileRiferimento.Descrizione;
            }

            var item = new UnitaImmobiliareListaDTO
            {
                Id = dto.ID,
                CodiceCondominio = dto.IdCondominio,
                Piano = dto.Piano,
                ValoreMillesimo = dto.ValoreMillesimo,
                Condominio = dto.DescrizioneCondominio,
                Stabile = dto.DisplayStabile,
                GruppoStabile = descrizioneGruppoStabile,
                Foglio = dto.FoglioCatastale,
                Mappale = dto.FoglioCatastale,
                Subalterno = dto.Subalterno,
                Interno = dto.InternoCompleto,
                Tipo = dto.Tipo,
                CodiceTipo = dto.CodiceTipo,
                Note = dto.Note,
                Proprietario = dto.DisplayProprietario,
                Conduttore = dto.DisplayConduttore,
                UnitaImmobiliarePrincipale = dto.UnitaImmobiliarePrincipale,
                Ordine = dto.Ordine,
                IdLotto = dto.IdLotto,
                Lotto = dto.DescrizioneLotto,
                ValoreMillesimoScala = dto.ValoreMillesimoScala,
                ValoreMillesimoStabile = dto.ValoreMillesimoStabile,
                EsclusaAddebitoQuotaFissa = dto.EsclusaAddebitoQuotaFissa,
                DisplayName = dto.Ordine + " - " + dto.Tipo + " - " + dto.Descrizione
            };

            if (dto.GruppoStabileRiferimento != null)
                item.IdGruppoStabile = dto.GruppoStabileRiferimento.ID;

            item.Descrizione = dto.ID > 0 ? GetServiceClient().GetDescrizioneUnitaImmobiliare(dto.ID, GetUserInfo()) : dto.Descrizione;

            return item;
        }
        public UnitaImmobiliareDTO GetNew()
        {
            var unita = new UnitaImmobiliareDTO
            {
                Conduttori = new List<ConduttoreDTO>(),
                Proprietari = new List<ProprietarioDTO>()
            };

            return unita;
        }
Esempio n. 10
0
	    private bool insert(UnitaImmobiliareDTO dto, out UnitaImmobiliare item)
		{
			var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

		    try
			{
				if(dto.CodiceTipo == 0)
				{
					dto.CodiceTipo = 1;
					_log.WarnFormat("Tentativo di inserire una unità immobiliare con TIPO non definito - {0} - id:{1}", Utility.GetMethodDescription(), dto.ID);
				}

                // Se non viene trovato il tipo per default: Abitazione bugid#3727
			    var tipoUnitaImmobiliare = daoFactory.GetTipoUnitaImmobiliareDao().Find(dto.CodiceTipo, false) ?? daoFactory.GetTipoUnitaImmobiliareDao().GetById(1, false);
			    item = new UnitaImmobiliare(tipoUnitaImmobiliare, dto.IdAzienda);
	  
				if (dto.GruppoStabileRiferimento != null)
					item.GruppoStabileRiferimento = daoFactory.GetGruppoStabileDao().GetById(dto.GruppoStabileRiferimento.ID, false);
				item.Descrizione = dto.Descrizione;
				item.EstensioneInterno = dto.EstensioneInterno;
				item.FoglioCatastale = dto.FoglioCatastale;
				item.Interno = dto.Interno;
				item.Mappale = dto.Mappale;
				item.Note = dto.Note;
				item.Piano = dto.Piano;
				item.NumeroResidenti = dto.NumeroResidenti.GetValueOrDefault();
				item.Subalterno = dto.Subalterno;
				item.Ordine = dto.Ordine;
				item.ValoreMillesimo = dto.ValoreMillesimo;
				item.ValoreMillesimoStabile = dto.ValoreMillesimoStabile;
			    item.EsclusaAddebitoQuotaFissa = dto.EsclusaAddebitoQuotaFissa;
                item.CodiceImportazione = dto.CodiceImportazione;
				item.ValoreMillesimoScala = dto.ValoreMillesimoScala;
                
                if (string.IsNullOrEmpty(dto.Descrizione))
			    {
                    item.Descrizione = daoFactory.GetUnitaImmobiliareDao().GetUnitaImmobiliareDescrizione(item);
                    item.DescrizioneUnitaImmobiliareAutomatica = true;
			    }

                if (item.GruppoStabileRiferimento != null)
                {
				    if (item.FoglioCatastale == null)
					    item.FoglioCatastale = item.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento.FoglioCatastale;
				    if (item.Mappale == null)
					    item.Mappale = item.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento.MappaleCatastale;
                }

				daoFactory.GetUnitaImmobiliareDao().SaveOrUpdate(item);

				//Lista Soggetti
				item.Soggetti.Clear();
				foreach (var t in dto.Soggetti)
				{
				    t.IdUnitaImmobiliare = item.ID;
				    _id = t.ID;
				    if ((t.Stato == "U") || (t.Stato == "I"))
				        _id = getSoggettoRepository().ManageDomainEntity(t);

				    var soggDomain = daoFactory.GetSoggettoCondominioDao().Find(_id.GetValueOrDefault(), false);
                    if (soggDomain != null)
                    {
                        soggDomain.UnitaImmobiliare = item;
                        item.Soggetti.Add(soggDomain);
                    }
				}

                // Condizioni Sicurezza Impianto
                updateCondizioniSicurezzaImpianto(dto.CondizioniSicurezzaImpianto, item, daoFactory);

                // Dettaglio
                item.Dettaglio.Clear();
                foreach (var unitaImmobiliareDettaglioDTO in dto.Dettaglio)
                {
                    // Se non viene trovato il tipo per default: Abitazione bugid#3727
                    var tipo = daoFactory.GetTipoUnitaImmobiliareDao().Find(unitaImmobiliareDettaglioDTO.IdTipoUnita, false) ?? daoFactory.GetTipoUnitaImmobiliareDao().GetById(1, false);
                    UnitaImmobiliareDettaglio itemDettaglio = null;
                    if (unitaImmobiliareDettaglioDTO.ID > 0)
                        itemDettaglio = daoFactory.GetUnitaImmobiliareDettaglioDao().Find(unitaImmobiliareDettaglioDTO.ID, false);
                    if (itemDettaglio == null)
                        itemDettaglio = new UnitaImmobiliareDettaglio(item, tipo, unitaImmobiliareDettaglioDTO.Numero);

                    itemDettaglio.TipoUnita = tipo;
                    itemDettaglio.Numero = unitaImmobiliareDettaglioDTO.Numero;
                    itemDettaglio.Subalterno = unitaImmobiliareDettaglioDTO.Subalterno;
                    itemDettaglio.Unita = item;
                }
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nel salvataggio delle Unita Immobiliari -  {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID);
				throw;
			}
			return true;
		}
        protected override bool Save()
        {
            var proprietariValidate = _proprietariUC.ValidateData();
            var conduttoriValidate = _conduttoriUC.ValidateData();

            if (proprietariValidate && conduttoriValidate)
            {
                _unitaImmobiliare.Proprietari = _proprietariUC.GetProprietari();
                _unitaImmobiliare.Conduttori = _conduttoriUC.GetConduttori();

                if (gruppi.SelectedItem != null)
                    _unitaImmobiliare.GruppoStabileRiferimento = (GruppoStabileDTO)gruppi.SelectedItem.ListObject;
                _unitaImmobiliare.Stato = "U";
                _unitaImmobiliare.Tipo = tipoUnita.Text;
                var unitaImmobiliareSave = _unitaImmobiliareService.Save(_unitaImmobiliare);
                if (unitaImmobiliareSave.ID == 0)
                {
                    CommonMessages.DisplayWarning($"Si è verificato un errore.{Environment.NewLine}Si prega di riprovare");
                    Dispose();
                }
                else
                {
                    _unitaImmobiliare = unitaImmobiliareSave;
                    _proprietariUC.LoadProprietari(_unitaImmobiliare);
                    _conduttoriUC.LoadConduttori(_unitaImmobiliare);
                    _proprietariUC.Save();
                    _conduttoriUC.Save();
                }

                base.Save();

                return true;
            }
            else
            {
                return false;
            }
        }
Esempio n. 12
0
        public void LoadDataAsync(UnitaImmobiliareDTO unitaImmobiliare)
        {
            _unitaImmobiliare = unitaImmobiliare;

            try
            {
                backgroundWorkerLoadDatiUnitaImmobiliari.RunWorkerAsync(new LoadDatiAsyncArgumentsUnitaImmobiliare(unitaImmobiliare, getDocumentoService()));
            }
            catch (Exception ex)
            {
                
                _log.Error("Errore durante il caricamento asincrono. - " + Utility.GetMethodDescription(), ex);
            }
        }
Esempio n. 13
0
        private void btnUnitaImmobiliari_Click(object sender, EventArgs e)
        {
            Dictionary<string, int> personeInserite = new Dictionary<string, int>();
            Dictionary<string, int> unitaInserite = new Dictionary<string, int>();

            IList<DatiUnitaImmobiliare> unitaImmobiliari = ImportazioneCentroAbita.GetUnitaImmobiliari(openFileDialog1.FileName);
            openService();
            BindingList<ComuneDTO> comuni = _service.GetComuni(_userInfo);
            IList<StabileDTO> stabili = _service.GetStabiliByAzienda(_userInfo);
            Dictionary<string, CondominioDTO> condomini = new Dictionary<string, CondominioDTO>();
            Dictionary<string, int> ordineUnita = new Dictionary<string, int>();

            IList<IdCodiceImportazione> listaCondominiImportati = _service.GetCodiceImportazione(Gipasoft.Sfera.Enums.TipoAnagraficaEnum.Condominio, _userInfo);

            foreach (DatiUnitaImmobiliare item in unitaImmobiliari)
            {
                int idCondominio = listaCondominiImportati.Where(itemCond => itemCond.CodiceImportazione == item.CodiceCondominio).SingleOrDefault().Id;

                int ordine = 0;
                if (ordineUnita.ContainsKey(item.CodiceCondominio))
                {
                    ordine = ordineUnita[item.CodiceCondominio] + 10;
                    ordineUnita[item.CodiceCondominio] =  ordine;
                }
                else
                {
                    ordine = 10;
                    ordineUnita.Add(item.CodiceCondominio, ordine);
                }

                int? idPersona = null;
                if (personeInserite.ContainsKey(item.CodicePersona))
                    idPersona = personeInserite[item.CodicePersona];
                else
                {
                    string localita = item.Localita;
                    string codiceComune = getCodiceComuneByDescrizione(item.Localita, comuni);
                    if (!string.IsNullOrEmpty(codiceComune))
                        localita = string.Empty;

                    PersonaDTO persona = new PersonaDTO()
                    {
                        Cognome = item.NominativoPersona,
                        IndirizzoResidenza = new AddressDTO()
                        {
                            Indirizzo = item.IndirizzoPersona,
                            Cap = item.Cap,
                            CodiceComune = codiceComune,
                            Localita = localita
                        }
                    };

                    if (!string.IsNullOrEmpty(item.TelefonoPersona))
                    {
                        if (persona.Contatti == null)
                            persona.Contatti = new BindingList<ContattoDTO>();
                        persona.Contatti.Add(new ContattoDTO() { TipoContatto = "Telefono", Valore = item.TelefonoPersona.Trim() });
                    }

                    idPersona = _service.SetPersona(persona, _userInfo);
                }

                int? idUnita = null;
                if (unitaInserite.ContainsKey(item.CodiceUnita))
                    idUnita = unitaInserite[item.CodiceUnita];
                else
                {
                    UnitaImmobiliareDTO unita = new UnitaImmobiliareDTO()
                    {
                        IdCondominio = idCondominio,
                        IdAzienda = 16,
                        Ordine = ordine,
                        Descrizione = "$proprietario1",
                        GruppoStabileRiferimento = stabili.Where(itemStabile => itemStabile.IdCondominio == idCondominio).FirstOrDefault().GruppiStabile.FirstOrDefault(),
                        CodiceImportazione = item.CodiceUnita
                    };

                    idUnita = _service.SetUnitaImmobiliari(unita, _userInfo);
                    unitaInserite.Add(item.CodiceUnita, idUnita.GetValueOrDefault());
                }

                Gipasoft.Sfera.Enums.TipoSoggetto tipo = Gipasoft.Sfera.Enums.TipoSoggetto.Proprietario;
                switch(item.TipoSoggetto)
                {
                    case "P":
                        tipo = Gipasoft.Sfera.Enums.TipoSoggetto.Proprietario;
                        break;
                    case "I":
                        tipo = Gipasoft.Sfera.Enums.TipoSoggetto.Conduttore;
                        break;
                }

                SoggettoCondominioDTO soggetto = new SoggettoCondominioDTO()
                {
                    IdUnitaImmobiliare = idUnita.Value,
                    IdPersona = idPersona.Value,
                    PercentualeRiferimento = 100,
                    Principale = true,
                    Tipo = tipo
                };
                _service.SetSoggetti(soggetto, _userInfo);
            }
        }
Esempio n. 14
0
 public void SetConduttoriDataSource(UnitaImmobiliareDTO unitaImmobiliare)
 {
     _unitaImmobiliare = unitaImmobiliare;
     soggettoCondominioDTOBindingSource.DataSource = _unitaImmobiliare.Conduttori;
     lista.DataBind();
     SetLayout();
 }
Esempio n. 15
0
        public void LoadConduttori(UnitaImmobiliareDTO unitaImmobiliare, IReloadControl parentForm, bool loadSoggetti = true)
        {
            if(backgroundWorkerLoadSoggetti.IsBusy)
                return;

            if(loadSoggetti)
                backgroundWorkerLoadSoggetti.RunWorkerAsync(new LoadDatiAsyncArguments(unitaImmobiliare.IdCondominio, getPersonaService(), getSoggettoService()));
            
            _parentForm = parentForm;
            _unitaImmobiliare = unitaImmobiliare;
            _tipoSoggetto = TipoSoggetto.Conduttore;

            soggettoCondominioDTOBindingSource.DataSource = _unitaImmobiliare.Conduttori;
            lista.DataBind();
            if (_unitaImmobiliare.Conduttori != null)
                loadValueLists();

            lista.DisplayLayout.Bands[0].Columns["DataInizio"].SortIndicator = SortIndicator.Descending;
            if (lista.Rows.Count > 0)
                lista.ActiveRow = lista.Rows[0];

            if (lista.DisplayLayout.Bands[0].Columns.Exists("DeleteSelectColumn"))
            {
                lista.DisplayLayout.Bands[0].Columns["DeleteSelectColumn"].Hidden = true;
                lista.DisplayLayout.Bands[0].Columns["DeleteSelectColumn"].ExcludeFromColumnChooser = ExcludeFromColumnChooser.True;
            }

            btnNuovo.Text = "Nuovo Conduttore";
        }
Esempio n. 16
0
		private UnitaImmobiliareDTO setDto(UnitaImmobiliare item)
		{
			try
			{
				var dto = new UnitaImmobiliareDTO();

                if (item != null)
                {
                    if (item.AziendaID != null)
                    {
                        dto.IdAzienda = (int)item.AziendaID;
                    }

                    dto.ID = item.ID;
                    dto.Descrizione = item.Descrizione;
                    dto.DisplayName = item.Descrizione;
                    dto.EstensioneInterno = item.EstensioneInterno;
                    if (item.FoglioCatastale != null)
                        dto.FoglioCatastale = item.FoglioCatastale.Value;
                    if (item.Interno != null)
                        dto.Interno = item.Interno.Value;
                    if (item.Mappale != null)
                        dto.Mappale = item.Mappale.Value;

                    dto.Piano = item.Piano;
                    dto.NumeroResidenti = item.NumeroResidenti;
                    dto.Note = item.Note;

                    dto.Subalterno = item.Subalterno;
                    dto.CodiceTipo = item.TipoUnitaImmobiliare.ID;
                    dto.Tipo = item.TipoUnitaImmobiliare.Descrizione;
                    dto.Ordine = item.Ordine;
                    dto.ValoreMillesimo = item.ValoreMillesimo;
                    dto.ValoreMillesimoScala = item.ValoreMillesimoScala;
                    dto.ValoreMillesimoStabile = item.ValoreMillesimoStabile;
                    dto.EsclusaAddebitoQuotaFissa = item.EsclusaAddebitoQuotaFissa;
                    dto.CodiceImportazione = item.CodiceImportazione;
                    dto.Version = item.Version;

                    //Conduttore Principale
                    var conduttorePrincipale = item.GetConduttorePrincipale(null);
                    if (conduttorePrincipale != null)
                    {
                        var condut = getConduttoreRepository().GetByDomainEntity(conduttorePrincipale);
                        dto.ConduttorePrincipale = condut;
                    }

                    // Gruppo stabile riferimento
                    if (item.GruppoStabileRiferimento != null)
                    {
                        var gruppo = getGruppoStabileRepository().GetByDomainEntity(item.GruppoStabileRiferimento);
                        dto.GruppoStabileRiferimento = gruppo;
                        dto.IdCondominio = item.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento.ID;
                        dto.DescrizioneCondominio = item.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento.DisplayName;

                        if (item.GruppoStabileRiferimento.PalazzinaRiferimento.LottoRiferimento != null)
                        {
                            dto.IdLotto = item.GruppoStabileRiferimento.PalazzinaRiferimento.LottoRiferimento.ID;
                            dto.DescrizioneLotto = item.GruppoStabileRiferimento.PalazzinaRiferimento.LottoRiferimento.Descrizione;
                        }
                    }

                    dto.InternoCompleto = item.InternoCompleto;
                    dto.Nominativo = item.Descrizione;

                    // Proprietario Principale
                    var proprietarioPrincipale = item.GetProprietarioPrincipale(null);
                    if (proprietarioPrincipale != null)
                    {
                        var propr = getProprietarioRepository().GetByDomainEntity(proprietarioPrincipale);
                        dto.ProprietarioPrincipale = propr;
                        dto.UnitaImmobiliarePrincipale = proprietarioPrincipale.GetDescrizioneAccorpamento();
                    }

                    // Proprietari
                    var indexProp = 0;
                    dto.Proprietari = new ProprietarioDTO[item.Proprietari.Count];
                    foreach (var proprietario in item.Proprietari)
                    {
                        var propDto = getProprietarioRepository().GetByDomainEntity(proprietario);
                        dto.Proprietari[indexProp] = propDto;
                        indexProp++;
                    }

                    // Conduttori
                    var indexCondut = 0;
                    dto.Conduttori = new ConduttoreDTO[item.Conduttori.Count];
                    foreach (var conduttore in item.Conduttori)
                    {
                        var condutDto = getConduttoreRepository().GetByDomainEntity(conduttore);
                        dto.Conduttori[indexCondut] = condutDto;
                        indexCondut++;
                    }

                    // Condizioni Sicurezza Impianto
                    if (item.CondizioniSicurezzaImpianto != null)
                    {
                        dto.CondizioniSicurezzaImpianto = new SicurezzaImpiantoDTO
                        {
                            Norma = item.CondizioniSicurezzaImpianto.Norma,
                            Note = item.CondizioniSicurezzaImpianto.Note,
                            Impiantistica = new List<UnitaImmobiliareImpiantisticaDTO>()
                        };
                        foreach (var itemImpiantistica in item.CondizioniSicurezzaImpianto.Impiantistica)
                        {
                            var dtoImpiantistica = new UnitaImmobiliareImpiantisticaDTO
                            {
                                ID = itemImpiantistica.ID,
                                IdUnitaImmobiliare = itemImpiantistica.Unita.ID,
                                Descrizione = itemImpiantistica.Descrizione,
                                Tipo = itemImpiantistica.Tipo,
                                Norma = itemImpiantistica.Norma,
                                NonSegnalato = itemImpiantistica.NonSegnalato
                            };
                            dto.CondizioniSicurezzaImpianto.Impiantistica.Add(dtoImpiantistica);
                        }
                    }

                    // Dettaglio
                    dto.Dettaglio = new List<UnitaImmobiliareDettaglioDTO>();
                    foreach (var itemDettaglio in item.Dettaglio)
                    {
                        var dtoDettaglio = new UnitaImmobiliareDettaglioDTO
                        {
                            ID = itemDettaglio.ID,
                            Numero = itemDettaglio.Numero,
                            Subalterno = itemDettaglio.Subalterno,
                            IdUnitaImmobiliare = itemDettaglio.Unita.ID,
                            IdTipoUnita = itemDettaglio.TipoUnita.ID,
                            TipoUnita = itemDettaglio.TipoUnita.Descrizione
                        };
                        dto.Dettaglio.Add(dtoDettaglio);
                    }
                }

				return dto;
			}

			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel creazione di UnitaImmobiliareDTO - {0} - id:{1}", ex, Utility.GetMethodDescription(), item != null ? item.ID.ToString() : "<NULL>");
				throw;
			}
		}
Esempio n. 17
0
 public void LoadProprietari(UnitaImmobiliareDTO unitaImmobiliare)
 {
     _unitaImmobiliare = unitaImmobiliare;
     listaProprietari.SetProprietariDataSource(unitaImmobiliare);
 }
 public InserimentoUnitaImmobiliareEventArgs(UnitaImmobiliareDTO unita)
 {
     UnitaImmobiliareDTO = unita;
 }
Esempio n. 19
0
        public SoggettoCondominioDTO GetById(int id, UnitaImmobiliareDTO unitaImmobiliare)
        {
            var soggetto = (unitaImmobiliare.Proprietari.Where(item => item.ID == id)).SingleOrDefault() ?? (SoggettoCondominioDTO)(unitaImmobiliare.Conduttori.Where(item => item.ID == id)).SingleOrDefault();

            return soggetto;
        }
Esempio n. 20
0
 public DocumentoDTO GetNew(UnitaImmobiliareDTO unitaImmobiliare)
 {
     return new DocumentoDTO { IdUnitaImmobiliare = unitaImmobiliare.ID, DescrizioneUnitaImmobiliare = unitaImmobiliare.Descrizione };
 }
Esempio n. 21
0
 private void refreshDati(UnitaImmobiliareDTO unitaUpdate)
 {
     try
     {
         if (_dataSourceUnita != null && _dataSourceUnita.Count > 0 && unitaUpdate != null)
         {
             if (unitaUpdate.ID > 0)
             {
                 var unita = _dataSourceUnita.SingleOrDefault(item => item.Id == unitaUpdate.ID);
                 if (unita != null && lista != null)
                 {
                     var pos = _dataSourceUnita.IndexOf(unita);
                     _dataSourceUnita.Remove(unita);
                     _dataSourceUnita.Insert(pos, getUnitaImmobiliareService().ConvertUnita(unitaUpdate));
                     lista.DataBind();
                     var unitaPos = lista.Rows[pos];
                     if(unitaPos != null)
                         unitaPos.Selected = true;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel refresh dei dati - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
     }
 }
Esempio n. 22
0
 public void LoadConduttori(UnitaImmobiliareDTO unitaImmobiliare)
 {
     _unitaImmobiliare = unitaImmobiliare;
     listaConduttori.SetConduttoriDataSource(unitaImmobiliare);
 }
Esempio n. 23
0
        public ListaDocumentiUC(UnitaImmobiliareDTO unitaImmobiliare)
        {
            InitializeComponent();

            if (unitaImmobiliare != null)
            {
                _unitaImmobiliare = unitaImmobiliare;
                IDictionary args = new ListDictionary();
                args.Add("currentUser", Login.Instance.CurrentLogin().LoginName);

                var prop = new CustomControlProperties
                {
                    AllowUpdate = DefaultableBoolean.True,
                    AllowDelete = DefaultableBoolean.True
                };
                lista.Tag = prop;
            }
        }
Esempio n. 24
0
		public int? ManageDomainEntity(UnitaImmobiliareDTO dto)
		{
			try
			{
				var item = manageUnitaImmobiliare(dto);
				if (item != null)
					return item.ID;
			    return null;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nell'aggiornamento delle unità immobiliari - {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID);
				throw;
			}
		}
Esempio n. 25
0
 public LoadDatiAsyncArgumentsUnitaImmobiliare(UnitaImmobiliareDTO unitaImmobiliare, IDocumentoService documentoService)
 {
     UnitaImmobiliare = unitaImmobiliare;
     DocumentoService = documentoService;
 }
        public UnitaImmobiliareDTO Save(UnitaImmobiliareDTO unitaImmobiliare)
        {
            UnitaImmobiliareDTO unitaSave;
            unitaImmobiliare.IdAzienda = Login.Instance.CurrentLogin().Azienda;

            foreach (var soggetto in unitaImmobiliare.Proprietari)
                soggetto.Tipo = TipoSoggetto.Proprietario;
            foreach (var soggetto in unitaImmobiliare.Conduttori)
                soggetto.Tipo = TipoSoggetto.Conduttore;

            int? idUnita = null;
            try
            {
                idUnita = GetServiceClient().SetUnitaImmobiliari(unitaImmobiliare, GetUserInfo());
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel salvataggio delle unità immobiliari - {0} - unità:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), unitaImmobiliare.ID, Login.Instance.CurrentLogin().Azienda);
            }

            if (idUnita == null || idUnita == 0)
                unitaSave = new UnitaImmobiliareDTO {ID = 0};
            else
            {
                try
                {
                    unitaSave = GetServiceClient().GetUnitaImmobiliariById(idUnita.Value, GetUserInfo());
                    var unitaLista = convertUnita(unitaSave);
                    _cacheService.AddOrUI(unitaLista);
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nella lettura della unità dopo il salvataggio - {0} - unità:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idUnita.GetValueOrDefault(), Login.Instance.CurrentLogin().Azienda);
                    unitaSave = unitaImmobiliare;
                }
            }

            CloseService();

            return unitaSave;
        }
Esempio n. 27
0
 public ListaConduttoriUC(UnitaImmobiliareDTO unitaImmobiliare, IReloadControl parentForm)
 {
     InitializeComponent();
     _parentForm = parentForm;
     _unitaImmobiliare = unitaImmobiliare;
 }
Esempio n. 28
0
		private bool update(UnitaImmobiliareDTO dto, out UnitaImmobiliare item)
		{
			var result = false;
			item = null;
			var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

			try
			{
				item = daoFactory.GetUnitaImmobiliareDao().Find(dto.ID, false);

                if (item != null)
                {
                    // Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia
                    // Per ora non viene eseguito il controllo
                    if (dto.Version == item.Version || true)
                    {
                        if (dto.IdAzienda > 0)
                            item.AziendaID = dto.IdAzienda;
                        item.EstensioneInterno = dto.EstensioneInterno;
                        item.FoglioCatastale = dto.FoglioCatastale;
                        item.Interno = dto.Interno;
                        item.Mappale = dto.Mappale;
                        item.Note = dto.Note;
                        item.Subalterno = dto.Subalterno;
                        item.Piano = dto.Piano;
                        item.Ordine = dto.Ordine;
                        item.NumeroResidenti = dto.NumeroResidenti.GetValueOrDefault();
                        item.ValoreMillesimo = dto.ValoreMillesimo;
                        item.ValoreMillesimoStabile = dto.ValoreMillesimoStabile;
                        item.ValoreMillesimoScala = dto.ValoreMillesimoScala;
                        item.EsclusaAddebitoQuotaFissa = dto.EsclusaAddebitoQuotaFissa;
                        item.CodiceImportazione = dto.CodiceImportazione;

                        if (string.IsNullOrEmpty(dto.Descrizione))
                        {
                            item.Descrizione = daoFactory.GetUnitaImmobiliareDao().GetUnitaImmobiliareDescrizione(item);
                            item.DescrizioneUnitaImmobiliareAutomatica = true;
                        }
                        else if(item.Descrizione != dto.Descrizione)
                        {
                            item.Descrizione = dto.Descrizione;
                            item.DescrizioneUnitaImmobiliareAutomatica = false;
                        }

                        if (dto.CodiceTipo > 0)
                        {
                            var tipo = daoFactory.GetTipoUnitaImmobiliareDao().Find(dto.CodiceTipo, false);
                            if (tipo != null)
                                item.TipoUnitaImmobiliare = tipo;
                        }

                        if (dto.GruppoStabileRiferimento != null)
                        {
                            _id = dto.GruppoStabileRiferimento.ID;
                            if ((dto.GruppoStabileRiferimento.Stato == "U") || (dto.GruppoStabileRiferimento.Stato == "I"))
                                _id = getGruppoStabileRepository().ManageDomainEntity(dto.GruppoStabileRiferimento);

                            item.GruppoStabileRiferimento = daoFactory.GetGruppoStabileDao().GetById(_id.GetValueOrDefault(), false);
                        }

                        //Lista Soggetti
                        item.Soggetti.Clear();
                        foreach (var t in dto.Soggetti)
                        {
                            _id = t.ID;
                            if ((t.Stato == "U") || (t.Stato == "I") || (t.Stato == "D"))
                                _id = getSoggettoRepository().ManageDomainEntity(t);

                            if (_id != null)
                            {
                                var soggDomain = daoFactory.GetSoggettoCondominioDao().Find(_id.Value, false);
                                if (soggDomain != null)
                                {
                                    soggDomain.UnitaImmobiliare = item;
                                    item.Soggetti.Add(soggDomain);
                                }
                            }
                        }

                        // Descrizione Unità Immobiliare
                        item.Descrizione = daoFactory.GetUnitaImmobiliareDao().GetUnitaImmobiliareDescrizione(item);

                        // Condizioni Sicurezza Impianto
                        updateCondizioniSicurezzaImpianto(dto.CondizioniSicurezzaImpianto, item, daoFactory);

                        // Dettaglio
                        item.Dettaglio.Clear();
                        foreach (var unitaImmobiliareDettaglioDTO in dto.Dettaglio)
                        {
                            // Se non viene trovato il tipo per default: Abitazione bugid#3727
                            var tipo = daoFactory.GetTipoUnitaImmobiliareDao().Find(unitaImmobiliareDettaglioDTO.IdTipoUnita, false) ?? daoFactory.GetTipoUnitaImmobiliareDao().GetById(1, false);
                            UnitaImmobiliareDettaglio itemDettaglio = null;
                            if (unitaImmobiliareDettaglioDTO.ID > 0)
                                itemDettaglio = daoFactory.GetUnitaImmobiliareDettaglioDao().Find(unitaImmobiliareDettaglioDTO.ID, false);
                            if (itemDettaglio == null)
                                itemDettaglio = new UnitaImmobiliareDettaglio(item, tipo, unitaImmobiliareDettaglioDTO.Numero);

                            itemDettaglio.TipoUnita = tipo;
                            itemDettaglio.Subalterno = unitaImmobiliareDettaglioDTO.Subalterno;
                            itemDettaglio.Numero = unitaImmobiliareDettaglioDTO.Numero;
                            itemDettaglio.Unita = item;
                            item.Dettaglio.Add(itemDettaglio);
                        }

                        result = true;
                    }
                    else
                    {
                        // Eccezione: Sul db c'è qualche cosa di più nuovo.
                        
                        _log.Error("Errore nel salvataggio dell'unità immobiliare: id:" + dto.ID + " - il dato sul db è più recente di quello che si vuole salvare");
                    }
                }
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nel salvataggio dell'unita immobiliare - {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID);
				throw;
			}

			return result;
		}
 public UnitaImmobiliareListaDTO ConvertUnita(UnitaImmobiliareDTO unita)
 {
     var dto = convertUnita(unita);
     CloseService();
     return dto;
 }
Esempio n. 30
0
		private UnitaImmobiliare manageUnitaImmobiliare(UnitaImmobiliareDTO unitaImmobiliareDto)
		{
			UnitaImmobiliare unit = null;
			bool result;

			// Controllo sullo stato U, I
			switch (unitaImmobiliareDto.Stato.ToUpper())
			{
				case "U":
					result = update(unitaImmobiliareDto, out unit);

					if (!result)
					{
						//Il dato sul database è più recente di quello utilizzato
						//unit.ID = 0;
						unit = null;
					}
					break;
				case "I":
					result = insert(unitaImmobiliareDto, out unit);

					if (!result)
						throw new Exception("Impossibile scrivere sul database");
					break;
			}
			return unit;
		}