public async Task <ActionResult> GetListaDestinatari(Guid atto, TipoDestinatarioNotificaEnum tipo) { var apiGateway = new ApiGateway(_Token); var destinatari = await apiGateway.Notifiche.GetListaDestinatari(atto, tipo); return(Json(destinatari, JsonRequestBehavior.AllowGet)); }
public async Task <IHttpActionResult> GetListaDestinatari(Guid atto, TipoDestinatarioNotificaEnum tipo) { try { var session = await GetSession(); var persona = await _logicPersone.GetPersona(session); return(Ok(await _logic.GetListaDestinatari(atto, tipo, persona))); } catch (Exception e) { Log.Error("GetListaDestinatari", e); return(ErrorHandler(e)); } }
public static async Task <Dictionary <string, string> > GetListaDestinatari(Guid atto, TipoDestinatarioNotificaEnum tipo) { try { var requestUrl = $"{apiUrl}/notifiche/destinatari?atto={atto}&tipo={(int) tipo}"; var lst = JsonConvert.DeserializeObject <Dictionary <string, string> >(await Get(requestUrl)); return(lst); } catch (UnauthorizedAccessException ex) { Log.Error("GetListaDestinatari", ex); throw ex; } catch (Exception ex) { Log.Error("GetListaDestinatari", ex); throw ex; } }
public async Task <Dictionary <string, string> > GetListaDestinatari(Guid atto, TipoDestinatarioNotificaEnum tipo, PersonaDto persona) { try { var result = new Dictionary <string, string>(); if (persona.CurrentRole == RuoliIntEnum.Amministratore_PEM) { tipo = TipoDestinatarioNotificaEnum.TUTTI; } switch (tipo) { case TipoDestinatarioNotificaEnum.TUTTI: result = (await _logicPersone.GetProponenti()) .ToDictionary(p => p.UID_persona.ToString(), s => s.DisplayName); break; case TipoDestinatarioNotificaEnum.CONSIGLIERI: if (persona.CurrentRole == RuoliIntEnum.Responsabile_Segreteria_Giunta || persona.CurrentRole == RuoliIntEnum.Segreteria_Giunta_Regionale) { result = (await _logicPersone.GetAssessoriRiferimento()) .ToDictionary(p => p.UID_persona.ToString(), s => s.DisplayName); } else if (persona.CurrentRole == RuoliIntEnum.Responsabile_Segreteria_Politica || persona.CurrentRole == RuoliIntEnum.Segreteria_Politica) { result = (await _logicPersone.GetConsiglieriGruppo(persona.Gruppo.id_gruppo)) .ToDictionary(p => p.UID_persona.ToString(), s => s.DisplayName); } else { var consiglieri_In_Db = (await _logicPersone.GetConsiglieri()) .ToDictionary(p => p.UID_persona.ToString(), s => s.DisplayName_GruppoCode); foreach (var consigliere in consiglieri_In_Db) { result.Add(consigliere.Key, consigliere.Value); } } break; case TipoDestinatarioNotificaEnum.ASSESSORI: if (persona.CurrentRole == RuoliIntEnum.Responsabile_Segreteria_Giunta || persona.CurrentRole == RuoliIntEnum.Segreteria_Giunta_Regionale) { result = (await _logicPersone.GetAssessoriRiferimento()) .ToDictionary(p => p.UID_persona.ToString(), s => s.DisplayName); } else if (persona.CurrentRole == RuoliIntEnum.Responsabile_Segreteria_Politica || persona.CurrentRole == RuoliIntEnum.Segreteria_Politica) { result = (await _logicPersone.GetConsiglieriGruppo(persona.Gruppo.id_gruppo)) .ToDictionary(p => p.UID_persona.ToString(), s => s.DisplayName); } else { var assessori_In_Db = (await _logicPersone.GetAssessoriRiferimento()) .ToDictionary(p => p.UID_persona.ToString(), s => s.DisplayName); foreach (var assessori in assessori_In_Db) { result.Add(assessori.Key, assessori.Value); } } break; case TipoDestinatarioNotificaEnum.GRUPPI: result = (await _logicPersone.GetGruppiAttivi()) .ToDictionary(k => k.id.ToString(), z => z.descr); break; case TipoDestinatarioNotificaEnum.RELATORI: result = (await _logicPersone.GetRelatori(atto)) .ToDictionary(k => k.UID_persona.ToString(), z => z.DisplayName); break; default: throw new ArgumentOutOfRangeException(nameof(tipo), tipo, null); } return(result); } catch (Exception e) { Log.Error("Logic - GetListaDestinatari", e); throw; } }