public async Task <View_gruppi_politici_con_giunta> GetGruppoAttuale(List <string> lGruppi, RuoliIntEnum role) { var query = PRContext .JOIN_GRUPPO_AD .Where(g => lGruppi.Contains(g.GruppoAD)); if (role == RuoliIntEnum.Assessore_Sottosegretario_Giunta || role == RuoliIntEnum.Amministratore_Giunta || role == RuoliIntEnum.Responsabile_Segreteria_Giunta || role == RuoliIntEnum.Segreteria_Giunta_Regionale) { query = query.Where(g => g.GiuntaRegionale); } var join_gruppo = await query.FirstOrDefaultAsync(); if (join_gruppo == null) { return(null); } var gruppo = await PRContext .View_gruppi_politici_con_giunta .SingleOrDefaultAsync(g => g.id_gruppo == join_gruppo.id_gruppo); return(gruppo); }
internal static string GetFirmatariEM_OPENDATA(IEnumerable <FirmeDto> firme, RuoliIntEnum ruolo) { try { if (firme == null) { return("--"); } var firmeDtos = firme.ToList(); if (!firmeDtos.Any()) { return("--"); } var result = ""; foreach (var firmeDto in firme) { if (string.IsNullOrEmpty(firmeDto.Data_ritirofirma)) { if (ruolo == RuoliIntEnum.Amministratore_PEM) { result += $"{firmeDto.UTENTI_NoCons.id_persona}-{DecryptString(firmeDto.FirmaCert, AppSettingsConfiguration.masterKey)}; "; } else { result += $"{DecryptString(firmeDto.FirmaCert, AppSettingsConfiguration.masterKey)}; "; } } else { if (ruolo == RuoliIntEnum.Amministratore_PEM) { result += $"{firmeDto.UTENTI_NoCons.id_persona}-{DecryptString(firmeDto.FirmaCert, AppSettingsConfiguration.masterKey)} (ritirata); "; } else { result += $"{DecryptString(firmeDto.FirmaCert, AppSettingsConfiguration.masterKey)} (ritirata); "; } } } return(result); } catch (Exception e) { Log.Error("GetFirmatariEM_OPENDATA", e); throw e; } }
public async Task <IHttpActionResult> GetToken(RuoliIntEnum ruolo) { try { var result = await _logic.CambioRuolo(ruolo, await GetSession()); return(Ok(result)); } catch (Exception e) { Log.Error("GetToken - Ruoli", e); return(ErrorHandler(e)); } }
public async Task <LoginResponse> CambioRuolo(RuoliIntEnum ruolo, SessionManager session) { try { var ruoloInDb = await _unitOfWork.Ruoli.Get((int)ruolo); if (ruoloInDb == null) { throw new Exception("Ruolo non trovato"); } var persona = Mapper.Map <View_UTENTI, PersonaDto>(await _unitOfWork.Persone.Get(session._currentUId)); var intranetAdService = new proxyAD(); var Gruppi_Utente = new List <string>(intranetAdService.GetGroups( persona.userAD.Replace(@"CONSIGLIO\", ""), "PEM_", AppSettingsConfiguration.TOKEN_R)); var lRuoli = Gruppi_Utente.Select(group => $"CONSIGLIO\\{group}").ToList(); var ruoli_utente = await _unitOfWork.Ruoli.RuoliUtente(lRuoli); var ruoloAccessibile = ruoli_utente.SingleOrDefault(r => r.IDruolo == (int)ruolo); if (ruoloAccessibile == null) { throw new Exception("Ruolo non accessibile"); } persona.CurrentRole = ruolo; persona.Gruppo = await _unitOfWork.Gruppi.GetGruppoPersona(lRuoli, persona.IsGiunta()); persona.Carica = await _unitOfWork.Persone.GetCarica(persona.UID_persona); persona.Ruoli = ruoli_utente.Select(Mapper.Map <RUOLI, RuoliDto>); var token = GetToken(persona); return(new LoginResponse { jwt = token, id = persona.UID_persona, persona = persona }); } catch (Exception e) { throw e; } }
public static string ConvertToAD(RuoliIntEnum ruolo) { switch (ruolo) { case RuoliIntEnum.Amministratore_PEM: return("PEM_Admin"); case RuoliIntEnum.Amministratore_Giunta: return("PEM_Admin_Giunta"); case RuoliIntEnum.Consigliere_Regionale: return("PEM_Consiglieri"); case RuoliIntEnum.Responsabile_Segreteria_Politica: return("PEM_Resp_Segreteria"); case RuoliIntEnum.Segreteria_Politica: return("PEM_Segreteria_politica"); case RuoliIntEnum.Assessore_Sottosegretario_Giunta: return("PEM_Assessori"); case RuoliIntEnum.Responsabile_Segreteria_Giunta: return("PEM_Resp_Segreteria_Giunta"); case RuoliIntEnum.Segreteria_Giunta_Regionale: return("PEM_Segreteria_Giunta"); case RuoliIntEnum.Presidente_Regione: return("PEM_Presidente"); case RuoliIntEnum.Segreteria_Assemblea: return("PEM_Segr_Assemblea"); case RuoliIntEnum.Utente: return("PEM_Generic"); case RuoliIntEnum.SERVIZIO_JOB: return(default); default: throw new ArgumentOutOfRangeException(nameof(ruolo), ruolo, null); } }
public async Task <LoginResponse> CambioRuolo(RuoliIntEnum ruolo) { try { var requestUrl = $"{apiUrl}/autenticazione/cambio-ruolo?ruolo={ruolo}"; var lst = JsonConvert.DeserializeObject <LoginResponse>(await Get(requestUrl, _token)); return(lst); } catch (UnauthorizedAccessException ex) { Log.Error("CambioRuolo", ex); throw ex; } catch (Exception ex) { Log.Error("CambioRuolo", ex); throw ex; } }
public async Task <ActionResult> CambioRuolo(RuoliIntEnum ruolo, string returnUrl) { LoginResponse response; try { response = await ApiGateway.CambioRuolo(ruolo); } catch (Exception e) { Console.WriteLine(e); return(HttpNotFound(e.Message)); } await SalvaDatiInCookies(response.persona, response.jwt, response.persona.userAD.Replace(@"CONSIGLIO\", "")); //if (Url.IsLocalUrl(returnUrl)) return Redirect(returnUrl); return(RedirectToAction("RiepilogoSedute", "Sedute")); }
public async Task <RuoliDto> GetRuolo(RuoliIntEnum ruolo) { try { var requestUrl = $"{apiUrl}/persone/{(int)ruolo}"; var lst = JsonConvert.DeserializeObject <RuoliDto>(await Get(requestUrl, _token)); return(lst); } catch (UnauthorizedAccessException ex) { Log.Error("GetRuolo", ex); throw ex; } catch (Exception ex) { Log.Error("GetPersona", ex); throw ex; } }
public async Task <RUOLI> GetRuolo(RuoliIntEnum ruolo) { return(await _unitOfWork.Ruoli.Get((int)ruolo)); }
public async Task <Guid> SalvaUtente(PersonaUpdateRequest request, RuoliIntEnum ruolo) { try { var intranetAdService = new proxyAD(); if (request.UID_persona == Guid.Empty) { //NUOVO string ldapPath = "OU=PEM,OU=Intranet,OU=Gruppi,DC=consiglio,DC=lombardia"; string autoPassword = _logicUtil.GenerateRandomCode(); intranetAdService.CreatePEMADUser( request.userAD, autoPassword, ruolo == RuoliIntEnum.Amministratore_Giunta, AppSettingsConfiguration.TOKEN_W ); autoPassword = ruolo == RuoliIntEnum.Amministratore_Giunta ? $"{autoPassword}" : "[Stessa usata per accedere al tuo pc]"; request.UID_persona = Guid.NewGuid(); request.no_Cons = 1; UTENTI_NoCons newUser = request; _unitOfWork.Persone.Add(newUser); await _unitOfWork.CompleteAsync(); await _logicUtil.InvioMail(new MailModel { DA = "*****@*****.**", A = request.email, CC = "*****@*****.**", OGGETTO = "PEM - Utenza aperta", MESSAGGIO = $"Benvenuto in PEM, <br/> utilizza le seguenti credenziali: <br/> <b>Username</b> <br/> {request.userAD.Replace(@"CONSIGLIO\", "")}<br/> <b>Password</b> <br/> {autoPassword}<br/><br/> {AppSettingsConfiguration.urlPEM}" }); } else { foreach (var item in request.gruppiAd) { if (item.Membro) { try { var resultAdd = intranetAdService.AddUserToADGroup(item.GruppoAD, request.userAD, AppSettingsConfiguration.TOKEN_W); if (resultAdd != 0) { throw new InvalidOperationException($"Errore inserimento gruppo AD [{item.GruppoAD}]"); } } catch (Exception e) { Log.Error($"Add - {item.GruppoAD}", e); } } else { try { var resultRemove = intranetAdService.RemoveUserFromADGroup(item.GruppoAD, request.userAD, AppSettingsConfiguration.TOKEN_W); if (resultRemove == false) { throw new InvalidOperationException($"Errore rimozione gruppo AD [{item.GruppoAD}]"); } } catch (Exception e) { Log.Error($"Remove - {item.GruppoAD}", e); } } } if (request.no_Cons == 1) { //Consigliere/Assessore UTENTI_NoCons persona = await _unitOfWork.Persone.Get_NoCons(request.UID_persona); persona.id_gruppo_politico_rif = request.id_gruppo_politico_rif; persona.UserAD = request.userAD; persona.notifica_firma = request.notifica_firma; persona.notifica_deposito = request.notifica_deposito; await _unitOfWork.CompleteAsync(); } else { await _unitOfWork.Persone.UpdateUtente_NoCons(request.UID_persona, request.id_persona, request.userAD.Replace(@"CONSIGLIO\", "")); } } return(request.UID_persona); } catch (Exception e) { throw e; } }