public override void OnActionExecuting(HttpActionContext actionExecutedContext)
        {
            IEnumerable <string> headerValues = actionExecutedContext.Request.Headers.GetValues("Autherize");
            string token = headerValues.FirstOrDefault();

            //Parameters
            string baseUrl = ConfigurationManager.AppSettings["authenticationBaseUrl"];
            string postUrl = ConfigurationManager.AppSettings["authenticationPostUrl"];

            RemoteServiceCall remoteCall = new RemoteServiceCall();
            dynamic           result     = remoteCall.restApiCall(baseUrl, postUrl, RType.POST, new
            {
                uID   = "",
                key   = "",
                token = token,
            });
            string output = Convert.ToString(result);

            if (output == null || output == "")
            {
                actionExecutedContext.Response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
            }
            else
            {
            }
        }
Exemple #2
0
        /// <summary>
        /// Execute the service
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void runToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            try
            {
                // Re-register the client every time, incase it's kicked
                connection.Register();

                var ip   = queriedService.Ip;
                var port = queriedService.Port;

                try
                {
                    queriedService = connection.QueryService(serviceTag).Service;
                }
                catch (Exception)
                {
                    throw new Exception("Service is no longer registered");
                }

                var serviceConnection = new ServiceConnection(Program.Logger, teamName, ip, port, false, connection.TeamId);

                var call = new RemoteServiceCall(queriedService.Name, teamName, (int)connection.TeamId);

                int i = 1;
                foreach (DataGridViewRow row in argGrid.Rows)
                {
                    var argName      = row.Cells[0].Value.ToString();
                    var argDataType  = ServiceArgument.TypeFromString(row.Cells[1].Value.ToString());
                    var argMandatory = row.Cells[2].Value.ToString().Equals("true", StringComparison.CurrentCultureIgnoreCase);
                    var argValue     = row.Cells[3].Value.ToString();

                    // Are we mandatory or do we have a value?
                    if (argMandatory || !String.IsNullOrWhiteSpace(argValue))
                    {
                        if (String.IsNullOrWhiteSpace(argValue))
                        {
                            throw new FormatException("Please enter a value for: " + argName);
                        }

                        try
                        {
                            switch (argDataType)
                            {
                            case ServiceDataType.Tint:
                                int.Parse(argValue);
                                break;

                            case ServiceDataType.Tdouble:
                                double.Parse(argValue);
                                break;

                            case ServiceDataType.Tfloat:
                                float.Parse(argValue);
                                break;

                            case ServiceDataType.Tchar:
                                if (argValue.Length > 1)
                                {
                                    throw new FormatException("Char field must be 1 character");
                                }
                                break;

                            case ServiceDataType.Tshort:
                                short.Parse(argValue);
                                break;

                            case ServiceDataType.Tlong:
                                long.Parse(argValue);
                                break;

                            default:
                                break;
                            }
                        }
                        catch (Exception)
                        {
                            throw new FormatException("Please enter a proper value for: " + argName);
                        }
                    }

                    var arg = new ServiceArgument(i++, argName, argDataType, argMandatory);
                    arg.Value = argValue;
                    call.Args.Add(arg);
                }

                i = 1;
                foreach (DataGridViewRow row in respGrid.Rows)
                {
                    var respName     = row.Cells[0].Value.ToString();
                    var respDataType = ServiceArgument.TypeFromString(row.Cells[1].Value.ToString());
                    var respValue    = "";

                    var ret = new ServiceReturn(i++, respName, respDataType, respValue);
                    call.Returns.Add(ret);
                }

                var executeResponse = serviceConnection.ExecuteService(call);
                foreach (var ret in executeResponse.Returned.Returns)
                {
                    foreach (DataGridViewRow row in respGrid.Rows)
                    {
                        var respName = row.Cells[0].Value.ToString();
                        if (respName == ret.Name)
                        {
                            var respDataType = ServiceArgument.TypeFromString(row.Cells[1].Value.ToString());
                            row.Cells[2].Value = ret.Value;

                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error executing service, because: " + ex.Message);
            }
        }