Example #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;
        }
Example #2
0
        public string AperturaAutomaticaPratiche(IList<PraticaDTO> pratiche, IList<int> condomini, Urgenza urgenza, int idAzienda, LogTransazione logTransazione)
        {
            var result = string.Empty;
            try
            {
                foreach (var idCondominio in condomini)
                {
                    foreach (var praticaDTO in pratiche)
                    {
                        Pratica pratica;
                        AperturaPratica(0, DateTime.Now, praticaDTO.IdTipoPraticaRiferimento, idCondominio, null, praticaDTO.Oggetto, urgenza, null, idAzienda, logTransazione, out pratica);
                    }
                }

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'apertura automatica delle pratiche - {0} - condomini:{1} - pratiche:{2}", ex, Utility.GetMethodDescription(), condomini.Aggregate(string.Empty, (current, id) => current + $"{id},"), pratiche.Aggregate(string.Empty, (current, nome) => current + $"{nome.Oggetto},"));
                throw;
            }
            
            return result;
        }
Example #3
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;
			}
		}
Example #4
0
        public string AperturaAutomaticaPratiche(List<PraticaDTO> pratiche, List<int> condomini, Urgenza urgenza)
        {
            try
            {
                var message = GetServiceClient().AperturaAutomaticaPratiche(pratiche, condomini, urgenza, GetUserInfo());
                CloseService();
                return message;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'apertura automatica delle pratiche - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
                throw;
            }

        }
Example #5
0
        public string AperturaAutomaticaPratiche(IList<PraticaDTO> pratiche, IList<int> condomini, Urgenza urgenza, UserInfo userinfo)
        {
            var windsorRep = new WindsorConfigRepository();
            try
            {
                var logTransazione = windsorRep.BeginTransaction(userinfo, true, true);
                var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IPraticaService>();
                var message = service.AperturaAutomaticaPratiche(pratiche, condomini, urgenza, userinfo.Azienda, logTransazione);

                windsorRep.Commit(logTransazione);
                return message;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'apertura automatica delle pratiche - {0} - condomini:{1} - pratiche:{2}", ex, Utility.GetMethodDescription(), condomini.Aggregate(string.Empty, (current, id) => current + $"{id},"), pratiche.Aggregate(string.Empty, (current, nome) => current + $"{nome.Oggetto},"));
                windsorRep.Rollback();
                throw;
            }
        }