public ActionResult GetDetailCart(Guid id)
 {
     if (id != null)
     {
         string      CodeUserLogin            = Session["CodeUserLogin"] as string;
         CARD_CLIENT clientCard               = CARD_CLIENT.ParseFromDataTable <CARD_CLIENT>(cls_2018_CLIENT.m2018_GetoneClient(CodeUserLogin));
         List <Sonetwsv.MAT_HANG> productMap  = Sonetwsv.MAT_HANG.ParseListFromDataTable <Sonetwsv.MAT_HANG>(cls_2018_GOODS.m2018_FilterGoods(""));
         ORDER_CLIENT             orderClient = ORDER_CLIENT.ParseFromDataTable <ORDER_CLIENT>(cls_2018_ORDERS.m2018_GetoneOrders(id));
         List <ORDER_GOODS>       orderGoods  = ORDER_GOODS.ParseListFromDataTable <ORDER_GOODS>(cls_2018_ORDERS.m2018_GetsallGoods(id));
         return(Json(new { success = true, result = orderClient, orderGoods = orderGoods, productMap = productMap, CLIENT_INFO = clientCard }, JsonRequestBehavior.AllowGet));
     }
     return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
 }
        //Methodology

        /// <summary>
        /// Them don hang moi
        /// </summary>
        /// Tra ve: Don hang duoc them
        public static bool m2018_InsertNewOrder(ORDER_CLIENT item, ORDER_GOODS[] lstGood)
        {
            bool Result = true;

            using (DbTransaction DbTransaction = clsConnect.DbConnection.BeginTransaction())
            {
                using (DbCommand DbCommand = clsConnect.DbConnection.CreateCommand())
                {
                    DbCommand.CommandText = SpMobile_2018_InsertOrders;
                    DbCommand.CommandType = System.Data.CommandType.StoredProcedure;
                    DbCommand.Transaction = DbTransaction;
                    ORDER_CLIENT.CreateParameterCollection <ORDER_CLIENT>(DbCommand, item);

                    try
                    {
                        DbCommand.ExecuteNonQuery();
                    }
                    catch (DbException DbException)
                    {
                        DbTransaction.Rollback();
                        Result = false;
                        return(Result);
                    }
                }

                foreach (var itemGood in lstGood)
                {
                    try
                    {
                        m2018_InsertGoodToOrder(itemGood, DbTransaction);
                    }
                    catch (DbException DbException)
                    {
                        DbTransaction.Rollback();
                        Result = false;
                        return(Result);
                    }
                }

                DbTransaction.Commit();
                return(Result);
            }
        }
        public ActionResult AddNewCart([FromBody] string jsonData)
        {
            ORDER_CLIENT orderClient = null; ORDER_GOODS[] listGoods = null;
            JObject      objectData = JObject.Parse(jsonData);

            if (objectData["orderClient"] != null)
            {
                orderClient = objectData["orderClient"].ToObject <ORDER_CLIENT>();
            }
            if (objectData["listGoods"] != null)
            {
                listGoods = objectData["listGoods"].ToObject <ORDER_GOODS[]>();
            }

            if (clsConnect.DB_OpenConnection(DBHost, DBName, DBUser, DBPassword))
            {
                DateTime now = DateTime.Now.Date;
                orderClient.KEY_ORDER_CLIENT = Guid.NewGuid();
                orderClient.KEY_CARD_CLIENT  = (Guid)Session["KeyUserLogin"];
                orderClient.DAY_ORDER_CLIENT = now;
                orderClient.STA_ORDER_CLIENT = false;

                if (listGoods != null && listGoods.Length > 0)
                {
                    foreach (var itemGoodCard in listGoods)
                    {
                        itemGoodCard.KEY_ORDER_GOODS  = Guid.NewGuid();
                        itemGoodCard.KEY_ORDER_CLIENT = orderClient.KEY_ORDER_CLIENT;
                        itemGoodCard.TIEN_VIET_NAM    = itemGoodCard.DON_GIA_HANG * itemGoodCard.SO_LUONG_HANG ?? 0;
                        orderClient.TONG_TIEN_HANG   += itemGoodCard.TIEN_VIET_NAM;
                    }
                }

                orderClient.TONG_TIEN_TOAN = orderClient.TONG_TIEN_HANG - orderClient.TONG_GIAM_GIA;
                bool success = cls_2018_ORDERS.m2018_InsertNewOrder(orderClient, listGoods);

                return(Json(new { success = success }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
        }
 public ActionResult GetMyCart(int?page, int?pageSize, DateTime?dateStart, DateTime?dateEnd)
 {
     if (clsConnect.DB_OpenConnection(DBHost, DBName, DBUser, DBPassword))
     {
         int                 PageNumber   = page ?? 1;
         int                 PageSizeVal  = pageSize ?? 12;
         DateTime            now          = DateTime.Now.Date;
         List <ORDER_CLIENT> lstDataOrder = ORDER_CLIENT.ParseListFromDataTable <ORDER_CLIENT>(cls_2018_ORDERS.m2018_GetallOrders((Guid)Session["KeyUserLogin"]));
         if (dateStart != null)
         {
             lstDataOrder = lstDataOrder.Where(a => a.DAY_ORDER_CLIENT >= dateStart.Value.Date).ToList();
         }
         if (dateEnd != null)
         {
             var dateEndVal = dateEnd.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
             lstDataOrder = lstDataOrder.Where(a => a.DAY_ORDER_CLIENT <= dateEndVal).ToList();
         }
         var dataResult = lstDataOrder.Select(a => new {
             KEY_ORDER_CLIENT = a.KEY_ORDER_CLIENT,
             KEY_CARD_CLIENT  = a.KEY_CARD_CLIENT,
             DAY_ORDER_CLIENT = a.DAY_ORDER_CLIENT.Value.ToString("dd-MM-yyyy HH:mm:ss"),
             COD_ORDER_CLIENT = a.COD_ORDER_CLIENT,
             TONG_TIEN_HANG   = a.TONG_TIEN_HANG,
             TONG_GIAM_GIA    = a.TONG_GIAM_GIA,
             TONG_TIEN_TOAN   = a.TONG_TIEN_TOAN,
             STA_ORDER_CLIENT = a.STA_ORDER_CLIENT
         }).ToPagedList(PageNumber, PageSizeVal);
         return(Json(new {
             success = true,
             result = dataResult,
             currentPage = dataResult.PageNumber,
             totalPage = dataResult.PageCount,
             firstItemOnPage = dataResult.FirstItemOnPage,
             lastItemOnPage = dataResult.LastItemOnPage
         }, JsonRequestBehavior.AllowGet));
     }
     return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
 }