public int GetCustomerAge(string guid) { using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { guid = (guid == null) ? "" : guid.Trim(); if (guid.Length > 0) { VRTicket vrTicket = m.VRTickets.Where(x => x.GUID == guid).FirstOrDefault(); if (vrTicket != null && vrTicket.WaiverLog != null) { if (vrTicket.WaiverLog.DOB != DateTime.MinValue) { double daySinceBirty = DateTime.Now.Subtract(vrTicket.WaiverLog.DOB).TotalDays; int age = (int)Math.Floor(daySinceBirty / 365D); return(age); } } } return(0); } }
private void DeleteKey(ConnectionInfo connectionInfo, List <KeyInfo> listKeyInfo) { using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { foreach (KeyInfo keyInfo in listKeyInfo) { VRTicket vrTicket = m.VRTickets.Where(x => x.GUID == keyInfo.Key).FirstOrDefault(); vrTicket.IsDeleted = true; vrTicket.TimeStampDelete = DateTime.Now; } m.SaveChanges(); //m.Cache.Release(m.VRTickets); } GetKey(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); } } } } }
public void ProcessBarcode(string ipAdd, string barcode) { try { logger.Debug("BARCODE IN " + barcode); logger.Debug("From dashboard: " + ipAdd); InternalClientStatus iClientStatus = _internalClientStatus.Where(x => x.DashboardModuleIP == ipAdd).FirstOrDefault(); Ascii85 a85 = new Ascii85(); //Guid guid = new Guid(Convert.FromBase64String(barcode.BarcodeReadout + "==")); Guid guid = new Guid(a85.Decode(barcode)); logger.Debug(guid.ToString()); if (iClientStatus != null && guid != null && guid != Guid.Empty) { logger.Debug("P1"); using (VRArcadeDataAccessModel m = new VRArcadeDataAccessModel()) { VRTicket vrt = m.VRTickets.Where(x => x.GUID == guid.ToString() && !x.IsDeleted).FirstOrDefault(); if (vrt != null && vrt.VRTicketType != null) { logger.Debug("P2"); List <ClientParm> clientParm = new List <ClientParm>(); IPAddress ipa = null; if (!IPAddress.TryParse(ipAdd, out ipa)) { ipa = IPAddress.Parse("0.0.0.0"); } OperationInfo opInfo = new OperationInfo() { ConnectionInfo = new ConnectionInfo(new IPEndPoint(ipa, 0)), TicketGUID = vrt.GUID, SourceType = VRGameSelectorServerDTO.Enums.SourceType.LCD_BARCODE_MODULE, ClientID = iClientStatus.ClientID }; if (vrt.VRTicketType.Type == "TICKET" && iClientStatus.ClientStatus == VRGameSelectorServerDTO.Enums.LiveClientStatus.CLEANING_DONE) { if (Math.Abs(DateTime.Now.Subtract(vrt.TimeStampCreate).TotalMinutes) <= 60) { logger.Debug("P3"); VRClient vrc = m.VRClients.Where(x => x.ID == iClientStatus.ClientID).FirstOrDefault(); if (vrt.Minutes == 0) { // non-timing clientParm.Add(new ClientParm(iClientStatus.ClientID)); SendStartNow(clientParm, opInfo); logger.Debug("NON-TIMING"); } else { // timing Dictionary <string, string> dict = new Dictionary <string, string>() { { "Duration", vrt.Minutes.ToString() } }; clientParm.Add(new ClientParm(iClientStatus.ClientID, dict)); SendStartTiming(clientParm, opInfo); logger.Debug("TIMING:" + vrt.Minutes.ToString()); } vrt.IsDeleted = true; vrt.TimeStampDelete = DateTime.Now; vrt.VRClientID = (vrc != null) ? (int?)vrc.ID : null; m.SaveChanges(); } else { logger.Debug("P4"); } } else if (vrt.VRTicketType.Type == "KEY-START-NON-TIMING") { clientParm.Add(new ClientParm(iClientStatus.ClientID)); SendStartNow(clientParm, opInfo); } else if (vrt.VRTicketType.Type == "KEY-START-TIMING") { Dictionary <string, string> dict = new Dictionary <string, string>() { { "Duration", vrt.Minutes.ToString() } }; clientParm.Add(new ClientParm(iClientStatus.ClientID, dict)); SendStartTiming(clientParm, opInfo); } else if (vrt.VRTicketType.Type == "KEY-END-GAME") { Dictionary <string, string> dict = new Dictionary <string, string>() { { "EndMode", "Manual" } }; clientParm.Add(new ClientParm(iClientStatus.ClientID, dict)); SendEndNow(clientParm, opInfo); } else if (vrt.VRTicketType.Type == "KEY-REBOOT") { clientParm.Add(new ClientParm(iClientStatus.ClientID)); SendReboot(clientParm, opInfo); } else if (vrt.VRTicketType.Type == "KEY-TURNOFF") { clientParm.Add(new ClientParm(iClientStatus.ClientID)); SendTurnOff(clientParm, opInfo); } else if (vrt.VRTicketType.Type == "KEY-KMU-ON") { clientParm.Add(new ClientParm(iClientStatus.ClientID)); SendTurnOnKMU(clientParm, opInfo); } else if (vrt.VRTicketType.Type == "KEY-KMU-OFF") { clientParm.Add(new ClientParm(iClientStatus.ClientID)); SendTurnOffKMU(clientParm, opInfo); } } } } } catch (Exception ex) { logger.Debug("Barcode Decoding Error: " + ex.Message); } }