예제 #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;
        }
예제 #2
0
        public string AperturaPratica(int idPratica, DateTime dataApertura, int tipoPratica, int condominioRiferimento, int personaRiferimento, string oggetto, Urgenza urgenza, ConformitaPratiche? conformita, UserInfo userinfo, out PraticaDTO pratOut)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new PraticaRepository(userinfo, windsorRep);
				var pratiche = windsorRep.GetContainer(userinfo.Azienda).Resolve<IPraticaService>();
				pratOut = null;
				Pratica pratica;
				var message = pratiche.AperturaPratica(idPratica, dataApertura, tipoPratica, condominioRiferimento, personaRiferimento, oggetto, urgenza, conformita, userinfo.Azienda, null, out pratica);
				if (pratica != null)
					pratOut = repo.GetByDomainEntity(pratica);
				
				windsorRep.Commit();
				return message;
			}
			catch (Exception ex)
			{
				_log.Error("Errore nella apertura della pratica - " + Utility.GetMethodDescription() + " - idPratica:" + idPratica + " - dataChiusura:" + dataApertura + " - condominio:" + condominioRiferimento, ex);
				windsorRep.Rollback();
				throw;
			}
		}