Exemple #1
0
        protected bool CheckStatusLol(string idRichiesta, string status, TimeSpan timeout, TimeSpan retryInterval)
        {
            bool result = false;

            Stopwatch sw = new Stopwatch();

            sw.Start();
            while (sw.Elapsed <= timeout)
            {
                using (var ctx = new NPCELOLEntities())
                {
                    ctx.Database.Connection.ConnectionString = ambiente.LolConnectionString;
                    var richiesta = ctx.LOL.Where(r => r.IdRichiesta == new Guid(idRichiesta)).FirstOrDefault();

                    if (richiesta != null)
                    {
                        if (richiesta.IdStatoLavorazione == status)
                        {
                            result = true;
                            break;
                        }
                        else
                        {
                            Thread.Sleep(retryInterval);
                        }
                    }
                }
            }
            return(result);
        }
Exemple #2
0
        public void Invio_PreConferma_Con_AutoConferma_Archiviazione_Storica_3_Anni()
        {
            string idRichiesta = RecuperaIdRichiesta();

            Assert.IsNotNull(idRichiesta);

            var invioLol = GetLolInvio(idRichiesta, "docx", "Docx_5_Pagine.docx");

            // Customize Invio

            invioLol.Opzioni.ArchiviazioneDocumenti      = "STORICA";
            invioLol.Opzioni.AnniArchiviazione           = 3;
            invioLol.Opzioni.AnniArchiviazioneSpecified  = true;
            invioLol.Opzioni.OpzionidiStampa.FronteRetro = "false";

            InvioResult result = InviaLOL(idRichiesta, invioLol);


            var guidUtente = result.GuidUtente;

            Assert.AreEqual(result.CEResult.Type, "I");

            Debug.WriteLine(result.IDRichiesta);

            Thread.Sleep(30000);

            var listRichieste = new List <Richiesta>();

            listRichieste.Add(new Richiesta()
            {
                GuidUtente = guidUtente, IDRichiesta = idRichiesta
            });
            PreConfermaRequest request = new PreConfermaRequest {
                Richieste = listRichieste.ToArray(), autoConferma = true
            };
            var proxy   = GetProxy <LOLServiceSoap>(ambiente.LolUri);
            var fake    = new OperationContextScope((IContextChannel)proxy);
            var headers = GetHttpHeaders(ambiente);

            OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = headers;
            var preConfermaResult = proxy.PreConferma(request);

            Assert.AreEqual(preConfermaResult.PreConfermaResult.CEResult.Type, "I");

            CheckStatusLol(idRichiesta, "L", TimeSpan.FromMinutes(3), TimeSpan.FromSeconds(20));

            using (var ctx = new NPCELOLEntities())
            {
                ctx.Database.Connection.ConnectionString = ambiente.LolConnectionString;
                var ov = ctx.OggettoValorizzazione.Where(i => i.IdRichiesta.ToString() == idRichiesta && i.CodiceMateriale == "ARCHIVIAZ_P4OL").FirstOrDefault();
                if (ov == null)
                {
                    Assert.Fail("OggettoValorizzazione non esistente");
                    return;
                }
                Debug.WriteLine(GetPriceRequest(idRichiesta));
            }
        }