예제 #1
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));
            }
        }