public ProprietarioDTO List(int id)
        {
            Proprietario    proprietario    = _service.GetById(id);
            ProprietarioDTO proprietarioDTO = _mapper.Map <proprietarioDTO>(proprietario);

            return(proprietarioDTO);
        }
        public ActionResult Remove(ProprietarioDTO proprietarioDTO)
        {
            Proprietario proprietario = _mapper.Map <Proprietario>(proprietarioDTO);

            _service.Remove(proprietario);

            return(Ok(proprietario));
        }
示例#3
0
 public int? ManageDomainEntity(ProprietarioDTO proprietarioDto)
 {
     try
     {
         return manageProprietario(proprietarioDto).ID;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel caricamento dei proprietari - {0} - id:{1}", ex, Utility.GetMethodDescription(), proprietarioDto.ID);
         throw;
     }
 }
示例#4
0
        private Proprietario manageProprietario(ProprietarioDTO proprietarioDto)
        {
            Proprietario propr = null;
            bool result;

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

                    if (!result)
                        throw new Exception("Il dato sul database è più recente di quello utilizzato");
                    break;
                case "I":
                    result = insert(proprietarioDto, out propr);

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

            return propr;
        }
示例#5
0
        private bool update(ProprietarioDTO dto, out Proprietario item)
        {
            var result = false;
            item = null;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
            var soggettoService = _windsorRepository.GetContainer(_info.Azienda).Resolve<ISoggettoService>();

            try
            {
                item = daoFactory.GetProprietarioDao().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.Consigliere = dto.Consigliere;
                    item.DataFine = dto.DataFine;
                    item.DataInizio = dto.DataInizio;
                    item.PercentualeRiferimento = dto.PercentualeRiferimento;
                    item.Principale = dto.Principale;
                    item.VersamentoMav = dto.VersamentoMav;
                    item.IsResidente = dto.IsResidente;
                    item.DirittoPersonaleGodimento = dto.DirittoPersonaleGodimento;
                    item.Descrizione = dto.Descrizione;
                    item.DescrizioneAggiuntiva = dto.DescrizioneAggiuntiva;

                    if (!string.IsNullOrEmpty(dto.ModalitaConvocazione))
                        item.ModalitaConvocazione = (TipoModalitaConvocazione)Enum.Parse(typeof(TipoModalitaConvocazione), dto.ModalitaConvocazione);
                    else
                        item.ModalitaConvocazione = null;

                    if (!string.IsNullOrEmpty(dto.DirittoReale))
                        item.DirittoReale = (DirittoReale)Enum.Parse(typeof(DirittoReale), dto.DirittoReale);
                    else
                        item.DirittoReale = null;

                    item.UnitaImmobiliare = daoFactory.GetUnitaImmobiliareDao().GetById(dto.IdUnitaImmobiliare, false);

                    if (dto.IdSoggettoPrincipale > 0)
                        item.SoggettoPrincipale = daoFactory.GetSoggettoCondominioDao().GetById(dto.IdSoggettoPrincipale.GetValueOrDefault(), false);

                    item.FrazionePossesso = null;
                    if (dto.NumeratorePossesso != null && dto.DenominatorePossesso != null)
                    {
                        item.FrazionePossesso = new Fraction
                        {
                            Numerator = dto.NumeratorePossesso,
                            Denominator = dto.DenominatorePossesso
                        };
                    }

                    soggettoService.IsResidente(item);

                    daoFactory.GetProprietarioDao().Update(item);

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

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

            return result;
        }
示例#6
0
        private ProprietarioDTO setDto(SoggettoCondominio item)
        {
            try
            {
                var dto = new ProprietarioDTO
                {
                    Consigliere = item.Consigliere,
                    DataFine = item.DataFine,
                    DataInizio = item.DataInizio,
                    ID = item.ID,
                    PercentualeRiferimento = item.PercentualeRiferimento,
                    IdPersona = item.Persona.ID,
                    DisplayNominativo = item.DisplayName,
                    Tipo = TipoSoggetto.Proprietario,
                    IdUnitaImmobiliare = item.UnitaImmobiliare.ID,
                    DescrizioneUnitaImmobiliare = item.UnitaImmobiliare.Descrizione,
                    Principale = item.Principale,
                    IsResidente = item.IsResidente,
                    DirittoPersonaleGodimento = item.DirittoPersonaleGodimento,
                    VersamentoMav = item.VersamentoMav,
                    Descrizione = item.Descrizione,
                    DescrizioneAggiuntiva = item.DescrizioneAggiuntiva
                };

                if (item.FrazionePossesso != null)
                {
                    dto.NumeratorePossesso = item.FrazionePossesso.Numerator;
                    dto.DenominatorePossesso = item.FrazionePossesso.Denominator;
                    dto.Possesso = item.FrazionePossesso.ToString();
                }

                if (item.ModalitaConvocazione != null)
                    dto.ModalitaConvocazione = item.ModalitaConvocazione.ToString();

                if (item.DirittoReale != null)
                    dto.DirittoReale = item.DirittoReale.ToString();

                if (item.UnitaImmobiliare.GruppoStabileRiferimento != null)
                    dto.IdCondominio = item.UnitaImmobiliare.GruppoStabileRiferimento.PalazzinaRiferimento.CondominioRiferimento.ID;

                if (item.UnitaImmobiliare.Ordine != null)
                    dto.OrdineUnitaImmobiliare = item.UnitaImmobiliare.Ordine.Value;

                // Soggetto Principale
                if (item.SoggettoPrincipale != null)
                {
                    dto.IdSoggettoPrincipale = item.SoggettoPrincipale.ID;
                    dto.DescrizioneSoggettoPrincipale = item.GetDescrizioneAccorpamento();
                }

                if (item.SubentriEntrata.Count > 0)
                    dto.IdSubentroEntrata = IesiGenericCollections<SubentroUnitaImmobiliare>.GetByIndex(item.SubentriEntrata, 0).Subentro.ID;

                return dto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'inserimento del proprietario - {0} - id:{1}", ex, Utility.GetMethodDescription(), item.ID);
                throw;
            }
        }
示例#7
0
        private void btnNuovoClick(object sender, EventArgs e)
        {
            try
            {
                var nuovoSoggetto = new DettaglioSoggettoUI(false, true, getDefaultAddress());

                if (nuovoSoggetto.ShowDialog() == DialogResult.OK)
                {
                    loadPersone();

                    if (_tipoSoggetto == TipoSoggetto.Proprietario)
                    {
                        var prop = new ProprietarioDTO
                        {
                            IdPersona = nuovoSoggetto.Soggetto.ID,
                            IdUnitaImmobiliare = _unitaImmobiliare.ID,
                            Tipo = _tipoSoggetto,
                            DisplayNominativo = nuovoSoggetto.Soggetto.DisplayName,
                            IdCondominio = _unitaImmobiliare.IdCondominio,
                            OrdineUnitaImmobiliare = _unitaImmobiliare.Ordine.GetValueOrDefault(),
                            ModalitaConvocazione = getSoggettoService().GetTipoModalitaConvocazione().ToString()
                        };
                        if (_unitaImmobiliare.Proprietari.Count == 0)
                        {
                            prop.Principale = true;
                            prop.PercentualeRiferimento = 100;
                        }
                        _unitaImmobiliare.Proprietari.Add(prop);

                        LoadProprietari(_unitaImmobiliare, _parentForm);
                    }
                    else if (_tipoSoggetto == TipoSoggetto.Conduttore)
                    {
                        var cond = new ConduttoreDTO
                        {
                            IdPersona = nuovoSoggetto.Soggetto.ID,
                            IdUnitaImmobiliare = _unitaImmobiliare.ID,
                            Tipo = _tipoSoggetto,
                            DisplayNominativo = nuovoSoggetto.Soggetto.DisplayName,
                            IdCondominio = _unitaImmobiliare.IdCondominio,
                            ModalitaConvocazione = getSoggettoService().GetTipoModalitaConvocazione().ToString()
                        };
                        if (_unitaImmobiliare.Conduttori.Count == 0)
                        {
                            cond.Principale = true;
                            cond.PercentualeRiferimento = 100;
                        }
                        _unitaImmobiliare.Conduttori.Add(cond);

                        LoadConduttori(_unitaImmobiliare, _parentForm);
                    }
                    _unitaImmobiliare.Stato = "U";

                    lista.DisplayLayout.Bands[0].RowEditTemplate = ultraGridRowEditTemplate1;
                }

                nuovoSoggetto.Dispose();

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'inserimento di un nuovo soggetto - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
                throw;
            }

        }
示例#8
0
 public ProprietarioDTO GetNewProprietario()
 {
     var proprietario = new ProprietarioDTO { Tipo = TipoSoggetto.Proprietario, ModalitaConvocazione = GetTipoModalitaConvocazione().ToString() };
     return proprietario;
 }
示例#9
0
		public int? SetProprietario(ProprietarioDTO propr, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new ProprietarioRepository(userinfo, windsorRep);
                var item = repo.ManageDomainEntity(propr);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore durante il salvataggio dei proprietari - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), propr.ID, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}