public IHttpActionResult AddProduct(AddProductViewModel p)
        {
            using (MobileStoreServiceEntities data = new MobileStoreServiceEntities())
            {
                PRODUCT pro = new PRODUCT();
                pro.MODEL          = p.Name;
                pro.MANUFACTURE_ID = (int)getIdMan(p.NSX, data);
                pro.PRICE          = p.Price;
                pro.QUANTITY       = 100;
                pro.MODEL_ID       = "MSP_01";
                pro.DELETED        = 0;

                data.PRODUCTs.Add(pro);
                data.SaveChanges();

                PRODUCT_CATEGORY pc     = new PRODUCT_CATEGORY();
                PRODUCT          newPro = data.PRODUCTs.ToList()[data.PRODUCTs.Count() - 1];
                pc.PRODUCT_ID  = newPro.PRODUCT_ID;
                pc.CATEGORY_ID = getIdCat(p.Category, data);

                data.PRODUCT_CATEGORY.Add(pc);
                data.SaveChanges();
            }

            return(Ok());
        }
        public IHttpActionResult Submit(SubmitOrderModel data)
        {
            MobileStoreServiceEntities db = new MobileStoreServiceEntities();

            try
            {
                ORDER order = new ORDER();

                order.NAME       = data.user_info.name;
                order.ADDRESS    = data.user_info.address;
                order.PHONE      = data.user_info.phone;
                order.USERNAME   = data.user_info.username;
                order.ORDER_DATE = DateTime.Now;
                order.PAID       = 0;
                order.DELETED    = 0;
                db.ORDERS.Add(order);
                db.SaveChanges();

                if (CreateOrder(order, data) == false)
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
                }
            }
            catch (Exception e)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
            return(Ok());
        }
 public HttpResponseMessage EditCategory(EditCategoryModel model)
 {
     using (MobileStoreServiceEntities data = new MobileStoreServiceEntities())
     {
         CATEGORY c = data.CATEGORies.FirstOrDefault(cat => cat.CATEGORY_ID == model.ID);
         c.CATEGORY_NAME = model.Name;
         data.SaveChanges();
     }
     return(CreateResponse(HttpStatusCode.OK));
 }
 public HttpResponseMessage Paid(int id)
 {
     using (MobileStoreServiceEntities db = new MobileStoreServiceEntities())
     {
         ORDER o = db.ORDERS.FirstOrDefault(or => or.ORDER_ID == id);
         o.PAID = 1;
         db.SaveChanges();
     }
     return(CreateResponse(HttpStatusCode.OK));
 }
        public IHttpActionResult Remove(int id)
        {
            using (MobileStoreServiceEntities data = new MobileStoreServiceEntities())
            {
                PRODUCT pro = data.PRODUCTs.FirstOrDefault(p => p.PRODUCT_ID == id);
                pro.DELETED = 1;
                data.SaveChanges();
            }

            return(Ok());
        }
        public HttpResponseMessage UploadImg(UploadImgModel model)
        {
            using (MobileStoreServiceEntities data = new MobileStoreServiceEntities())
            {
                PRODUCT kq = data.PRODUCTs.FirstOrDefault(p => p.PRODUCT_ID == model.ID);
                kq.PRODUCT_IMG = model.Link;

                data.SaveChanges();
            }

            return(CreateResponse(HttpStatusCode.OK));
        }
        public HttpResponseMessage AddCategory(string name)
        {
            using (MobileStoreServiceEntities data = new MobileStoreServiceEntities())
            {
                CATEGORY c = new CATEGORY();
                c.CATEGORY_NAME = name;
                c.HOME_PAGE     = 1;
                data.CATEGORies.Add(c);

                data.SaveChanges();
            }
            return(CreateResponse(HttpStatusCode.OK));
        }
        public IHttpActionResult EditProduct(int id, string name, string cat, string man, double price)
        {
            using (MobileStoreServiceEntities data = new MobileStoreServiceEntities())
            {
                PRODUCT pro = data.PRODUCTs.FirstOrDefault(p => p.PRODUCT_ID == id);
                pro.MODEL          = name;
                pro.MANUFACTURE_ID = (int)getIdMan(man, data);
                pro.PRICE          = price;
                int idCat            = getIdCat(cat, data);
                PRODUCT_CATEGORY pcd = data.PRODUCT_CATEGORY.FirstOrDefault(pcds => pcds.PRODUCT_ID == id);
                data.PRODUCT_CATEGORY.Remove(pcd);
                PRODUCT_CATEGORY pc = new PRODUCT_CATEGORY();
                pc.PRODUCT_ID  = id;
                pc.CATEGORY_ID = idCat;
                data.PRODUCT_CATEGORY.Add(pc);

                data.SaveChanges();
            }

            return(Ok());
        }
        private bool CreateOrder(ORDER order, SubmitOrderModel data)
        {
            MobileStoreServiceEntities db = new MobileStoreServiceEntities();
            double orderTotal             = 0;

            try
            {
                // Iterate over the items in the cart,
                // adding the order details for each
                foreach (var item in data.order_info)
                {
                    PRODUCT product = db.PRODUCTs.First(x => x.PRODUCT_ID == item.product_id);
                    product.QUANTITY -= item.quantity;
                    var orderDetail = new ORDER_DETAILS
                    {
                        PRODUCT_ID = item.product_id,
                        ORDER_ID   = order.ORDER_ID,
                        UNIT_PRICE = item.unit_price,
                        QUANTITY   = item.quantity
                    };
                    // Set the order total of the shopping cart
                    orderTotal += (item.quantity * item.unit_price);

                    db.ORDER_DETAILS.Add(orderDetail);
                }
                // Set the order's total to the orderTotal count
                ORDER nOrder = db.ORDERS.First(o => o.ORDER_ID == order.ORDER_ID);
                nOrder.TOTAL = orderTotal;

                // Save the order
                db.SaveChanges();
            }
            catch
            {
                return(false);
            }
            // Return the OrderId as the confirmation number
            return(true);
        }