public async Task <ActionResult> AssegnaNuovoPorponente(AssegnaProponenteModel model) { try { var apiGateway = new ApiGateway(_Token); var resultNuovoProponente = await apiGateway.Emendamento.AssegnaNuovoPorponente(model); var listaErroriNuovoProponente = new List <string>(); foreach (var item in resultNuovoProponente) { listaErroriNuovoProponente.Add( $"{listaErroriNuovoProponente.Count + 1} - {item.Value}"); } if (listaErroriNuovoProponente.Count > 0) { throw new Exception( $"Riepilogo procedura di assegnazione nuovo proponente: {listaErroriNuovoProponente.Aggregate((i, j) => i + ", " + j)}"); } return(Json(Request.UrlReferrer.ToString(), JsonRequestBehavior.AllowGet)); } catch (Exception e) { Console.WriteLine(e); return(Json(new ErrorResponse(e.Message), JsonRequestBehavior.AllowGet)); } }
public async Task <ActionResult> AssegnaNuovoPorponente(AssegnaProponenteModel model) { try { var resultNuovoProponente = await ApiGateway.AssegnaNuovoPorponente(model); var listaErroriNuovoProponente = new List <string>(); foreach (var item in resultNuovoProponente.Where(item => item.Value.Contains("ERROR"))) { listaErroriNuovoProponente.Add( $"{listaErroriNuovoProponente.Count + 1} - {item.Value.Substring(7)}"); } if (listaErroriNuovoProponente.Count > 0) { throw new Exception( $"Errori nella procedura di assegnazione nuovo proponente: {listaErroriNuovoProponente.Aggregate((i, j) => i + ", " + j)}"); } return(Json(Request.UrlReferrer.ToString(), JsonRequestBehavior.AllowGet)); } catch (Exception e) { Console.WriteLine(e); return(Json(new ErrorResponse { message = e.Message }, JsonRequestBehavior.AllowGet)); } }
public async Task <Dictionary <Guid, string> > AssegnaNuovoPorponente(AssegnaProponenteModel model) { try { var requestUrl = $"{apiUrl}/emendamenti/assegna-nuovo-proponente"; var body = JsonConvert.SerializeObject(model); var result = JsonConvert.DeserializeObject <Dictionary <Guid, string> >(await Put(requestUrl, body, _token)); return(result); } catch (UnauthorizedAccessException ex) { Log.Error("AssegnaNuovoPorponente", ex); throw ex; } catch (Exception ex) { Log.Error("AssegnaNuovoPorponente", ex); throw ex; } }
public async Task <IHttpActionResult> AssegnaNuovoPorponente(AssegnaProponenteModel model) { try { var results = new Dictionary <Guid, string>(); foreach (var idGuid in model.ListaEmendamenti) { var em = await _logicEm.GetEM(idGuid); if (em == null) { results.Add(idGuid, "ERROR: NON TROVATO"); continue; } if (em.STATI_EM.IDStato != (int)StatiEnum.Ritirato) { results.Add(idGuid, $"ERROR: l'emendamento è {em.STATI_EM.Stato}, è possibile assegnare un nuovo proponente solo se lo stato è RITIRATO."); continue; } await _logicEm.AssegnaNuovoProponente(em, model); results.Add(idGuid, "OK"); } return(Ok(results)); } catch (Exception e) { Log.Error("AssegnaNuovoPorponente", e); return(ErrorHandler(e)); } }