using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.Http; using Yavsc.Model.WorkFlow; using System.Collections.Specialized; using Yavsc.Model.FrontOffice; namespace Yavsc.ApiControllers { /// /// Basket controller. /// Maintains a collection of articles /// qualified with name value pairs /// public class BasketController : ApiController { /// /// Gets the current basket, creates a new one, if it doesn't exist. /// /// The current basket. protected CommandSet CurrentBasket { get { CommandSet b = WorkFlowManager.GetCommands ( Membership.GetUser ().UserName); if (b == null) b = new CommandSet (); return b; } } /// /// Create the specified basket item using specified command parameters. /// /// Command parameters. [Authorize] public long Create(NameValueCollection cmdParams) { // HttpContext.Current.Request.Files Command cmd = new Command(cmdParams, HttpContext.Current.Request.Files); CurrentBasket.Add (cmd); return cmd.Id; } /// /// Read the specified basket item. /// /// Itemid. [Authorize] Command Read(long itemid){ return CurrentBasket[itemid]; } /// /// Update the specified item parameter using the specified value. /// /// Item identifier. /// Parameter name. /// Value. [Authorize] public void UpdateParam(long itemid, string param, string value) { CurrentBasket [itemid].Parameters [param] = value; } /// /// Delete the specified item. /// /// Item identifier. [Authorize] public void Delete(long itemid) { CurrentBasket.Remove (itemid); } } }