Exemple #1
0
        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);
            }
        }
Exemple #2
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);
        }
Exemple #3
0
        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);
            }
        }