コード例 #1
0
        public async Task <IHttpActionResult> RaggruppaEmendamenti(RaggruppaEmendamentiModel 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;
                    }

                    await _logicEm.RaggruppaEmendamento(em, model.Colore);

                    results.Add(idGuid, "OK");
                }

                return(Ok(results));
            }
            catch (Exception e)
            {
                Log.Error("RaggruppaEmendamenti", e);
                return(ErrorHandler(e));
            }
        }
コード例 #2
0
        public async Task <ActionResult> RaggruppaEmendamenti(RaggruppaEmendamentiModel model)
        {
            try
            {
                var apiGateway           = new ApiGateway(_Token);
                var resultRaggruppamento = await apiGateway.Emendamento.Raggruppa(model);

                var listaErroriRaggruppamento = new List <string>();
                foreach (var item in resultRaggruppamento)
                {
                    listaErroriRaggruppamento.Add(
                        $"{listaErroriRaggruppamento.Count + 1} - {item.Value}");
                }
                if (listaErroriRaggruppamento.Count > 0)
                {
                    throw new Exception(
                              $"Riepilogo procedura di raggruppamento: {listaErroriRaggruppamento.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));
            }
        }
コード例 #3
0
ファイル: EmendamentiController.cs プロジェクト: dtommasi/PEM
        public async Task <ActionResult> RaggruppaEmendamenti(RaggruppaEmendamentiModel model)
        {
            try
            {
                var resultRaggruppamento = await ApiGateway.RaggruppaEmendamenti(model);

                var listaErroriRaggruppamento = new List <string>();
                foreach (var item in resultRaggruppamento.Where(item =>
                                                                item.Value.Contains("ERROR")))
                {
                    listaErroriRaggruppamento.Add(
                        $"{listaErroriRaggruppamento.Count + 1} - {item.Value.Substring(7)}");
                }
                if (listaErroriRaggruppamento.Count > 0)
                {
                    throw new Exception(
                              $"Errori nella procedura di raggruppamento: {listaErroriRaggruppamento.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));
            }
        }
コード例 #4
0
        public async Task <Dictionary <Guid, string> > Raggruppa(RaggruppaEmendamentiModel model)
        {
            try
            {
                var requestUrl = $"{apiUrl}/emendamenti/raggruppa";
                var body       = JsonConvert.SerializeObject(model);

                var result = JsonConvert.DeserializeObject <Dictionary <Guid, string> >(await Put(requestUrl, body, _token));

                return(result);
            }
            catch (UnauthorizedAccessException ex)
            {
                Log.Error("RaggruppaEmendamenti", ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Log.Error("RaggruppaEmendamenti", ex);
                throw ex;
            }
        }