Beispiel #1
0
        //Non considero nessun vincolo sull'apertura delle pratiche
        public string AperturaPratica(int idPratica, DateTime dataApertura, int tipoPratica, int condominioRiferimento, int? personaRiferimento, string oggetto, Urgenza urgenza, ConformitaPratiche? conformita, int aziendaId, LogTransazione logTransazione, out Pratica pratOutput)
        {
            pratOutput = null;
            var message = string.Empty;

            try
            {
                _condominio = _daoFactory.GetCondominioDao().GetById(condominioRiferimento, false);
                var pratDao = _daoFactory.GetPraticaDao();
                var persDao = _daoFactory.GetPersonaDao();
                var tipoPratDao = _daoFactory.GetTipoPraticaDao();

                Persona persona = null;
                if(personaRiferimento != null)
                    persona = persDao.GetById(personaRiferimento.GetValueOrDefault(), false);

                var tipoPraticaRif = tipoPratDao.GetById(tipoPratica, false);
                var pratica = new Pratica(_condominio, persona, tipoPraticaRif, dataApertura, aziendaId, logTransazione) { StatoPratica = "Aperta", Oggetto = oggetto.Truncate(250), Conformita = conformita, Urgenza = urgenza };

                if(logTransazione == null)
                    pratOutput = pratDao.SaveOrUpdate(pratica);

                // Richiedente
                if (persona != null)
                {
                    var richiedente = new PraticaRichiedente(pratica, persona, pratica.DataApertura) { Note = "Apertura" };
                    _daoFactory.GetPraticaRichiedenteDao().SaveOrUpdate(richiedente);
                    pratica.Richiedenti.Add(richiedente);
                }

            }
            catch (Exception ex)
            {                
                _log.ErrorFormat("Non è stato possibile aprire la pratica. Errore durante il salvataggio delle informazioni - {0} - tipoPratica:{1}", ex, Utility.GetMethodDescription(), tipoPratica);
                message = "Non è stato possibile aprire la pratica. Errore durante il salvataggio delle informazioni";
            }
            
            return message;
        }
Beispiel #2
0
        private bool insert(PraticaDTO dto, out Pratica item)
        {
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {                
                var cond = daoFactory.GetCondominioDao().GetById(dto.IdCondominioRiferimento, false);
                var persRif = daoFactory.GetPersonaDao().GetById(dto.IdPersonaRiferimento, false);
                var tipoPratRif = daoFactory.GetTipoPraticaDao().GetById(dto.IdTipoPraticaRiferimento, false);

                item = new Pratica(cond, persRif, tipoPratRif, dto.DataApertura, dto.AziendaID, null)
                {
                    DataChiusura = dto.DataChiusura,
                    Oggetto = dto.Oggetto,
                    Conformita = dto.Conformita,
                    StatoPratica = dto.StatoPratica,
                    Urgenza = (Urgenza)dto.Urgenza
                };

                var rich = new PraticaRichiedente(item, persRif, dto.DataApertura.GetValueOrDefault()) {Note = "Apertura"};
                daoFactory.GetPraticaRichiedenteDao().SaveOrUpdate(rich);
                item.Richiedenti.Add(rich);
                
                daoFactory.GetPraticaDao().SaveOrUpdate(item);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'inserimento delle pratiche - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), dto.ID, _info.Azienda);
                throw;
            }
            return true;
        }
Beispiel #3
0
        public string AddRichiedentePratica(IList<PraticaRichiedenteDTO> richiedenti)
        {
            var message = new StringBuilder();
            try
            {
                foreach (var richiedenteDto in richiedenti)
                {
                    try
                    {
                        var pratica = _daoFactory.GetPraticaDao().GetById(richiedenteDto.IdPratica, false);
                        var richiedente = _daoFactory.GetPersonaDao().Find(richiedenteDto.IdPersona, false);

                        if (richiedente != null)
                        {
                            var persone = from rich in pratica.Richiedenti
                                          select rich.Richiedente;

                            PraticaRichiedente praticaRichiedente;
                            if (richiedenteDto.ID > 0)
                            {
                                praticaRichiedente = _daoFactory.GetPraticaRichiedenteDao().GetById(richiedenteDto.ID, false);
                                praticaRichiedente.DataRichiesta = richiedenteDto.DataRichiesta;
                                praticaRichiedente.Note = richiedenteDto.Note;
                            }
                            else if (!persone.Contains(richiedente))
                            {
                                praticaRichiedente = new PraticaRichiedente(pratica, richiedente, richiedenteDto.DataRichiesta);
                                _daoFactory.GetPraticaRichiedenteDao().SaveOrUpdate(praticaRichiedente);
                                praticaRichiedente.Note = richiedenteDto.Note;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        _log.ErrorFormat("Non è stato possibile aggiungere il richiedente. Errore durante il salvataggio delle informazioni - Singolo Richiedente - {0} - idPratica:{1} - persona:{2} - nominativo:{3}", ex, Utility.GetMethodDescription(), richiedenteDto.IdPratica, richiedenteDto.IdPersona, richiedenteDto.Nominativo, ex);
                        message.AppendLine($"Errore inaspettato nell'inserimento del richiedente {richiedenteDto.Nominativo}");
                    }
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Non è stato possibile aggiungere i richiedenti. Errore durante il salvataggio delle informazioni - {0}", ex, Utility.GetMethodDescription());
            }

            return message.ToString();
        }