Hi every one I am new to ASP.Net Web API and I want to Post JSON array data any get there response.
My JSON POST Array format is
{
    "User_Id":"admi12n@1234","Key_Code":"3F-47-AB-84-9F-EB-D6-6B-9C-62-CC-85-98-4D-28-6B",
    "ProductDetails": [
        {"Product_Id":"ELT-7035","Price":"999","Quantity":"5"},
        {"Product_Id":"ELT-1254","Price":"1024","Quantity":"3"}
    ]
}
And I want response as follows
{
    "User_Id":"admi12n@1234","Key_Code":"3F-47-AB-84-9F-EB-D6-6B-9C-62-CC-85-98-4D-28-6B",
    "OrderID":"Ord-021","Name":"Sabyasachi"
    "ProductDetails": [
        {"Product_Id":"ELT-7035","Price":"999","Quantity":"5"},
        {"Product_Id":"ELT-1254","Price":"1024","Quantity":"3"}
    ]
}
I generate OrderID as Random and Name from posted User_Id. Here I want to post multiple product in one order.
My Order class is as follows
public class Order
    {
        [Key]
        public long ID { get; set; }
        public string Order_Id { get; set; }
        public string Product_Id { get; set; }
        public long Quantity { get; set; }
        public long Amount { get; set; }
        public string User_Id { get; set; }
        public string Key_Code { get; set; }
        public DateTime Order_Date { get; set; }
        public DateTime Modified_Date { get; set; }
    }
And my Product class as follows
public class Product
    {
        [Key]
        public int Id { get; set; }
        public string Product_Code { get; set; }
        public string Product_Name { get; set; }
        public string Product_Category { get; set; }
        public string Product_Description { get; set; }
        public string Quantity { get; set; }
        public string Price { get; set; }
        public string Image { get; set; }
        public DateTime Created_Date { get; set; }
        public DateTime Modified_Date { get; set; }
    }
I am not able to ind the best way to post the order
public Order Add(Order odrerDetails) //This will not give array of data for products
{
    using (var context = new EcommerceDBContext())
    {            
        odrerDetails.Order_Id = Helper.Random(7); //Generate random orderID from my class
        odrerDetails.Created_Date = DateTime.Now;
        odrerDetails.Modified_Date = DateTime.Now;
        //How to Save other details
        context.objOrderListing.Add(odrerDetails);
        context.SaveChanges();
        return odrerDetails;
    }
}
In API controllers my code is as follows
public HttpResponseMessage PostOrder([FromBody] Order_Listing orderData)
{
    orderData = repository.Add(orderData);
    var response = Request.CreateResponse<Order_Listing>(HttpStatusCode.Created, orderData);
    string uri = Url.Link("DefaultApi", new { customerID = orderData.ID });
    response.Headers.Location = new Uri(uri);
    return response;
}
Please help me how to achieve this.