Ejemplo n.º 1
0
        /// <summary>
        /// Save these below parameters to DB
        /// </summary>
        /// <param name="snmpPrinterStateModel"></param>
        void saveToDB(SNMPPrinterStateModel snmpPrinterStateModel)
        {
            if (snmpPrinterStateModel != null)
            {
#if DEBUG
                Console.WriteLine("serialNumber=" + snmpPrinterStateModel.SerialNumber);
                Console.WriteLine("alertMessage=" + snmpPrinterStateModel.AlertMessage);
                Console.WriteLine("contactInfo=" + snmpPrinterStateModel.ContactInfo);
                Console.WriteLine("locationInfo=" + snmpPrinterStateModel.LocationInfo);
                Console.WriteLine("ipAddress=" + snmpPrinterStateModel.IPAddress);
                Console.WriteLine("PageCount=" + snmpPrinterStateModel.PageCount.ToString());
                Console.WriteLine("Uptime=" + snmpPrinterStateModel.Uptime);
                Console.WriteLine("DisplayMessage=" + snmpPrinterStateModel.DisplayMessage);
                Console.WriteLine("Model=" + snmpPrinterStateModel.Model);
#endif
                POServiceClient proxy = new POServiceClient("NetTCPBinding_IPOService");
#if DEBUG
                Console.WriteLine("After");
#endif
                POServiceRef.SNMPPrinterStateModel snmpPrinterState = new POServiceRef.SNMPPrinterStateModel();
                Mapper.CreateMap <SNMPPrinterStateModel, POServiceRef.SNMPPrinterStateModel>();
                Mapper.Map(snmpPrinterStateModel, snmpPrinterState);

                proxy.Open();


#if DEBUG
                if (proxy.SetState(snmpPrinterState))
                {
                    Console.WriteLine("***** Set state is Successed! *************");
                    Console.WriteLine("Success!");
                }
                else
                {
                    Console.WriteLine(" ******  Set state is Failed! ***************");
                    Console.WriteLine("Failed");
                }
#else
                proxy.SetState(snmpPrinterState);
#endif
                proxy.Close();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Установка состояния принтера
        /// </summary>
        /// <param name="ipAddress"></param>
        public void SetStates(VersionCode version, string ipAddress, OctetString community, int timeout)
        {
            IPEndPoint            IpEndPoint       = new IPEndPoint(IPAddress.Parse(ipAddress), 161);
            SNMPPrinterStateModel snmpPrinterState = SNMPGet(version, IpEndPoint, community, timeout);

            if (snmpPrinterState != null)
            {
                snmpPrinterState.IPAddress    = ipAddress;
                snmpPrinterState.AlertMessage = SNMPAlertMessage(version, IpEndPoint, community, timeout);
                // Record date to DB
                saveToDB(snmpPrinterState);
            }

            SNMPPrinterColorStateModel snmpPrinterColorState = SNMPGetColor(version, IpEndPoint, community, timeout);

            if (snmpPrinterColorState != null)
            {
                snmpPrinterColorState.SerialNumber = snmpPrinterState.SerialNumber ?? "";
                saveToDBforColor(snmpPrinterColorState);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Get SNMP Printer Satate
        /// </summary>
        /// <param name="ipAddress">IPAddress of host</param>
        /// <returns>SNMPPrinterStateModel</returns>
        SNMPPrinterStateModel SNMPGet(VersionCode version, IPEndPoint ipEndPoint, OctetString community, int timeout)
        {
            /*string SerialNumber = "";
             * string DisplayMessage = "";
             * string AlertMessage = "";
             * string ContactInfo = "";
             * string LocationInfo = "";
             * string Model = "";
             *
             * int PageCount = 0;
             * string Uptime = "";*/

            SNMPPrinterStateModel snmpPrinterStateModel = new SNMPPrinterStateModel();

            List <Variable> variable = new List <Variable>();

            variable.Add(new Variable(new ObjectIdentifier("1.3.6.1.4.1.641.2.1.2.1.6.1")));  // SerialNumber for Lexmark
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.43.5.1.1.17.1")));   // SerialNumber for Xerox
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.43.16.5.1.2.1.1"))); //DisplayMessage
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.43.16.5.1.2.1.2"))); //DisplayMessage2
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.43.10.2.1.4.1.1"))); //PageCount
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.1.3.0")));           //Uptime
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.1.4.0")));           //ContactInfo
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.1.6.0")));           //LocationInfo
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.4.1.641.2.1.2.1.2.1"))); // Model for Lexmark
            variable.Add(new Variable(new ObjectIdentifier(".1.3.6.1.2.1.25.3.2.1.3.1")));    //Model for Xerox

            try
            {
                var result = Messenger.Get(version,
                                           ipEndPoint,
                                           community,
                                           variable,
                                           timeout);
                if (result != null)
                {
                    if (result[0].Data.ToString() != "NoSuchObject")
                    {
#if DEBUG
                        Console.WriteLine("SerialNumber=" + result[0].Data.ToString());
#endif
                        snmpPrinterStateModel.SerialNumber = result[0].Data.ToString();
                    }
                    else
                    {
#if DEBUG
                        Console.WriteLine("SerialNumber=" + UTFtoASCII(result[1].Data));
#endif
                        snmpPrinterStateModel.SerialNumber = result[1].Data.ToString();
                    }
                    if (result[8].Data.ToString() != "NoSuchObject")
                    {
#if DEBUG
                        Console.WriteLine("Model=" + result[8].Data.ToString());
#endif
                        snmpPrinterStateModel.Model = result[8].Data.ToString();
                    }
                    else
                    {
#if DEBUG
                        Console.WriteLine("Model=" + UTFtoASCII(result[9].Data));
#endif
                        snmpPrinterStateModel.Model = result[9].Data.ToString();
                    }
                    snmpPrinterStateModel.ContactInfo  = UTFtoASCII(result[6].Data);
                    snmpPrinterStateModel.LocationInfo = UTFtoASCII(result[7].Data);
#if DEBUG
                    Console.WriteLine("PageCount=" + result[4].Data.ToString());
#endif
                    snmpPrinterStateModel.PageCount = Convert.ToInt32(result[4].Data.ToString());
#if DEBUG
                    Console.WriteLine("Uptime=" + result[5].Data.ToString());
#endif
                    snmpPrinterStateModel.Uptime = result[5].Data.ToString();
#if DEBUG
                    Console.WriteLine("DisplayMessage=" + UTFtoASCII(result[2].Data));
#endif
                    snmpPrinterStateModel.DisplayMessage = UTFtoASCII(result[2].Data);
#if DEBUG
                    Console.WriteLine("Begin DisplayMessage2");
                    Console.WriteLine("DisplayMessage2=" + UTFtoASCII(result[3].Data));
#endif
                    snmpPrinterStateModel.DisplayMessage += " " + UTFtoASCII(result[3].Data);
                }
            }
            catch
            {
#if DEBUG
                Console.WriteLine("EEEEEEERRRRRRRROOOOOOOOORRRRRRRRR!!!");
#endif
            }
            return(snmpPrinterStateModel);
        }