예제 #1
0
        public void End()
        {
            ResultProcessed = true;

            using (Session session = new Session())
            {
                try
                {
                    Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid);
                    if (Result)
                    {
                        postazione.SyncResult  = EnumSyncResult.Ok;
                        postazione.SyncSuccess = postazione.SyncTry;
                        postazione.Save();
                    }
                    else
                    {
                        postazione.SyncResult = EnumSyncResult.Error;
                        postazione.Save();
                    }
                }
                catch (Exception)
                {
                    // possiamo avere un problema sullo schema del database
                    // ignoriamo e proseguiamo l'operazione ..
                }

                try
                {
                    Messaggio msg = new Messaggio(session);
                    msg.Data = DateTime.Now;

                    if (Result)
                    {
                        //msg.Oggetto = String.Format("SYNCOK {0}: {1} sec. Conflitti ({2}/{3}) Modifiche ({4}/{5})", Environment.MachineName,
                        //    ResultInfo.Durata(),
                        //    ResultInfo.ConflittiSub, ResultInfo.ConflittiPub, ResultInfo.ModificheSub, ResultInfo.ModifichePub);
                        //msg.TestoEsteso = ResultInfo.Info;
                        //msg.Autore = session.GetObjectByKey<Utente>(Program.UtenteCollegato.Oid);
                        //msg.Tipologia = EnumTipoMessaggio.Normale;
                        //msg.Save();
                    }
                    else
                    {
                        msg.Oggetto     = "SYNC_ERR: " + Environment.MachineName;
                        msg.TestoEsteso = ResultInfo.Info;
                        msg.Autore      = session.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid);
                        msg.Tipologia   = EnumTipoMessaggio.SyncError;
                        msg.Save();
                    }
                }
                catch (Exception)
                {
                    // possiamo avere un problema sullo schema del database
                    // ignoriamo e proseguiamo l'operazione ..
                }
            }
        }
예제 #2
0
        static void GO()
        {
            List <MyFeData> elenco = DownloadData();

            List <MyFeData> elencoNuovi = new List <MyFeData>();

            using (Session session = new Session())
            {
                Utente utente = session.FindObject <Utente>(new BinaryOperator("AdUsername", "Internet"));
                MuseiBase.CurrentUser = utente;

                Postazione postazione = session.FindObject <Postazione>(new BinaryOperator("CodiceUnivoco", 1));
                postazione.Utente      = utente.FullName;
                postazione.SyncSuccess = postazione.SyncTry = DateTime.Now;
                postazione.SyncResult  = EnumSyncResult.Ok;
                postazione.Save();

                foreach (MyFeData myFeData in elenco)
                {
                    var trans = session.FindObject <TransazioneWeb>(new GroupOperator(GroupOperatorType.And,
                                                                                      new CriteriaOperator[] {
                        new BinaryOperator("Transazione", myFeData.Transazione),
                        new BinaryOperator("CodiceOperazione", myFeData.CodiceOperazione)
                    }));
                    if (trans == null)
                    {
                        elencoNuovi.Add(myFeData);
                    }
                }

                var           mioelenco = elencoNuovi.OrderBy(m => m.InseritaIlDateTime).ToArray();
                List <string> log       = new List <string>();

                foreach (MyFeData myFeData in mioelenco)
                {
                    if (myFeData.TipoOperazione == "vendita")
                    {
                        CreaVendita(myFeData);

                        string logitem = string.Format("Creata Vendita {0} del {1:g}", myFeData.CodiceTessera, myFeData.InseritaIlDateTime);
                        log.Add(logitem);
                        Console.WriteLine(logitem);
                    }

                    if (myFeData.TipoOperazione == "annullo")
                    {
                        AnnullaVendita(myFeData);

                        string logitem = string.Format("Annullata Vendita {0} del {1:g}", myFeData.CodiceTessera, myFeData.InseritaIlDateTime);
                        log.Add(logitem);
                        Console.WriteLine(logitem);
                    }
                }

                if (log.Count > 0)
                {
                    // send email
                }
            }
        }
예제 #3
0
        public void GoSync()
        {
            using (Session session = new Session())
            {
                if (StaticInfo.NoSync() || session.DataLayer.Connection == null || !session.DataLayer.Connection.ConnectionString.Contains("MuseiXafRev1locale"))
                {
                    Result       = true;
                    SyncFinished = true;

                    try
                    {
                        Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid);
                        postazione.SyncTry     = DateTime.Now;
                        postazione.SyncSuccess = DateTime.Now;
                        postazione.Save();
                    }
                    catch (Exception)
                    {
                        // possiamo avere un problema sullo schema del database
                        // ignoriamo e proseguiamo l'operazione ..
                    }
                }
                else
                {
                    try
                    {
                        Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid);
                        postazione.SyncTry = DateTime.Now;
                        postazione.Save();
                    }
                    catch (Exception)
                    {
                        // possiamo avere un problema sullo schema del database
                        // ignoriamo e proseguiamo l'operazione ..
                    }

                    Thread newt = new Thread(start);
                    newt.Start(this);
                }
            }
        }
예제 #4
0
        private void RibbonFormDashBoard_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (Program.Postazione != null)
            {
                using (Session session = new Session())
                {
                    Postazione postazione = session.GetObjectByKey <Postazione>(Program.Postazione.Oid);
                    postazione.Utente = "--";
                    postazione.Save();
                }

                using (XtraFormSync form = new XtraFormSync())
                {
                    if (form.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                    {
                        this.backgroundWorkerPush.CancelAsync();
                        Program.UtenteCollegato = null;
                        Program.Postazione      = null;
                    }
                }
            }
        }