Exemple #1
0
        public HttpResponseMessage GetAdminsAbilitati(int idSender)
        {
            BackendUserService bus   = new BackendUserService();
            UsersMailModel     model = new UsersMailModel();

            try
            {
                List <BackendUser> listaUtentiAbilitati = bus.GetDipendentiDipartimentoAbilitati(idSender);
                var             ListaAdmins             = listaUtentiAbilitati.Where(x => x.RoleMail > 0);
                List <UserMail> list = new List <UserMail>();
                foreach (BackendUser b in ListaAdmins)
                {
                    UserMail u = new UserMail()
                    {
                        UserId   = (int)b.UserId,
                        UserName = b.UserName
                    };
                    list.Add(u);
                }
                model.success   = "true";
                model.UsersList = list.ToArray();
                model.Totale    = list.Count.ToString();
            }
            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));
            }
            return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
        }
        public HttpResponseMessage GetMailSendersByUserMails(int?page, int?start, int?limit)
        {
            MailServerConfigFacade mailServerConfigFacade = MailServerConfigFacade.GetInstance();
            List <MailUser>        users = new List <MailUser>();
            UsersMailModel         model = new UsersMailModel();

            try
            {
                string username = MySecurityProvider.CurrentPrincipal.MyIdentity.UserName;
                MailServerConfigFacade mailSCF = null;
                mailSCF = MailServerConfigFacade.GetInstance();
                users   = SessionManager <List <MailUser> > .get(SessionKeys.ACCOUNTS_LIST);

                if (!(users == null || users.Count == 0))
                {
                    users = mailSCF.GetManagedAccountByUser(username).ToList();
                    if (users == null)
                    {
                        users = new List <MailUser>();
                    }
                    if (users.Where(x => x.UserId.Equals(-1)).Count() == 0)
                    {
                        users.Insert(0, new MailUser()
                        {
                            UserId = -1, EmailAddress = ""
                        });
                    }
                    SessionManager <List <MailUser> > .set(SessionKeys.ACCOUNTS_LIST, users);
                }
                model.MailUsers = users;
            }
            catch (ManagedException bex)
            {
                if (bex.GetType() != typeof(ManagedException))
                {
                    ManagedException mEx = new ManagedException(bex.Message, "ERR_E002", string.Empty, string.Empty, bex);
                    ErrorLogInfo     er  = new ErrorLogInfo(mEx);
                    log.Error(er);
                    model.success = "false";
                    model.message = bex.Message;
                    return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
                }
            }
            return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
        }
Exemple #3
0
        public HttpResponseMessage GetAllUsers()
        {
            BackendUserService bus   = new BackendUserService();
            UsersMailModel     model = new UsersMailModel();
            List <UserMail>    list  = new List <UserMail>();

            try
            {
                if (CacheManager <List <UserMail> > .exist(Com.Delta.Web.Cache.CacheKeys.ALL_USERS))
                {
                    list = CacheManager <List <UserMail> > .get(Com.Delta.Web.Cache.CacheKeys.ALL_USERS, VincoloType.BACKEND);
                }
                else
                {
                    list = Helpers.GetAllUsers();
                }

                model.success   = "true";
                model.UsersList = list.ToArray();
                model.Totale    = list.Count.ToString();
            }
            catch (Exception ex)
            {
                if (!ex.GetType().Equals(typeof(ManagedException)))
                {
                    ErrorLogInfo error = new ErrorLogInfo();
                    error.freeTextDetails = ex.Message;
                    error.logCode         = "ERR_U003";
                    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));
            }
            return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
        }
Exemple #4
0
        public HttpResponseMessage UpdateOwnProfile(FormDataCollection formsValues)
        {
            UsersMailModel model         = new UsersMailModel();
            var            userName      = formsValues["UserName"];
            var            password      = formsValues["Password"];
            var            cognome       = formsValues["Cognome"];
            var            nome          = formsValues["Nome"];
            var            domain        = formsValues["Domain"];
            var            codicefiscale = formsValues["CodiceFiscale"];
            var            userStore     = new UserStore();
            string         result        = "OK";

            try
            {
                var user = userStore.FindByNameAsync(userName).Result;
                if (!(string.IsNullOrEmpty(password)))
                {
                    user.PasswordHash  = MySecurityProvider.PlainToSHA256(password);
                    user.SecurityStamp = System.DateTime.Now.Ticks.ToString();
                    result             = userStore.UpdateAsync(user).Result;
                }
                if (result == "OK")
                {
                    BackendUserService bus         = new BackendUserService();
                    BackendUser        userBackend = new BackendUser();
                    userBackend.Cognome       = cognome.Trim().ToUpper();
                    userBackend.Nome          = nome.Trim().ToUpper();
                    userBackend.UserName      = userName.Trim().ToUpper();
                    userBackend.Domain        = domain;
                    userBackend.CodiceFiscale = codicefiscale.Trim().ToUpper();
                    userBackend.UserId        = long.Parse(user.Id);
                    bus.Update(userBackend);
                    model.success = "true";
                }
                else
                {
                    model.success = "false";
                    model.message = "Utente non aggiornato";
                    return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
                }
            }
            catch (Exception ex)
            {
                if (ex.GetType() != typeof(ManagedException))
                {
                    ManagedException mEx = new ManagedException("Errore aggiornamento utente. Dettaglio: " + ex.Message +
                                                                "StackTrace: " + ((ex.StackTrace != null) ? ex.StackTrace.ToString() : " vuoto "),
                                                                "ERR322",
                                                                string.Empty,
                                                                string.Empty,
                                                                ex.InnerException);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);
                    log.Error(err);
                    model.success = "false";
                    model.message = string.Format("Utente {0} non correttamente aggiornato", userName);
                    return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
                }
                model.success = "false";
                model.message = ex.Message;
                return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
            }
            return(this.Request.CreateResponse <UsersMailModel>(HttpStatusCode.OK, model));
        }
Exemple #5
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));
        }