public HttpResponseMessage getMails() { MailModel model = new MailModel(); try { string username = MySecurityProvider.CurrentPrincipal.MyIdentity.UserName; MailServerConfigFacade mailSCF = null; mailSCF = MailServerConfigFacade.GetInstance(); List <CasellaMail> c = new List <CasellaMail>(); List <MailUser> l = SessionManager <List <MailUser> > .get(SessionKeys.ACCOUNTS_LIST); if (l == null || l.Count == 0) { l = mailSCF.GetManagedAccountByUser(username).ToList(); if (l == null) { l = new List <MailUser>(); } if (l.Where(x => x.UserId.Equals(-1)).Count() == 0) { l.Insert(0, new MailUser() { UserId = -1, EmailAddress = "" }); } SessionManager <List <MailUser> > .set(SessionKeys.ACCOUNTS_LIST, l); } if (l != null && l.Count != 0) { // l = mailSCF.GetManagedAccountByUser(username).Distinct().ToList(); foreach (MailUser m in l) { CasellaMail casella = new CasellaMail() { emailAddress = m.Casella, idMail = m.Id.ToString() }; c.Add(casella); } } model.ElencoMails = c; model.Totale = c.Count.ToString(); } catch (Exception ex) { model.success = "false"; model.message = "Errore: " + ex.Message; } return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model)); }
public HttpResponseMessage GetOwnProfile() { BackendUserService buservice = new BackendUserService(); UsersMailModel model = new UsersMailModel(); string UserName = MySecurityProvider.CurrentPrincipal.MyIdentity.UserName; BackendUser _bUser = null; try { if (!(SessionManager <BackendUser> .exist(Com.Delta.Web.Session.SessionKeys.BACKEND_USER))) { _bUser = (BackendUser)buservice.GetByUserName(MySecurityProvider.CurrentPrincipal.MyIdentity.UserName); SessionManager <BackendUser> .set(Com.Delta.Web.Session.SessionKeys.BACKEND_USER, _bUser); } else { _bUser = SessionManager <BackendUser> .get(Com.Delta.Web.Session.SessionKeys.BACKEND_USER); } if (_bUser != null) { OwnProfile p = new OwnProfile(); p.Cognome = _bUser.Cognome; p.Department = _bUser.Department; p.Domain = _bUser.Domain; p.CodiceFiscale = _bUser.CodiceFiscale; if (_bUser.MappedMails != null && _bUser.MappedMails.Count > 0) { p.MappedMails = new List <CasellaMail>(); List <CasellaMail> l = new List <CasellaMail>(); foreach (BackEndUserMailUserMapping b in _bUser.MappedMails) { CasellaMail m = new CasellaMail { idMail = b.Id.ToString(), emailAddress = b.Casella }; l.Add(m); } p.MappedMails = l; } p.Nome = _bUser.Nome; p.RoleMail = _bUser.RoleMail; p.RoleMailDesription = (_bUser.RoleMail == 0) ? "Utente" : "Amministratore"; p.UserId = (int)_bUser.UserId; p.UserName = _bUser.UserName; p.UserRole = _bUser.UserRole; p.Password = string.Empty; var roleStore = new RoleStore(); var roles = roleStore.GetRolesByUserId((int)_bUser.UserId).Result; p.Roles = roles; model.OwnProfiles = new List <OwnProfile>(); model.OwnProfiles.Add(p); model.success = "true"; model.Totale = "1"; } else { model.success = "false"; model.message = "Utente non collegato a caselle di posta"; } } catch (Exception ex) { if (!ex.GetType().Equals(typeof(ManagedException))) { ErrorLogInfo error = new ErrorLogInfo(); error.freeTextDetails = ex.Message; error.logCode = "ERR_U002"; error.loggingAppCode = "PEC"; error.loggingTime = System.DateTime.Now; error.uniqueLogID = System.DateTime.Now.Ticks.ToString(); log.Error(error); model.message = ex.Message; model.success = "false"; } else { model.message = ex.Message; model.success = "false"; } } return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model)); }