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); } }
private void AddTileConfig(ConnectionInfo connectionInfo, VRGameSelectorServerDTO.TileConfig tileConfig) { using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { VRTileconfig vtc = new VRTileconfig() { TileGUID = tileConfig.TileGUID, TileTitle = tileConfig.TileTitle, TileHeight = tileConfig.TileHeight, TileWidth = tileConfig.TileWidth, TileDesc = tileConfig.TileDesc, Command = tileConfig.Command, Arguments = tileConfig.Arguments, WorkingPath = tileConfig.WorkingPath, Order = tileConfig.Order, TileRowNumber = tileConfig.TileRowNumber, TileConfigSetID = tileConfig.TileConfigSetID, VRTileconfigID = tileConfig.TileconfigID, ImageData = tileConfig.TileImage.ImageData, AgeRequire = tileConfig.AgeRequire, VideoURL = tileConfig.VideoURL, IsDeleted = false }; m.Add(vtc); m.SaveChanges(); //m.Cache.Release(m.VRTileconfigs); } GetTileConfigList(connectionInfo, tileConfig.TileConfigSetID); }
private void ProcessPlayLog(ConnectionInfo connectionInfo, PlayLog playLog) { string ipAdd = ((IPEndPoint)connectionInfo.RemoteEndPoint).Address.MapToIPv4().ToString(); InternalClientStatus iClientStatus = _internalClientStatus.Where(x => x.ClientIP == ipAdd).FirstOrDefault(); if (iClientStatus != null) { int tileID = 0; int.TryParse(playLog.TileID, out tileID); using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { VRTileconfig vtc = m.VRTileconfigs.Where(x => x.ID == tileID && !x.IsDeleted).FirstOrDefault(); VRClienthistory vrh = new VRClienthistory(); vrh.VRClientID = iClientStatus.ClientID; if (tileID == -1) { vrh.TileConfigID = -1; } else { vrh.TileConfigID = (vtc != null) ? vtc.ID : 0; } if (playLog.SignalType == VRGameSelectorDTO.Enums.PlayLogSignalType.Start) { // start game if (tileID > 0) { string imagePath = (vtc.ImageData.Length > 0) ? vtc.ID.ToString() + ".bmp" : ""; // full path will be decided on client end VRGameSelectorDTO.ImageInfo ii = new VRGameSelectorDTO.ImageInfo(vtc.ImageData); VRGameSelectorDTO.Tile tileConfig = new Tile(vtc.TileHeight, vtc.TileWidth, vtc.TileRowNumber, vtc.ID.ToString(), vtc.TileTitle, imagePath, vtc.TileDesc, vtc.Command, vtc.Arguments, vtc.WorkingPath, ii, vtc.AgeRequire, vtc.VideoURL); iClientStatus.ClientRunningModeSetup.TileConfig = tileConfig; } iClientStatus.ClientRunningModeSetup.CurrentRunningTileID = tileID; vrh.StartTime = DateTime.Now; } else { // end game iClientStatus.ClientRunningModeSetup.CurrentRunningTileID = 0; iClientStatus.ClientRunningModeSetup.TileConfig = null; vrh.EndTime = DateTime.Now; } m.Add(vrh); m.SaveChanges(); //m.Cache.Release(m.VRClienthistories); } } }
private void AddConfigSetList(ConnectionInfo connectionInfo, ConfigSet configSet) { using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { VRTileconfigset vcs = new VRTileconfigset() { Name = configSet.Name, IsDeleted = false }; m.Add(vcs); m.SaveChanges(); //m.Cache.Release(m.VRTileconfigsets); } GetConfigSetList(connectionInfo); }
private void CreateManageLog(VRGameSelectorServerDTO.Enums.SourceType sourceType, VRGameSelectorServerDTO.Enums.OperationType operationType, string sourceIdentity, int?clientID, int?tileID, string ticketGUID, string additionalInfo) { using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { VRManageLog vrManLog = new VRManageLog() { Source = sourceType.ToString(), SourceIdentity = sourceIdentity, Operation = operationType.ToString(), AdditonalInfo = additionalInfo, VRClientID = clientID, VRTileconfigID = tileID, VRTicketGUID = ticketGUID, TimeStamp = DateTime.Now }; m.Add(vrManLog); m.SaveChanges(); } }
private void AddClientConfig(ConnectionInfo connectionInfo, Client client) { using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { VRClient vrc = new VRClient() { IPAddress = client.IPAddress, DashboardModuleIP = client.DashboardModuleIP, TileConfigSetID = client.TileConfigSetID, Tileconfigset = null, MachineName = "", VRClienthistories = null, IsDeleted = false }; m.Add(vrc); m.SaveChanges(); //m.Cache.Release(m.VRClients); } //BuildInternalClientStatus(); GetConfiguredClientList(connectionInfo); }
private void GenerateBarcode(ConnectionInfo connectionInfo, BarcodeInfo barcodeInfo) { using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { if (barcodeInfo.BarcodeItems.Count > 0) { foreach (BarcodeItem bi in barcodeInfo.BarcodeItems) { VRTicketType vrTT = null; string ticketType = ""; Guid guid = Utility.CreateGuid(); bi.DateStampCreate = DateTime.Now; if (bi.IsPrintingTicket) { ticketType = "TICKET"; } else if (bi.IsPrintingKey) { ticketType = bi.KeyName; } vrTT = m.VRTicketTypes.Where(x => x.Type == ticketType).FirstOrDefault(); VRTicket vrt = new VRTicket() { GUID = guid.ToString(), Minutes = bi.Minutes, TimeStampCreate = bi.DateStampCreate, VRTicketTypeID = (vrTT != null) ? (int?)vrTT.ID : null, WaiverLogID = bi.WaiverLogID }; //string t = Convert.ToBase64String(guid.ToByteArray()).Replace("=", ""); //byte[] b = Convert.FromBase64String(t + "=="); //var g = new Guid(b); m.Add(vrt); bi.GUID = guid; } m.SaveChanges(); //m.Cache.Release(m.VRTickets); VRCommandServer vcs = new VRCommandServer(VRGameSelectorServerDTO.Enums.ControlMessage.GENERATE_BARCODE, barcodeInfo); if (connectionInfo != null) { SendCommandToPeer(connectionInfo, vcs); } else { foreach (ConnectionInfo managingSysConn in _targetManagingSystemConnection) { SendCommandToPeer(managingSysConn, vcs); } } } } }
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(); } } }