public static PersonaCondomini IsAuthenticate() { var result = new PersonaCondomini(); if (HttpContext.Current.Session["utente"] != null) { var persona = HttpContext.Current.Session["utente"] as PersonaDTO; result.TipoAutenticazione = "SOGGETTO"; result.Persona = persona; // Contatti if (persona != null) { result.Contatti = new ContattiPersona( getContatto("TELEFONO", persona.Contatti), getContatto("CELLULARE", persona.Contatti), getContatto("EMAIL", persona.Contatti), getContatto("EMAILCERT", persona.Contatti) ); } } else if (HttpContext.Current.Session["condominio"] != null) result.TipoAutenticazione = "CONDOMINIO"; else result.TipoAutenticazione = "FALLITA"; return result; }
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 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 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; }