protected void Page_Load(object sender, EventArgs e) { if (HttpContext.Current.Session["condominio"] != null) { if (Request.QueryString["id"] != null) { var idDocumento = Request.QueryString["id"].Trim(); var fileName = "documenti/" + idDocumento + ".pdf"; if(!File.Exists(Request.PhysicalApplicationPath + fileName)) { var service = new SferaService(); var info = new UserInfo(0, 1); var documento = service.GetDocumentoByIdentificativo(idDocumento, info); var docInfo = service.GetDocument(documento.ID, TipoDocumentoArchiviazione.FatturaPassiva, info); var fs = File.Create(Request.PhysicalApplicationPath + fileName); var writer = new BinaryWriter(fs); writer.Write(docInfo.Body); writer.Close(); fs.Close(); fs.Dispose(); } documentFrame.Attributes.Add("src", fileName); } } }
public DatiCondomini Get([FromUri]SearchCriteria json) { if (json.Condominio > 0) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); var filter = new DocumentoFilter { IdAzienda = json.Azienda, CodiceCondominio = json.Condominio, FreeText = json.FreeText, PageNumber = json.PageNumber, PageSize = json.PageSize, Tipo = TipoDocumentoArchiviazione.Contratto, VisibileCondomino = true, CodiceFascicoloCondominio = json.IdFascicolo > 0 ? json.IdFascicolo : (int?)null }; var documenti = service.GetDocumentiPubbliciByFilter(filter, info); var fascicoli = service.GetFascicoliNameValueConDocumentiPubbliciByCondominio(json.Condominio, info); fascicoli.Insert(0, new NameValueDTO<int, string>(0, "(Tutti i fascicoli)")); return new DatiCondomini { Documenti = documenti.Documenti, Fascicoli = fascicoli, TotalItems = documenti.TotaleDocumenti }; } return new DatiCondomini(); }
public DatiCondomini Get([FromUri] SearchCriteria json) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); var rate = service.GetRateByPersonaCondominio(json.Condominio, json.Persona, info).Where(item => item.ImportoRata > 0).ToList(); var ratePerEsercizi = rate.OrderBy(item => item.DataScadenza).GroupBy(item => item.IdEsercizio); var esercizi = ratePerEsercizi.Select(kvp => new EsercizioDTO {ID = kvp.Key, Descrizione = kvp.ToList()[0].DescrizioneEsercizio}).ToList(); var soggetti = service.GetSoggettiByPersona(json.Persona, info); var saldiSoggetto = new List<SaldoSoggettoVersamentoDTO>(); foreach (var esercizioDTO in esercizi) { var importoRata = 0m; var importoVersamento = 0m; foreach (var soggettoCondominioDTO in soggetti) { var rateVersamenti = service.GetVersatoBySoggetto(esercizioDTO.ID, soggettoCondominioDTO.ID, DateTime.Today, info); importoRata += rateVersamenti.Sum(item => item.Importo.GetValueOrDefault()); importoVersamento += rateVersamenti.Sum(item => item.ImportoPagato.GetValueOrDefault()); } saldiSoggetto.Add(new SaldoSoggettoVersamentoDTO { IdEsercizio = esercizioDTO.ID, ImportoRate = importoRata, ImportoVersamenti = importoVersamento }); } return new DatiCondomini { Esercizi = esercizi, Rate = rate, SaldiSoggetto = saldiSoggetto}; }
public ActionResult Download(string id, int azienda) { if (!string.IsNullOrEmpty(id)) { var service = new SferaService(); var info = new UserInfo(0, azienda); var documentoFileName = getDocumentoFileName(id, service, info); var documento = documentoFileName.Documento; var docInfo = getDocumentInfo(documento, service, info); if (docInfo.Body != null) { var fileName = documento.FileName; if (!fileName.EndsWith(".pdf")) fileName = $"{fileName}.pdf"; var cd = new System.Net.Mime.ContentDisposition { // for example foo.bak FileName = fileName, // always prompt the user for downloading, set to true if you want // the browser to try to show the file inline Inline = true, }; Response.AddHeader("set-cookie", "fileDownload=true; path=/"); Response.AppendHeader("Content-Disposition", cd.ToString()); return File(docInfo.Body, "application/pdf"); } } return null; }
public ContattoRepository(int idPersona, UserInfo info, WindsorConfigRepository windsorRepository) { _info = info; _windsorRepository = windsorRepository; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); _persona = daoFactory.GetPersonaDao().GetById(idPersona, false); }
public IList<CondominioDTO> Get(PersonaDTO json) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); return service.GetCondominiByPersona(json.ID, info); }
public PersonaDTO Get(SearchCriteria json) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); return service.GetPersonaByID(json.Persona, info); }
public MovimentoBancarioRepository(UserInfo info, WindsorConfigRepository windsorRepository) { _windsorRepository = windsorRepository; _info = info; _daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); IList<CausaleACBI> lista = _daoFactory.GetCausaleACBIDao().GetAll(); _causaliACBI = new Dictionary<string, CausaleACBI>(lista.Count); foreach (CausaleACBI caus in lista) _causaliACBI.Add(caus.Codice, caus); }
public string SalvaPersona(PersonaDTO value) { var service = new SferaService(); var info = new UserInfo(0, value.Azienda); value.Stato = "U"; foreach (var contattoDTO in value.Contatti) contattoDTO.Stato = "U"; var idPersona = service.SetPersona(value, info); if (idPersona != null) return string.Empty; return "Si sono verificati problemi"; }
public DatiCondomini GetByCriteria(SearchCriteria json) { if (json == null) return null; var service = new SferaService(); var info = new UserInfo(0, json.Azienda); var eserciziAttivi = service.GetEserciziByCondominio(json.Condominio, info).Where(item => item.StatoEsercizio == StatoEsercizioEnum.Aperto).ToList(); _datiCondomini.Versamenti = service.GetVersamentiByEserciziAttiviPersone(json.Condominio, new List<int> {json.Persona}, info); _datiCondomini.Rate = service.GetRateByPersonaCondominio(json.Condominio, json.Persona, info); _datiCondomini.Esercizi = eserciziAttivi.Where(item => _datiCondomini.Versamenti.Any(vers => vers.IdEsercizio == item.ID) || _datiCondomini.Rate.Any(rate => rate.IdEsercizio == item.ID)).ToList(); return _datiCondomini; }
public PersonaCondomini Get(SearchCriteria json) { if (json != null) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); var persona = service.GetPersonaByID(json.Persona, info); IList<CondominioDTO> condomini = null; if (persona != null) condomini = service.GetCondominiByPersona(persona.ID, info); return new PersonaCondomini(persona, condomini); } return new PersonaCondomini(null, null); }
public PersonaCondomini Login(string username, string password) { var service = new SferaService(); var info = new UserInfo(0, 1); var persona = service.GetPersonaByUtentePassword(username, password, info); IList<CondominioDTO> condomini = null; if (persona != null) { info.Azienda = persona.Azienda; condomini = service.GetCondominiByPersona(persona.ID, info); _log.InfoFormat("Utente Loggato - {0} - persona:{1}", Library.Utility.GetMethodDescription(), persona.ID); } return new PersonaCondomini(persona, condomini); }
public CondominioDTO[] GetCondomini(UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var repo = new CondominioRepository(userinfo, windsorRep); CondominioDTO[] items = repo.GetAll(); windsorRep.Commit(); return items; } catch(Exception ex) { _log.ErrorFormat("Errore nel caricamento dei condomini - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda); windsorRep.Rollback(); throw; } }
public DatiCondomini Get([FromUri]SearchCriteria json) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); var filter = new MovimentoBancarioFilter { IdCondominio = json.Condominio, DataContabileIniziale = json.DataIniziale, DataContabileFinale = json.DataFinale }; var inizio = ((json.PageNumber - 1)*json.PageSize); var movimentiBancari = service.GetMovimentiByFilter(filter, inizio, json.PageSize, true, info); foreach (var movimentiBancariDTO in movimentiBancari) { if (movimentiBancariDTO.Segno == "D") movimentiBancariDTO.Importo = movimentiBancariDTO.Importo*-1; movimentiBancariDTO.Descrizione = movimentiBancariDTO.DescrizioneBreve + movimentiBancariDTO.Descrizione; } var totaleMovimenti = service.GetMovimentiCountByFilter(filter, info); // Saldi var saldiBancari = service.GetSaldiBancariByCondominio(json.Condominio, info); var condominio = service.GetCondominioById(json.Condominio, true, false, info); var saldi = new List<SaldoContoCorrente>(); foreach (var saldoBancarioDTO in saldiBancari) { var idContoCorrente = saldoBancarioDTO.IdContoCorrente; var datiBancari = condominio.DatiBancari.FirstOrDefault(item => item.ID == idContoCorrente); if (datiBancari != null) { var descrizione = datiBancari.DisplayName; var iban = datiBancari.Iban; var importo = saldoBancarioDTO.SaldoContabileBanca; saldi.Add(new SaldoContoCorrente(descrizione, iban, importo.GetValueOrDefault())); } } return new DatiCondomini { MovimentiBancari = movimentiBancari, TotalItems = totaleMovimenti, Saldi = saldi}; }
public LogTransazione BeginTransaction(UserInfo info, System.Data.IsolationLevel isolationLevel, bool isTransazioneLog = false, bool? flushOnCommit = null) { try { var daoFactory = GetDaoFactory(info.Azienda); var utenti = daoFactory.GetUtenteDao().GetByAzienda(info.Azienda); _container = GetContainer(info.Azienda); _persistenceContext = _container.Resolve<IPersistenceContext>(); var singleOrDefault = utenti.SingleOrDefault(item => item.ID == info.Utente); if (singleOrDefault != null) _utente = singleOrDefault.Referente != null ? singleOrDefault.Referente.PersonaRiferimento.Nome : singleOrDefault.Nome; _persistenceContext.BeginTransaction(_utente, isolationLevel, flushOnCommit); var parameters = new Dictionary<string, object>(1) {{"deleted", "Y"}}; _persistenceContext.EnableFilter("excludeDeletedCondominio", parameters); _persistenceContext.EnableFilter("excludeDeletedUnitaImmobiliari", parameters); _persistenceContext.EnableFilter("excludeDeletedSottoconto", parameters); var parametersRate = new Dictionary<string, object>(1) {{"stato", StatoRataEnum.Richiamata.ToString()}}; _persistenceContext.EnableFilter("excludeRateRichiamate", parametersRate); LogTransazione logTransazione = null; if (isTransazioneLog) { _logTransazioneService = _container.Resolve<ILogTransazioneService>(); logTransazione = _logTransazioneService.AddLog(info.Utente, AzioneUtente.TransazioneContabile); } return logTransazione; } catch (Exception ex) { var log = LogManager.GetLogger("Sfera"); log.FatalFormat("Errore durante la inizializzazione della transazione - {0} - idAzienda:{1} - utente:{2}", ex, Library.Utility.GetMethodDescription(), info.Azienda, info.Utente); throw; } }
public DatiCondominiDto GetDati(int azienda) { var rateTemp = new List<RataPersonaDTO>() { new RataPersonaDTO() {DataScadenza = new DateTime(2014, 2, 15), ImportoRata = 456.67m} }; return new DatiCondominiDto { Rate = rateTemp }; var service = new SferaService(); HttpContext.Current.Session["utente"] = service.GetPersonaByID(5375, new UserInfo(0, azienda)); HttpContext.Current.Session["condomino"] = service.GetSoggettoCondominioById(206, new UserInfo(0, azienda)); if (HttpContext.Current.Session["utente"] != null) { var info = new UserInfo(0, azienda); var condomino = (SoggettoCondominioDTO)HttpContext.Current.Session["condomino"]; var rate = service.GetRateByPersonaCondominio(condomino.IdCondominio, ((PersonaDTO)HttpContext.Current.Session["utente"]).ID, info); return new DatiCondominiDto { Rate = rate.ToList()}; } return new DatiCondominiDto(); }
public DatiCondomini Get([FromUri]SearchCriteria json) { if (json.Azienda > 0) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); if (json.Condominio > 0) { var versamenti = service.GetVersamentiByEserciziAttiviPersone(json.Condominio, new List<int> {json.Persona}, info); var versamentiPerEsercizi = versamenti.OrderBy(item => item.DataPagamento).GroupBy(item => item.IdEsercizio); var esercizi = versamentiPerEsercizi.Select(kvp => new EsercizioDTO {ID = kvp.Key, Descrizione = kvp.ToList()[0].DescrizioneEsercizio}).ToList(); return new DatiCondomini {Esercizi = esercizi, Versamenti = versamenti}; } } else { _log.ErrorFormat("Azienda NULL - {0} - persona:{1} - condominio:{2}", Library.Utility.GetMethodDescription(), json.Persona, json.Condominio); } return new DatiCondomini(); }
private DocumentoFileName getDocumentoFileName(string idStr, ISferaService service, UserInfo info) { string fileName; DocumentoDTO documento; int id; if (int.TryParse(idStr, out id)) { documento = service.GetDocumentoById(id, info); if (!string.IsNullOrEmpty(documento.IdentificativoArchiviazioneOttica)) fileName = "documenti/" + documento.IdentificativoArchiviazioneOttica.Trim() + ".pdf"; else fileName = "documenti/" + documento.FileName; fileName = addDocumentoExtension(documento, fileName); } else { fileName = $"documenti/{idStr}.pdf"; documento = new DocumentoDTO { FileName = idStr, Descrizione = idStr }; } return new DocumentoFileName(documento, fileName); }
protected void Page_Load(object sender, EventArgs e) { if (HttpContext.Current.Session["condominio"] != null) { if (Request.QueryString["action"] != null && Request.QueryString["path"] != null) { var action = Request.QueryString["action"].Trim(); //var azienda = int.Parse(Request.QueryString["azienda"].Trim()); var service = new SferaService(); var info = new UserInfo(0, int.Parse(Session["azienda"].ToString())); var documentoFileName = getDocumentoFileName(service, info); var documento = documentoFileName.Documento; var docInfo = getDocumentInfo(documento, service, info); if (docInfo.Body != null) { switch (action) { case "info": getInfo(docInfo.Body, addDocumentoExtension(documento, documento.FileName.Trim())); break; case "download": getFile(docInfo.Body, addDocumentoExtension(documento, documento.Descrizione.Trim())); break; } } else Response.Write("NOTFOUND"); Response.Flush(); Response.End(); } } }
public CondominioDTO[] GetCondominiByAzienda(UserInfo userinfo) { var retryCount = 10; var success = false; var windsorRep = new WindsorConfigRepository(); CondominioDTO[] item = null; while (retryCount >= 0 && !success) { try { windsorRep.BeginTransaction(userinfo); var repo = new CondominioRepository(userinfo, windsorRep); item = repo.GetAllByAzienda(userinfo.Azienda); windsorRep.Commit(); success = true; } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento dei condomini per azienda - TENTATIVO:{0} - {1} - azienda:{2} - number:{3}", ex, (11 - retryCount), Utility.GetMethodDescription(), userinfo.Azienda, getExceptionId(ex)); windsorRep.Rollback(); if (!isRetryException(ex)) throw; // Add delay here if you wish. System.Threading.Thread.Sleep(1000 * (11 - retryCount)); retryCount--; _log.InfoFormat("Caricamento dei condomini per azienda - INIZIO TENTATIVO:{0} - {1} - azienda:{2}", (11 - retryCount), Utility.GetMethodDescription(), userinfo.Azienda); } } if (!success) windsorRep.Rollback(); return item; }
public ModelloRepository(UserInfo info, WindsorConfigRepository windsorRepository) { _info = info; _windsorRepository = windsorRepository; }
public SpesaRepository(UserInfo info, WindsorConfigRepository windsorRepository) { _windsorRepository = windsorRepository; _info = info; }
public PraticaRepository(UserInfo info, WindsorConfigRepository windsorRepository) { _info = info; _windsorRepository = windsorRepository; }
public ScadenzaFatturaRepository(UserInfo info, WindsorConfigRepository windsorRepository) { _info = info; _windsorRepository = windsorRepository; }
public PersonaRepository(UserInfo info, WindsorConfigRepository windsorRepository) { _windsorRepository = windsorRepository; _info = info; _locRep = new LocalitaRepository(info, _windsorRepository); }
public static PersonaCondomini AuthenticateUser(string user, string password, int azienda) { var log = LogManager.GetLogger("Sfera"); try { var service = new SferaService(); var info = new UserInfo(0, azienda); var result = new PersonaCondomini(); decimal codiceFiscale; var isCodiceFiscale = decimal.TryParse(password, out codiceFiscale); if (!isCodiceFiscale) { result.TipoAutenticazione = "SOGGETTO"; var persona = service.VerificaUtentePersona(user, password, info); if (persona != null) { HttpContext.Current.Session.Add("utente", persona); var soggetti = service.GetSoggettiByPersona(persona.ID, info); if (soggetti.Count == 1) { var soggetto = soggetti.SingleOrDefault(); if (soggetto != null) { result.NumeroCondomini = 1; result.Persona = persona; result.Condomini = new Dictionary<string, string> { { soggetto.IdCondominio.ToString(), soggetto.DescrizioneUnitaImmobiliare } }; // Contatti result.Contatti = getContatti(persona); HttpContext.Current.Session.Add("azienda", azienda); HttpContext.Current.Session.Add("condomino", soggetto); HttpContext.Current.Session.Add("condominio", soggetto.IdCondominio); log.Info("Utente autenticato - " + Utility.GetMethodDescription() + " - username:"******"azienda", azienda); HttpContext.Current.Session.Add("condomino", soggetto); HttpContext.Current.Session.Add("condominio", soggetto.IdCondominio); } } } } else { result.TipoAutenticazione = "CONDOMINIO"; var condominio = service.AutenticazioneCondominio(user, password, info); if (condominio != null) { HttpContext.Current.Session.Add("azienda", condominio.AziendaID); HttpContext.Current.Session.Add("condominio", condominio.ID); result.Condominio = condominio; } else return new PersonaCondomini { TipoAutenticazione = "FALLITA", ExceptionMessage = "Utente o password non riconosciuti"}; } return result; } catch (Exception ex) { log.ErrorException(string.Format("Autenticazione fallita - user:{0} - password:{1} - azienda:{2}", user, password, azienda), ex); return new PersonaCondomini{TipoAutenticazione = "FALLITA", ExceptionMessage = ex.Message + Environment.NewLine + ex.StackTrace}; } }
static ContattiPersona updateContatti(PersonaDTO persona, ContattiPersona contatti) { var service = new SferaService(); var info = new UserInfo(0, int.Parse(HttpContext.Current.Session["azienda"].ToString())); updateContatto("TELEFONO", persona, contatti.Telefono, service, info); updateContatto("CELLULARE", persona, contatti.Cellulare, service, info); updateContatto("EMAIL", persona, contatti.Email, service, info); updateContatto("EMAILCERT",persona, contatti.EmailCertificata, service, info); return getContatti(persona); }
static void updateContatto(string tipo, PersonaDTO persona, string valore, SferaService service, UserInfo info) { var dto = persona.Contatti.FirstOrDefault(item => item.TipoContatto.ToUpper() == tipo); if (dto != null) dto.Valore = valore; else dto = new ContattoDTO { TipoContatto = tipo, Valore = valore, CodiceRiferimento = persona.ID}; dto.Stato = "U"; service.SetContatto(dto, info); }
public static PersonaCondomini AggiornaAnagrafica(ContattiPersona contatti) { var result = new PersonaCondomini(); if (HttpContext.Current.Session["utente"] != null) { var persona = HttpContext.Current.Session["utente"] as PersonaDTO; if (persona != null) { result.TipoAutenticazione = "SOGGETTO"; result.Contatti = updateContatti(persona, contatti); var service = new SferaService(); var info = new UserInfo(0, int.Parse(HttpContext.Current.Session["azienda"].ToString())); result.Persona = service.GetPersonaByID(persona.ID, info); HttpContext.Current.Session.Add("utente", result.Persona); } } else result.TipoAutenticazione = "FALLITA"; return result; }
public static IList<DocumentoDTO> GetDocumenti(int idFascicolo, int azienda) { if (HttpContext.Current.Session["condominio"] != null && idFascicolo > 0) { var service = new SferaService(); var info = new UserInfo(0, azienda); // Commentata l'esecuzione del thread perchè provoca per alcuni documenti la creazione di file a 0 byte //var td = new Thread(loadDocumenti); //td.Start(idFascicolo + "&" + HttpContext.Current.Request.PhysicalApplicationPath); return service.GetDocumentiPubbliciByFascicolo(idFascicolo, info); } return new List<DocumentoDTO>(); }