Example #1
0
        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));
            }
        }
Example #2
0
        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));
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
        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));
            }
        }