Ejemplo n.º 1
0
        private HttpResponseMessage Operation(String SessionID)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            ReturnLogInformation   InformationResult = TTCSLog.GetLogList();
            List <InformationLogs> InformationList   = (List <InformationLogs>)InformationResult.ReturnValue;
            XmlSerializer          xmlSerializer     = new XmlSerializer(typeof(InformationLogs[]));

            if (InformationList != null && InformationList.Count > 0)
            {
                using (var xs = xNav.AppendChild()) { xmlSerializer.Serialize(xs, InformationList.ToArray()); }
                return(new HttpResponseMessage()
                {
                    Content = new StringContent(myXml.OuterXml, Encoding.UTF8, "text/xml")
                });
            }
            else if (InformationList.Count == 0)
            {
                return(HostingHelper.ReturnError("There is no log information update. Please try again later.", myXml, xNav));
            }
            else
            {
                return(HostingHelper.ReturnError(InformationResult.ReturnMessage, myXml, xNav));
            }
        }
Ejemplo n.º 2
0
        private HttpResponseMessage GetByDeviceName(String StationName, String DeviceCategory, String SessionID)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            if (UserSessionHandler.VerifyTimeout(SessionID))
            {
                STATIONNAME ThisStation = HostingHelper.ConvertStationNameStrToSTATIONNAME(StationName);

                DeviceCategory.Replace("WEATHER", "WEATHERSTATION");

                var            TempDeviceName     = DeviceCategory.Split('_');
                DEVICECATEGORY ThisDeviceCategory = HostingHelper.ConvertDevicecCategoryStrToDEVICECATEGORY(DeviceCategory);

                if (TempDeviceName.Length > 1)
                {
                    ThisDeviceCategory = HostingHelper.ConvertDevicecCategoryStrToDEVICECATEGORY(TempDeviceName[1]);
                }

                if (ThisStation == STATIONNAME.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid station name. Please check.", myXml, xNav));
                }

                if (ThisDeviceCategory == DEVICECATEGORY.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid device name. Please check.", myXml, xNav));
                }

                List <OUTPUTSTRUCT> InformationResult = AstroData.GetInformation(ThisStation, ThisDeviceCategory);
                if (InformationResult != null)
                {
                    JavaScriptSerializer Serializer = new JavaScriptSerializer();
                    Serializer.MaxJsonLength = Int32.MaxValue;
                    var json = Serializer.Serialize(InformationResult);
                    return(new HttpResponseMessage()
                    {
                        Content = new StringContent(json, Encoding.UTF8, "application/json")
                    });
                }
                else
                {
                    return(HostingHelper.ReturnError("An error occur while getting information", myXml, xNav));
                }
            }
            else
            {
                return(HostingHelper.ReturnError("Session is timeout. Please login to the system.", myXml, xNav));
            }
        }
Ejemplo n.º 3
0
        private HttpResponseMessage GetByCommandName(String StationName, String DeviceName, String FieldName, String SessionID)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            if (UserSessionHandler.VerifyTimeout(SessionID))
            {
                STATIONNAME ThisStation = HostingHelper.ConvertStationNameStrToSTATIONNAME(StationName);

                DEVICENAME ThisDevice    = HostingHelper.ConvertDevicecNameStrToDEVICENAME(DeviceName);
                dynamic    ThisFieldName = HostingHelper.ConvertFieldNameStrToFIELDNAME(FieldName);

                if (ThisStation == STATIONNAME.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid station name. Please check.", myXml, xNav));
                }

                if (ThisDevice == DEVICENAME.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid device name. Please check.", myXml, xNav));
                }

                if (ThisFieldName == null)
                {
                    return(HostingHelper.ReturnError("Invalid field name. Please check.", myXml, xNav));
                }

                OUTPUTSTRUCT InformationResult = AstroData.GetInformation(ThisStation, ThisDevice, FieldName);
                if (InformationResult != null)
                {
                    JavaScriptSerializer Serializer = new JavaScriptSerializer();
                    Serializer.MaxJsonLength = Int32.MaxValue;
                    var json = Serializer.Serialize(InformationResult);
                    return(new HttpResponseMessage()
                    {
                        Content = new StringContent(json, Encoding.UTF8, "application/json")
                    });
                }
                else
                {
                    return(HostingHelper.ReturnError("An error occur while getting information", myXml, xNav));
                }
            }
            else
            {
                return(HostingHelper.ReturnError("Session is timeout. Please login to the system.", myXml, xNav));
            }
        }
