public ResponseCOLConfirm StateRetrive(string requestId, Guid guidUser) { var user = _context.Users.Where(a => a.guidUser == guidUser).FirstOrDefault(); string[] IdRichieste = new string[1]; IdRichieste[0] = requestId; PostaContestServiceClient service = getNewServiceCOL(guidUser); var request = new RecuperaServizioPerIdRichiestaRequest(); request.CodiceContratto = user.CodiceContrattoCOL; request.IdRichieste = IdRichieste; var r = new ResponseCOLConfirm(); var rs = service.RecuperaServizioPerIdRichiesta(request); if (rs.Esito == EsitoPostaEvo.OK) { if (rs.Servizi.Count() > 0) { var n = _context.Names.SingleOrDefault(a => a.requestId == requestId); n.presaInCaricoDate = rs.Servizi[0].DataAccettazione; n.codice = rs.Servizi[0].DatiServizio.Destinatari[0].NumeroLettera.Replace(" ", ""); n.stato = rs.Servizi[0].StatoServizio; _context.SaveChanges(); r.DataAccettazione = (DateTime)rs.Servizi[0].DataAccettazione; r.NumeroRaccomandata = rs.Servizi[0].DatiServizio.Destinatari[0].NumeroLettera.Replace(" ", ""); r.EsitoPostaEvo = rs.Esito; } } return(r); }
public ResponseCOLConfirm Confirm(string requestId, Guid guidUser) { var user = _context.Users.Where(a => a.guidUser == guidUser).FirstOrDefault(); var r = new ResponseCOLConfirm(); PostaContestServiceClient service = getNewServiceCOL(guidUser); var request = new ConfermaInvioRequest(); request.CodiceContratto = user.CodiceContrattoCOL; request.IdRichiesta = requestId; var stato = StateRetrive(requestId, guidUser); if (stato.EsitoPostaEvo == EsitoPostaEvo.OK) { r.DataAccettazione = (DateTime)stato.DataAccettazione; r.NumeroRaccomandata = stato.NumeroRaccomandata.Replace(" ", ""); r.EsitoPostaEvo = stato.EsitoPostaEvo; } else { var conferma = service.ConfermaInvio(request); if (conferma.Esito == EsitoPostaEvo.OK) { r.DataAccettazione = conferma.DataAccettazione; r.NumeroRaccomandata = conferma.Destinatari[0].NumeroLettera; r.EsitoPostaEvo = conferma.Esito; var n = _context.Names.SingleOrDefault(a => a.requestId == requestId); n.presaInCaricoDate = r.DataAccettazione; n.codice = r.NumeroRaccomandata; n.stato = "Presa in carico Postel"; n.currentState = (int)currentState.PresoInCarico; _context.SaveChanges(); } } return(r); }