public async Task <ActionResult> EseguiAzioneMassive(ComandiAzioneModel model) { try { var apiGateway = new ApiGateway(_Token); if (model.ListaEmendamenti == null || !model.ListaEmendamenti.Any()) { var listaEM = new EmendamentiViewModel(); var limit = Convert.ToInt32(ConfigurationManager.AppSettings["LimiteDocumentiDaProcessare"]); if (model.Richiesta_Firma) { listaEM = await apiGateway.Emendamento.Get_RichiestaPropriaFirma(model.AttoUId, (ClientModeEnum)model.ClientMode, OrdinamentoEnum.Default, 1, limit); } else { listaEM = await apiGateway.Emendamento.Get(model.AttoUId, (ClientModeEnum)model.ClientMode, OrdinamentoEnum.Default, 1, limit); } model.ListaEmendamenti = listaEM.Data.Results.Select(em => em.UIDEM).ToList(); } switch (model.Azione) { case ActionEnum.FIRMA: var resultFirma = await apiGateway.Emendamento.Firma(model); var listaErroriFirma = new List <string>(); foreach (var itemFirma in resultFirma) { listaErroriFirma.Add($"{itemFirma.Value}"); } if (listaErroriFirma.Count > 0) { return(Json( new { message = $"{listaErroriFirma.Aggregate((i, j) => i + ", " + j)}" }, JsonRequestBehavior.AllowGet)); } return(Json( new { message = $"Nessuna firma effettuata" }, JsonRequestBehavior.AllowGet)); case ActionEnum.DEPOSITA: var resultDeposita = await apiGateway.Emendamento.Deposita(model); var listaErroriDeposito = new List <string>(); foreach (var itemDeposito in resultDeposita) { listaErroriDeposito.Add( $"{itemDeposito.Value}"); } if (listaErroriDeposito.Count > 0) { return(Json( new { message = $"{listaErroriDeposito.Aggregate((i, j) => i + ", " + j)}" }, JsonRequestBehavior.AllowGet)); } return(Json( new { message = $"Nessuna deposito effettuato" }, JsonRequestBehavior.AllowGet)); case ActionEnum.INVITA: var resultInvita = await apiGateway.Notifiche.NotificaEM(model); var listaErroriInvita = new List <string>(); foreach (var itemInvito in resultInvita) { listaErroriInvita.Add( $"{itemInvito.Value}"); } if (listaErroriInvita.Count > 0) { return(Json( new { message = $"{listaErroriInvita.Aggregate((i, j) => i + ", " + j)}" }, JsonRequestBehavior.AllowGet)); } return(Json( new { message = $"Nessuna invito effettuato" }, JsonRequestBehavior.AllowGet)); default: throw new ArgumentOutOfRangeException(nameof(model.Azione), model.Azione, null); } } catch (Exception e) { Console.WriteLine(e); return(Json(JsonConvert.DeserializeObject <ErrorResponse>(e.Message), JsonRequestBehavior.AllowGet)); } }
public async Task <ActionResult> Filtri_RiepilogoEM() { int.TryParse(Request.Form["page"], out var filtro_page); int.TryParse(Request.Form["size"], out var filtro_size); int.TryParse(Request.Form["mode"], out var mode); int.TryParse(Request.Form["ordine"], out var ordine); var atto = Request.Form["atto"]; var filtro_text1 = Request.Form["filtro_text1"]; var filtro_n_em = Request.Form["filtro_n_em"]; var filtro_stato = Request.Form["filtro_stato"]; var filtro_tipo = Request.Form["filtro_tipo"]; var filtro_parte = Request.Form["filtro_parte"]; var filtro_parte_articolo = Request.Form["filtro_parte_articolo"]; var filtro_parte_comma = Request.Form["filtro_parte_comma"]; var filtro_parte_lettera = Request.Form["filtro_parte_lettera"]; var filtro_parte_letteraOLD = Request.Form["filtro_parte_letteraOLD"]; var filtro_parte_titolo = Request.Form["filtro_parte_titolo"]; var filtro_parte_capo = Request.Form["filtro_parte_capo"]; var filtro_parte_missione = Request.Form["filtro_parte_missione"]; var filtro_parte_programma = Request.Form["filtro_parte_programma"]; var model = new BaseRequest <EmendamentiDto> { page = filtro_page, size = filtro_size }; if (!string.IsNullOrEmpty(filtro_text1)) { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.TestoEM_originale), Operation = Operation.Contains, Value = filtro_text1 }); } if (!string.IsNullOrEmpty(filtro_n_em)) { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.N_EM), Operation = Operation.EqualTo, Value = filtro_n_em }); } if (!string.IsNullOrEmpty(filtro_stato) && filtro_stato != "0") { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.IDStato), Operation = Operation.EqualTo, Value = filtro_stato }); } if (!string.IsNullOrEmpty(filtro_parte) && filtro_parte != "0") { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.IDParte), Operation = Operation.EqualTo, Value = filtro_parte }); } if (!string.IsNullOrEmpty(filtro_tipo) && filtro_tipo != "0") { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.IDTipo_EM), Operation = Operation.EqualTo, Value = filtro_tipo }); } if (!string.IsNullOrEmpty(filtro_parte_articolo) && filtro_parte_articolo != "0") { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.UIDArticolo), Operation = Operation.EqualTo, Value = filtro_parte_articolo }); } if (!string.IsNullOrEmpty(filtro_parte_comma) && filtro_parte_comma != "0") { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.UIDComma), Operation = Operation.EqualTo, Value = filtro_parte_comma }); } if (!string.IsNullOrEmpty(filtro_parte_lettera) && filtro_parte_lettera != "0") { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.UIDLettera), Operation = Operation.EqualTo, Value = filtro_parte_lettera }); } if (!string.IsNullOrEmpty(filtro_parte_letteraOLD)) { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.NLettera), Operation = Operation.EqualTo, Value = filtro_parte_letteraOLD }); } if (!string.IsNullOrEmpty(filtro_parte_titolo)) { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.NTitolo), Operation = Operation.EqualTo, Value = filtro_parte_titolo }); } if (!string.IsNullOrEmpty(filtro_parte_capo)) { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.NCapo), Operation = Operation.EqualTo, Value = filtro_parte_capo }); } if (!string.IsNullOrEmpty(filtro_parte_missione) && filtro_parte_missione != "0") { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.NMissione), Operation = Operation.EqualTo, Value = filtro_parte_missione }); } if (!string.IsNullOrEmpty(filtro_parte_programma)) { model.filtro.Add(new FilterStatement <EmendamentiDto> { PropertyId = nameof(EmendamentiDto.NProgramma), Operation = Operation.EqualTo, Value = filtro_parte_programma }); } if (!model.filtro.Any()) { return(RedirectToAction("RiepilogoEmendamenti", "Emendamenti", new { id = atto, mode, ordine })); } model.param = new Dictionary <string, object> { { "CLIENT_MODE", mode } }; model.ordine = (OrdinamentoEnum)ordine; model.id = new Guid(atto); var modelResult = new EmendamentiViewModel { Atto = await ApiGateway.GetAtto(model.id), Data = await ApiGateway.GetEmendamenti(model), CurrentUser = CurrentUser, Mode = (ClientModeEnum)mode }; if (HttpContext.User.IsInRole(RuoliEnum.Amministratore_PEM) || HttpContext.User.IsInRole(RuoliEnum.Segreteria_Assemblea)) { foreach (var emendamentiDto in modelResult.Data.Results) { emendamentiDto.BodyEM = await ApiGateway.GetBodyEM(emendamentiDto.UIDEM, TemplateTypeEnum.PDF); } return(View("RiepilogoEM_Admin", modelResult)); } foreach (var emendamentiDto in modelResult.Data.Results) { if (emendamentiDto.STATI_EM.IDStato <= (int)StatiEnum.Depositato) { if (emendamentiDto.ConteggioFirme > 0) { emendamentiDto.Firmatari = await Utility.GetFirmatariEM( await ApiGateway.GetFirmatari(emendamentiDto.UIDEM, FirmeTipoEnum.TUTTE), CurrentUser.UID_persona, FirmeTipoEnum.TUTTE, true); } emendamentiDto.Destinatari = await Utility.GetDestinatariNotifica(await ApiGateway.GetInvitati(emendamentiDto.UIDEM)); } } return(View("RiepilogoEM", modelResult)); }