private static void HandlePersonSneezed(PacketHeader header, Connection connection, string serializedSneeze)
        {
            SneezeRecord sneeze;

            lock (dbSync)
            {
                sneeze = new SneezeRecord();
                sneeze.DeserializeFromString(serializedSneeze);
                Database?.Sneezes.Add(sneeze);
            }

            PersonSneezed?.Invoke(sneeze);
        }
Example #2
0
        /// <summary>
        /// Writes the provided sneeze to the console window
        /// </summary>
        private static void HandleSneeze(PacketHeader header, Connection connection, string serializedSneeze)
        {
            SneezeRecord sneeze = new SneezeRecord();

            sneeze.DeserializeFromString(serializedSneeze);
            database.Sneezes.Add(sneeze);
            database.Save();

            foreach (ConnectionInfo info in NetworkComms.AllConnectionInfo())
            {
                TCPConnection.GetConnection(info).SendObject(Messages.PersonSneezed, serializedSneeze);
            }
        }
Example #3
0
        private static void HandleUpdateSneeze(PacketHeader header, Connection connection, string serializedSneeze)
        {
            SneezeRecord sneeze = new SneezeRecord();

            sneeze.DeserializeFromString(serializedSneeze);
            int sneezeIndex = database.Sneezes.FindIndex(s => s.Date == sneeze.Date);

            if (sneezeIndex == -1)
            {
                return; // This should never happen, but just in case...
            }
            database.Sneezes[sneezeIndex] = sneeze;
            database.Save();

            TellClientToUpdateSneeze(sneeze);
        }
Example #4
0
        private static void HandleRemoveSneeze(PacketHeader header, Connection connection, string serializedSneeze)
        {
            SneezeRecord sneeze = new SneezeRecord();

            sneeze.DeserializeFromString(serializedSneeze);
            var sneezeRecord = database.Sneezes.Find(s => s.Date == sneeze.Date);

            if (sneezeRecord != null)
            {
                database.Sneezes.Remove(sneezeRecord);
                database.Save();

                //We could send the entire database, but let's try to avoid that if possible.
                TellClientToRemoveSneeze(sneeze);
            }
        }
        private static void HandleSneezeRemoved(PacketHeader header, Connection connection, string serializedSneeze)
        {
            lock (dbSync)
            {
                if (database == null)
                {
                    return;
                }

                SneezeRecord sneeze = new SneezeRecord();
                sneeze.DeserializeFromString(serializedSneeze);
                var sneezeRecord = database.Sneezes.Find(s => s.Date == sneeze.Date);
                if (sneezeRecord != null)
                {
                    database.Sneezes.Remove(sneezeRecord);
                    SneezeRemoved?.Invoke();
                }
            }
        }
        private static void HandleSneezeUpdated(PacketHeader header, Connection connection, string serializedSneeze)
        {
            lock (dbSync)
            {
                if (database == null)
                {
                    return;
                }

                SneezeRecord sneeze = new SneezeRecord();
                sneeze.DeserializeFromString(serializedSneeze);
                int sneezeIndex = database.Sneezes.FindIndex(s => s.Date == sneeze.Date);
                if (sneezeIndex == -1)
                {
                    return; // This should never happen, but just in case...
                }
                database.Sneezes[sneezeIndex] = sneeze;
            }

            SneezeUpdated?.Invoke();
        }