Esempio n. 1
0
        private void GetSysConfig(ConnectionInfo connectionInfo, List <SystemConfig> systemConfig)
        {
            using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel())
            {
                List <SystemConfig> lsc = new List <SystemConfig>();

                foreach (SystemConfig sc in systemConfig)
                {
                    VRConfiguration vc = m.VRConfigurations.Where(x => x.Type == Enum.GetName(typeof(VRGameSelectorServerDTO.Enums.SysConfigType), sc.Type)).FirstOrDefault();

                    if (vc != null)
                    {
                        lsc.Add(new SystemConfig((VRGameSelectorServerDTO.Enums.SysConfigType)Enum.Parse(typeof(VRGameSelectorServerDTO.Enums.SysConfigType), vc.Type, true), vc.Value));
                    }
                    else
                    {
                        lsc.Add(new SystemConfig(sc.Type, ""));
                    }
                }

                VRCommandServer vcs = new VRCommandServer(VRGameSelectorServerDTO.Enums.ControlMessage.GET_SYSCONFIG, lsc);

                SendCommandToPeer(connectionInfo, vcs);
            }
        }
Esempio n. 2
0
        private void SetSysConfig(List <SystemConfig> systemConfig)
        {
            using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel())
            {
                foreach (SystemConfig sc in systemConfig)
                {
                    VRConfiguration vc = m.VRConfigurations.Where(x => x.Type == Enum.GetName(typeof(VRGameSelectorServerDTO.Enums.SysConfigType), sc.Type)).FirstOrDefault();

                    if (vc != null)
                    {
                        // existing
                        vc.Value = sc.Value;
                    }
                    else
                    {
                        // new
                        VRConfiguration vrc = new VRConfiguration()
                        {
                            Type  = Enum.GetName(typeof(VRGameSelectorServerDTO.Enums.SysConfigType), sc.Type),
                            Value = sc.Value
                        };

                        m.Add(vrc);
                    }
                }

                m.SaveChanges();
                //m.Cache.Release(m.VRConfigurations);
            }
        }
Esempio n. 3
0
 public VR(EVRApplicationType applicationType, VRConfiguration configuration)
 {
     _trackedControllerIndices     = new Dictionary <uint, string>();
     _trackedControllerIdentifiers = new Dictionary <uint, string>();
     _requiredControllers          = configuration.ControllerTypes;
     _applicationType   = applicationType;
     _propertiesToTrack = configuration.PropertiesToTrack;
 }
Esempio n. 4
0
        private void BookingReferenceClientApi_OnBookingReferenceResult(object sender, EventArgs e)
        {
            List <BookingReferenceJson> lbrj = ((BookingReferenceJsonEvent)e).ListBookingReference;

            using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel())
            {
                int sessionLength = 50;

                VRConfiguration vrc = m.VRConfigurations.Where(x => x.Type == Enum.GetName(typeof(VRGameSelectorServerDTO.Enums.SysConfigType), VRGameSelectorServerDTO.Enums.SysConfigType.DEFAULT_TIMED_SESSION_LENGTH)).FirstOrDefault();

                if (vrc != null)
                {
                    int.TryParse(vrc.Value, out sessionLength);
                }

                foreach (BookingReferenceJson brj in lbrj)
                {
                    DateTime bookingUpdateTime = DateTime.MinValue;
                    DateTime bookingDeleteTime = DateTime.MinValue;
                    DateTime bookingStartTime  = DateTime.MinValue;
                    DateTime bookingEndTime    = DateTime.MinValue;
                    int      bookingTotalNum   = 0;

                    DateTime.TryParse(brj.booking_updated, out bookingUpdateTime);
                    DateTime.TryParse(brj.booking_deleted, out bookingDeleteTime);
                    DateTime.TryParse(brj.booking_start_time, out bookingStartTime);
                    DateTime.TryParse(brj.booking_end_time, out bookingEndTime);
                    int.TryParse(brj.booking_num_total, out bookingTotalNum);

                    bookingUpdateTime = (bookingUpdateTime != DateTime.MinValue) ? DateTime.SpecifyKind(bookingUpdateTime, DateTimeKind.Utc).ToLocalTime() : bookingUpdateTime;
                    bookingDeleteTime = (bookingDeleteTime != DateTime.MinValue) ? DateTime.SpecifyKind(bookingDeleteTime, DateTimeKind.Utc).ToLocalTime() : bookingDeleteTime;
                    bookingStartTime  = (bookingStartTime != DateTime.MinValue) ? DateTime.SpecifyKind(bookingStartTime, DateTimeKind.Utc).ToLocalTime() : bookingStartTime;
                    bookingEndTime    = (bookingEndTime != DateTime.MinValue) ? DateTime.SpecifyKind(bookingEndTime, DateTimeKind.Utc).ToLocalTime() : bookingEndTime;

                    sessionLength = Math.Abs((int)bookingEndTime.Subtract(bookingStartTime).TotalMinutes);

                    VRBookingReference vrBookingRef = m.VRBookingReferences.Where(x => x.Reference == brj.booking_id).FirstOrDefault();

                    if (vrBookingRef != null)
                    {
                        // existing record
                        if (bookingUpdateTime != DateTime.MinValue && (vrBookingRef.BookingChanged ?? DateTime.MinValue) != bookingUpdateTime)
                        {
                            vrBookingRef.BookingChanged   = bookingUpdateTime;
                            vrBookingRef.BookingStartTime = bookingStartTime;
                            vrBookingRef.BookingEndTime   = bookingEndTime;

                            if (vrBookingRef.NumberOfBookingTotal < bookingTotalNum) // add people
                            {
                                vrBookingRef.NumberOfBookingLeft += (bookingTotalNum - vrBookingRef.NumberOfBookingTotal);
                            }
                            else if (vrBookingRef.NumberOfBookingTotal > bookingTotalNum) // remove people
                            {
                                vrBookingRef.NumberOfBookingLeft -= (vrBookingRef.NumberOfBookingTotal - bookingTotalNum);
                            }

                            vrBookingRef.NumberOfBookingTotal = bookingTotalNum;

                            // value guard
                            if (vrBookingRef.NumberOfBookingLeft > vrBookingRef.NumberOfBookingTotal)
                            {
                                vrBookingRef.NumberOfBookingLeft = vrBookingRef.NumberOfBookingTotal;
                            }
                            else if (vrBookingRef.NumberOfBookingLeft < 0)
                            {
                                vrBookingRef.NumberOfBookingLeft = 0;
                            }
                        }
                        if (bookingDeleteTime != DateTime.MinValue && (vrBookingRef.BookingDeleted ?? DateTime.MinValue) != bookingDeleteTime)
                        {
                            vrBookingRef.BookingDeleted = bookingDeleteTime;
                        }
                    }
                    else
                    {
                        // new record

                        //
                        VRBookingReference vrbr = new VRBookingReference()
                        {
                            BookingStartTime     = bookingStartTime,
                            BookingEndTime       = bookingEndTime,
                            Reference            = brj.booking_id,
                            IsTimedTiming        = true,
                            IsNonTimedTiming     = false,
                            Duration             = sessionLength,
                            NumberOfBookingTotal = bookingTotalNum,
                            NumberOfBookingLeft  = bookingTotalNum,
                            TimeStampCreate      = DateTime.Now
                        };

                        m.Add(vrbr);
                    }

                    m.SaveChanges();
                }
            }
        }