Ejemplo n.º 4
0
        private HttpResponseMessage GetSetCommandStructure(String StationNameStr, String DeviceCategoryStr, String SessionID)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            if (UserSessionHandler.VerifyTimeout(SessionID))
            {
                STATIONNAME ThisStation = HostingHelper.ConvertStationNameStrToSTATIONNAME(StationNameStr);

                var TempDeviceName = DeviceCategoryStr.Split('_');

                DEVICECATEGORY ThisDeviceCategory = HostingHelper.ConvertDevicecCategoryStrToDEVICECATEGORY(DeviceCategoryStr);
                if (TempDeviceName.Length > 1)
                {
                    ThisDeviceCategory = HostingHelper.ConvertDevicecCategoryStrToDEVICECATEGORY(TempDeviceName[1]);
                    Console.WriteLine(ThisDeviceCategory);
                }

                if (ThisStation == STATIONNAME.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid station name. Please check.", myXml, xNav));
                }

                if (ThisDeviceCategory == DEVICECATEGORY.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid device name. Please check.", myXml, xNav));
                }

                TTCSCommandDisplay[] ListOfDisplayCommand = CommandDefinition.GetListCommandName(ThisStation, ThisDeviceCategory).ToArray();
                if (ListOfDisplayCommand != null)
                {
                    var json = new JavaScriptSerializer().Serialize(ListOfDisplayCommand);
                    return(new HttpResponseMessage()
                    {
                        Content = new StringContent(json, Encoding.UTF8, "application/json")
                    });
                }
                else
                {
                    return(HostingHelper.ReturnError("There are no set command avaliable on this stationName and DeviceName.", myXml, xNav));
                }
            }
            else
            {
                return(HostingHelper.ReturnError("Session is timeout. Please login to the system.", myXml, xNav));
            }
        }
Ejemplo n.º 5
0
        private HttpResponseMessage Operation(String StationName, String DeviceName, String CommandName, String Value, String SessionID)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            if (UserSessionHandler.VerifyTimeout(SessionID))
            {
                STATIONNAME    ThisStation        = HostingHelper.ConvertStationNameStrToSTATIONNAME(StationName);
                DEVICENAME     ThisDeviceName     = HostingHelper.ConvertDevicecNameStrToDEVICENAME(DeviceName);
                DEVICECATEGORY ThisDeviceCategory = HostingHelper.ConvertDeviceNameToDeviceCategory(ThisStation, ThisDeviceName);

                if (ThisStation == STATIONNAME.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid station name. Please check.", myXml, xNav));
                }

                if (ThisDeviceName == DEVICENAME.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid device name. Please check.", myXml, xNav));
                }

                ReturnKnowType VerificationResult = CommandDefinition.VerifyCommand(ThisStation, ThisDeviceCategory, CommandName, HostingHelper.SplitValue(Value));

                if (VerificationResult.ReturnType == ReturnStatus.SUCESSFUL)
                {
                    dynamic       ThisCommandName = CommandDefinition.GetCommandNameENUM(CommandName);
                    XmlSerializer xmlSerializer2  = new XmlSerializer(typeof(ReturnMessage));

                    ReturnKnowType CommandResult = AstroData.SetCommandHandler(ThisStation, ThisDeviceCategory, ThisDeviceName, ThisCommandName.Value, CommandDefinition.ValueConvertion(HostingHelper.SplitValue(Value)), DateTime.UtcNow);

                    XmlSerializer xmlSerializer3 = new XmlSerializer(typeof(ReturnKnowType));
                    using (var xs = xNav.AppendChild()) { xmlSerializer3.Serialize(xs, CommandResult); }
                    return(new HttpResponseMessage()
                    {
                        Content = new StringContent(myXml.OuterXml, Encoding.UTF8, "text/xml")
                    });
                }

                return(HostingHelper.ReturnError(VerificationResult.ReturnMessage, myXml, xNav));
            }
            else
            {
                return(HostingHelper.ReturnError("Session is timeout. Please login to the system.", myXml, xNav));
            }
        }
