OrdersController.cs 1.8 KB



using Common;
using DeviceLib.BLL;
using DeviceLib.Model.AGV;
using DeviceLib.WebApi.Schemas;
using System.Collections.Generic;
using System.Web.Http;

namespace DeviceLib.WebApi.Controllers
{
    [RoutePrefix("api/orders")]
    public class OrdersController : ApiController
    {

        [HttpGet]
        public IEnumerable<Order> Get()
        {
            return OrderManager.Load();
        }

        [Route("{name}")]
        [HttpGet]
        public Order Get(string name)
        {
            return OrderManager.GetOrder(name);
        }

        [HttpPost]
        public Result Post([FromBody] Order order)
        {
            Result result = new Result();
            bool rtn = OrderManager.CreateOrder(order, out string msg);
            if (!rtn)
            {
                result.code = -1;
                result.msg = $"Create order fail. {msg}";
            }
            result.data = JsonHelper.DeserializeJsonToObject<Dictionary<string, object>>(JsonHelper.SerializeObject(order));
            return result;
        }
        [Route("{id}")]
        [HttpDelete]
        public Result Delete(string id, bool force = false)
        {
            Result result = new Result();
            bool rtn = OrderManager.DeleteOrderById(id, out string msg, force);
            if (!rtn)
            {
                result.code = -1;
                result.msg = msg;
            }
            return result;
        }
        [Route("{typeId}")]
        [HttpDelete]
        public Result Delete(int typeId, bool force = false)
        {
            Result result = new Result();
            bool rtn = OrderManager.DeleteOrderByType(typeId, out string msg, force);
            if (!rtn)
            {
                result.code = -1;
                result.msg = msg;
            }
            return result;
        }
    }
}