public void SetAutorizzaUtenteTrasferito(decimal idDipendente, ModelDBISE db) { var dip = db.DIPENDENTI.Find(idDipendente); //if (dip.ABILITATO == false) //{ // dip.ABILITATO = true; //} //Effettuo una ricerca della matricola che voglio autorizzare per capire se giĆ risulta autorizzata precedentemente. var luamAttivoOld = dip.UTENTIAUTORIZZATI; if (luamAttivoOld == null || luamAttivoOld.IDDIPENDENTE <= 0) { UTENTIAUTORIZZATI ua = new UTENTIAUTORIZZATI() { IDRUOLOUTENTE = (decimal)EnumRuoloAccesso.Utente, IDDIPENDENTE = idDipendente, UTENTE = dip.MATRICOLA.ToString(), PSW = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["PasswordDefaultTEST"]) }; db.UTENTIAUTORIZZATI.Add(ua); int i = db.SaveChanges(); if (i <= 0) { throw new Exception("Errore nella fase di autorizzazione dell'utente " + dip.COGNOME + " " + dip.NOME + " (" + dip.MATRICOLA + ")"); } } }
public static AccountModel UtenteAutorizzato() { ClaimsPrincipal currentClaimsPrincipal = ClaimsPrincipal.Current; //AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier; AccountModel ac = new AccountModel(); if (currentClaimsPrincipal.Identity.IsAuthenticated) { foreach (Claim claim in currentClaimsPrincipal.Claims) { if (claim.Type == ClaimTypes.NameIdentifier) { ac.idDipendente = Convert.ToDecimal(claim.Value); } else if (claim.Type == ClaimTypes.Name) { ac.nome = claim.Value; } else if (claim.Type == ClaimTypes.Surname) { ac.cognome = claim.Value; } else if (claim.Type == ClaimTypes.GivenName) { ac.utente = claim.Value; } else if (claim.Type == ClaimTypes.Email) { ac.eMail = claim.Value; } else if (claim.Type == ClaimTypes.Role) { ac.idRuoloUtente = Convert.ToDecimal(claim.Value); } } if (ac.idRuoloUtente > 0) { using (ModelDBISE db = new ModelDBISE()) { RUOLOACCESSO ruolo = db.RUOLOACCESSO.Find(ac.idRuoloUtente); if (ruolo != null) { ac.RuoloAccesso = new RuoloAccesoModel() { idRuoloAccesso = ruolo.IDRUOLOACCESSO, descRuoloAccesso = ruolo.DESCRUOLO }; } UTENTIAUTORIZZATI ua = db.UTENTIAUTORIZZATI.Find(ac.idDipendente); DIPENDENTI d = ua.DIPENDENTI; if (d?.IDDIPENDENTE > 0) { ac.idDipendente = d.IDDIPENDENTE; DipendentiModel dm = new DipendentiModel() { idDipendente = d.IDDIPENDENTE, matricola = d.MATRICOLA, nome = d.NOME, cognome = d.COGNOME, dataAssunzione = d.DATAASSUNZIONE, dataCessazione = d.DATACESSAZIONE, indirizzo = d.INDIRIZZO, cap = d.CAP, citta = d.CITTA, provincia = d.PROVINCIA, email = d.EMAIL, telefono = d.TELEFONO, fax = d.FAX, abilitato = d.ABILITATO, dataInizioRicalcoli = d.DATAINIZIORICALCOLI }; ac.Dipendenti = dm; } } } } return(ac); }