public async Task <Names> sendNames(GetRecipent GetRecipent, int operationId, SenderDto sender, int userId) { var n = _context.Names.SingleOrDefault(a => a.id == GetRecipent.recipient.id); var user = _context.Users.SingleOrDefault(a => a.id == userId); var guidUser = user.guidUser; //PREVERIFICA BOLLETTINO if (GetRecipent.bulletin != null) { ControlloBollettino ctrlB = GlobalClass.verificaBollettino(GetRecipent.bulletin); if (!ctrlB.Valido) { n.valid = false; n.stato = "Errore nella convalida del bollettino."; _context.SaveChanges(); return(null); } } ROLServiceSoapClient service = new ROLServiceSoapClient(); service = getNewServiceRol(guidUser); var fileName = GetRecipent.recipient.fileName; List <string> filesName = new List <string>(); filesName.Add(fileName); var requestId = getRequestId(guidUser); tipoStampa ts = tipoStampa.colori; if (GetRecipent.recipient.tipoStampa) { ts = tipoStampa.biancoNero; } fronteRetro fr = fronteRetro.fronte; if (GetRecipent.recipient.fronteRetro) { fr = fronteRetro.fronteRetro; } Destinatario d = new Destinatario(); d = GetDestinatarioRol(GetRecipent.recipient); Destinatario[] ld = new Destinatario[1]; ld[0] = d; ROLSubmit rs = new ROLSubmit(); rs.Destinatari = ld; rs.Opzioni = GetOpzioniRol(ts, fr); rs.Mittente = GetMittente(sender); rs.NumeroDestinatari = 1; rs.Documento = getDoc(filesName, 1); //BOLLETTINO if (GetRecipent.bulletin != null) { PaginaBollettino pagina = new PaginaBollettino(); object b = null; switch (GetRecipent.bulletin.bulletinType) { case (int)bulletinType.Bollettino451: b = getBollettino451(GetRecipent.bulletin); pagina.Bollettino = (Bollettino451)b; break; case (int)bulletinType.Bollettino674: b = getBollettino674(GetRecipent.bulletin); pagina.Bollettino = (Bollettino674)b; break; case (int)bulletinType.Bollettino896: b = getBollettino896(GetRecipent.bulletin); pagina.Bollettino = (Bollettino896)b; break; } PaginaBollettinoBase[] p = new PaginaBollettinoBase[1]; p[0] = pagina; rs.PagineBollettini = p; } //RICEVUTA DI RITORNO if (GetRecipent.recipient.ricevutaRitorno) { DatiRicevuta dr = new DatiRicevuta(); dr.Nominativo = rs.Mittente.Nominativo; rs.DatiRicevuta = dr; } rs.Nazionale = (GetRecipent.recipient.state.ToUpper() == "ITALIA" ? "true" : "false"); InvioResult esito = new InvioResult(); try { esito = service.Invio(requestId, user.businessName, rs); if (esito.CEResult.Type != "I") { n.valid = false; n.stato = esito.CEResult.Description; _context.SaveChanges(); return(n); } n.requestId = esito.IDRichiesta; n.guidUser = esito.GuidUtente; _context.SaveChanges(); } catch (Exception e) { n.valid = false; n.stato = "Errore nella richiesta del submit."; _context.SaveChanges(); return(n); }; return(n); }