Ejemplo n.º 6
0
        private HttpResponseMessage GetSetCommandStructure(String StationNameStr, String TargetIDStr, String SessionID)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            if (UserSessionHandler.VerifyTimeout(SessionID))
            {
                STATIONNAME ThisStation = HostingHelper.ConvertStationNameStrToSTATIONNAME(StationNameStr);

                if (ThisStation == STATIONNAME.NULL)
                {
                    return(HostingHelper.ReturnError("Invalid station name. Please check.", myXml, xNav));
                }

                if (DBScheduleEngine.IsFoundScheduleByTargetID(StationNameStr, TargetIDStr))
                {
                    StationHandler StationHandle = AstroData.GetStationObject(ThisStation);
                    StationHandle.CancelScript(TargetIDStr);

                    return(HostingHelper.ReturnSuccess(ThisStation, "OK", myXml, xNav));
                }
                else
                {
                    return(HostingHelper.ReturnError("There are no TargetID in Database.", myXml, xNav));
                }

                /*
                 * TTCSCommandDisplay[] ListOfDisplayCommand = CommandDefinition.GetListCommandName(ThisStation, ThisDeviceCategory).ToArray();
                 * if (ListOfDisplayCommand != null)
                 * {
                 *  var json = new JavaScriptSerializer().Serialize(ListOfDisplayCommand);
                 *  return new HttpResponseMessage() { Content = new StringContent(json, Encoding.UTF8, "application/json") };
                 * }
                 * else
                 *  return HostingHelper.ReturnError("There are no set command avaliable on this stationName and DeviceName.", myXml, xNav);
                 */
            }
            else
            {
                return(HostingHelper.ReturnError("Session is timeout. Please login to the system.", myXml, xNav));
            }
        }
Ejemplo n.º 7
0
        private HttpResponseMessage RelayCommand(String Ra, String Dec, String FOV, String SessionID)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            if (UserSessionHandler.VerifyTimeout(SessionID))
            {
                ReturnKnowType CommandResult = AstroData.GRBHandler(Ra, Dec, FOV, DateTime.UtcNow);

                XmlSerializer xmlSerializer3 = new XmlSerializer(typeof(ReturnKnowType));
                using (var xs = xNav.AppendChild()) { xmlSerializer3.Serialize(xs, CommandResult); }
                return(new HttpResponseMessage()
                {
                    Content = new StringContent(myXml.OuterXml, Encoding.UTF8, "text/xml")
                });
            }
            else
            {
                return(HostingHelper.ReturnError("Session is timeout. Please login to the system.", myXml, xNav));
            }
        }
Ejemplo n.º 8
0
        private HttpResponseMessage Operation(String UserName, String Password, int SessionTimeout)
        {
            XmlDocument    myXml = new XmlDocument();
            XPathNavigator xNav  = myXml.CreateNavigator();

            ReturnKnowType ThisUser      = UserSessionHandler.UserVerification(UserName, Password, SessionTimeout);
            XmlSerializer  xmlSerializer = new XmlSerializer(typeof(SessionStructure));

            if (ThisUser.ReturnType == ReturnStatus.SUCESSFUL)
            {
                using (var xs = xNav.AppendChild()) { xmlSerializer.Serialize(xs, ThisUser.ReturnValue); }
                return(new HttpResponseMessage()
                {
                    Content = new StringContent(myXml.OuterXml, Encoding.UTF8, "text/xml")
                });
            }
            else
            {
                return(HostingHelper.ReturnError(ThisUser.ReturnMessage, myXml, xNav));
            }
        }