Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }