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); } }
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); } }
public VR(EVRApplicationType applicationType, VRConfiguration configuration) { _trackedControllerIndices = new Dictionary <uint, string>(); _trackedControllerIdentifiers = new Dictionary <uint, string>(); _requiredControllers = configuration.ControllerTypes; _applicationType = applicationType; _propertiesToTrack = configuration.PropertiesToTrack; }
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(); } } }