예제 #1
0
        public void OnUpdateZoneReq(UpdateZoneReq packet, string ipPort)
        {
            var zone = JsonConvert.DeserializeObject <PolyZone>(packet.Zone, Converter.Settings);

            Sql.Instance.UpdateZoneInfo(zone);

            _server.SendToEveryoneExcept(new ZoneInfoUpdatedAck()
            {
                ZoneId = int.Parse(zone.Id),
                Data   = JsonConvert.SerializeObject(zone, Converter.Settings)
            }, ipPort);
        }
예제 #2
0
        public void OnUpdateZoneReq(UpdateZoneReq packet, User user)
        {
            var zone = JsonConvert.DeserializeObject <PolyZone>(packet.Zone, Converter.Settings);

            Sql.Instance.UpdateZoneInfo(zone);

            lock (Server.Dto.Zones)
            {
                var localDtoZone = Server.Dto.Zones.First(z => z.Id == zone.Zoneid);
                localDtoZone.Color       = zone.Color;
                localDtoZone.Description = zone.Description;
                localDtoZone.Distance    = zone.Distance;
                localDtoZone.Fee         = zone.Fee;
                localDtoZone.ServiceNa   = zone.ServiceNa;
                localDtoZone.Telepules   = zone.Telepules;
                localDtoZone.Timetable   = zone.Timetable;
            }

            _server.SendToEveryoneExcept(new ZoneInfoUpdatedAck()
            {
                ZoneId = int.Parse(zone.Id),
                Data   = JsonConvert.SerializeObject(zone, Converter.Settings)
            }, user.IpPort);
        }