public PersonaDTO Get(SearchCriteria json) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); return service.GetPersonaByID(json.Persona, info); }
public IList<CondominioDTO> Get(PersonaDTO json) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); return service.GetCondominiByPersona(json.ID, info); }
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 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; }
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) { 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 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 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 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 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 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(); }
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 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; }
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 Dictionary<string, Dictionary<string, string>> GetFascicoliCondominio(int azienda) { var lista = new Dictionary<string, Dictionary<string, string>>(); if(HttpContext.Current.Session["condominio"] != null) { var service = new SferaService(); var info = new UserInfo(0, azienda); var tipoDocumenti = service.GetFascicoliNameValueConDocumentiPubbliciByCondominio((int) HttpContext.Current.Session["condominio"], info); var listaTipo = new Dictionary<string, string>(tipoDocumenti.Count()) {{"0", "--- scegliere un tipo di documento ---"}}; foreach (var nameValueDTO in tipoDocumenti) listaTipo.Add(nameValueDTO.Value.ToString(), nameValueDTO.Name); lista.Add("Tipo di documento", listaTipo); } else lista.Add(string.Empty, new Dictionary<string, string>()); return lista; }
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>(); }
public static object GetMovimentiBancari(int? numRows, int? page, string sortField, string sortOrder, bool isSearch, string searchField, string searchString, string searchOper, string dataIniziale, string dataFinale, int idAzienda) { if (HttpContext.Current.Session["condomino"] != null) { var service = new SferaService(); var info = new UserInfo(0, idAzienda); var condomino = (SoggettoCondominioDTO) HttpContext.Current.Session["condomino"]; var filter = new MovimentoBancarioFilter { IdCondominio = condomino.IdCondominio, DataContabileIniziale = GetDataIniziale(), DataContabileFinale = GetDataFinale() }; if (isSearch) { switch (searchField) { case "Descrizione": filter.Descrizione = searchString; break; case "DescrizioneCausale": filter.DescrizioneCausale = searchString; break; } } if (!string.IsNullOrEmpty(dataIniziale)) filter.DataContabileIniziale = DateTime.Parse(dataIniziale); if (!string.IsNullOrEmpty(dataFinale)) filter.DataContabileFinale = DateTime.Parse(dataFinale); var inizio = (page*numRows) - numRows; var movimentiBancari = service.GetMovimentiByFilter(filter, inizio, numRows, true, info).OrderBy(item => item.DataContabile).ThenBy(item => item.ID).ToList(); switch (sortField) { case "DataContabile": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.DataContabile).ToList() : movimentiBancari.OrderByDescending(item => item.DataContabile).ToList(); break; case "Importo": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.Importo).ToList() : movimentiBancari.OrderByDescending(item => item.Importo).ToList(); break; case "DescrizioneCausale": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.Causale).ToList() : movimentiBancari.OrderByDescending(item => item.Causale).ToList(); break; case "Descrizione": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.DescrizioneBreve).ToList() : movimentiBancari.OrderByDescending(item => item.DescrizioneBreve). ToList(); break; } //--- format json var pageIndex = page ?? 1; //--- current page var pageSize = numRows ?? 10; //--- number of rows to show per page var totalRecords = service.GetMovimentiCountByFilter(filter, info); //--- number of total items from query var totalPages = (int) Math.Ceiling(totalRecords/(decimal) pageSize); //--- number of pages var jsonData = new { totalpages = totalPages, //--- number of pages page = pageIndex, //--- current page totalrecords = totalRecords, //--- total items rows = ( from row in movimentiBancari select new {i = row.ID, cell = new[] { row.IdentificativoDocumentoSpesa, row.DescrizioneCausale, row.DescrizioneBreve + " " + row.Descrizione, row.DataContabile.GetValueOrDefault().ToShortDateString(), row.Importo.GetValueOrDefault().ToString("c") } }).ToArray() }; return Newtonsoft.Json.JsonConvert.SerializeObject(jsonData); } return null; }
public static IList<SaldoContoCorrente> GetSaldi(int azienda) { var log = LogManager.GetLogger("Sfera"); try { if (HttpContext.Current.Session["condomino"] != null) { IList<SaldoContoCorrente> saldi = new List<SaldoContoCorrente>(); var service = new SferaService(); var info = new UserInfo(0, azienda); var idCondominio = (int)HttpContext.Current.Session["condominio"]; var condominio = service.GetCondominioById(idCondominio, true, false, info); if (condominio != null) { var saldiBancari = service.GetSaldiBancariByCondominio(idCondominio, info); 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().ToString("c"))); } } } return saldi; } } catch (Exception ex) { log.Error($"Load SALDI fallito - azienda:{azienda}", ex); throw ex; } return null; }
public static IEnumerable<IGrouping<int, VersamentoSoggettoDTO>> GetVersamenti(int azienda) { var service = new SferaService(); var info = new UserInfo(0, azienda); var condomino = (SoggettoCondominioDTO)HttpContext.Current.Session["condomino"]; if (condomino != null) { var versamenti = service.GetVersamentiByPersonaCondominio(condomino.IdCondominio, ((PersonaDTO)HttpContext.Current.Session["utente"]).ID, info); return versamenti.GroupBy(item => item.IdEsercizio); } return new BindingList<IGrouping<int, VersamentoSoggettoDTO>>(); }
public static IEnumerable<IGrouping<int, RataPersonaDTO>> GetRate(int azienda) { var log = LogManager.GetLogger("Sfera"); try { if (HttpContext.Current.Session["utente"] != null) { var service = new SferaService(); 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 rate.Where(item => item.ImportoRata > 0).GroupBy(item => item.IdEsercizio); } return new List<IGrouping<int, RataPersonaDTO>>(); } catch (Exception ex) { log.ErrorException(string.Format("Load Rate fallito - azienda:{0}", azienda), ex); throw ex; } }
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); }
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}; } }
public static PersonaCondomini SetSoggettoCondominio(int idCondominio, int azienda) { var result = new PersonaCondomini(); var persona = HttpContext.Current.Session["utente"] as PersonaDTO; if(persona != null) { var service = new SferaService(); var info = new UserInfo(0, azienda); var soggetti = service.GetSoggettiByCondominioPersona(idCondominio, persona.ID, info); var soggetto = soggetti[0]; HttpContext.Current.Session.Add("condomino", soggetto); HttpContext.Current.Session.Add("condominio", idCondominio); HttpContext.Current.Session.Add("azienda", azienda); result.Persona = persona; result.TipoAutenticazione = "SOGGETTO"; } return result; }