Exemple #1
0
        public async Task <IHttpActionResult> Execute([FromODataUri] int key, ODataActionParameters parameters)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var arg1 = (string)parameters["Argument"];
            var arg2 = (string)parameters["Argument2"];

            try
            {
                using (var context = new ZvsContext(WebApi2Plugin.EntityContextConnection))
                {
                    var command = await context.Commands.FirstOrDefaultAsync(o => o.Id == key);

                    if (command == null)
                    {
                        return(NotFound());
                    }

                    var result = await WebApi2Plugin.RunCommandAsync(command.Id, arg1, arg2, CancellationToken.None);

                    if (result.HasError)
                    {
                        return(BadRequest(result.Message));
                    }

                    return(Ok(result.Message));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }