示例#1
0
        // Clicked CheckOut Link
        // Buy Product
        public ActionResult Buy_Product()
        {
            List <string>            purchase_list         = (List <string>)Session["history"];
            List <Purchased_Product> purchased_product_lis = new List <Purchased_Product>();

            if (purchase_list.Count != 0)
            {
                foreach (string pro_id in purchase_list)
                {
                    using (SqlConnection sql_connection = new SqlConnection(Data.Data.conn))
                    {
                        sql_connection.Open();

                        string target_sql_data = "select * from Product where Id=" + pro_id + ";";

                        SqlCommand sql_cmd = new SqlCommand(target_sql_data, sql_connection);

                        SqlDataReader reader = sql_cmd.ExecuteReader();

                        while (reader.Read())
                        {
                            Product pro = new Product()
                            {
                                Id       = (int)reader["Id"],
                                name     = (string)reader["name"],
                                price    = (string)reader["price"],
                                quantity = (string)reader["quantity"],

                                short_description = (string)reader["short_description"],
                                image_path        = (string)reader["image_path"],
                            };

                            Purchased_Product temp_data = new Purchased_Product()
                            {
                                ProductImagePath      = pro.image_path,
                                ProductId             = pro.Id.ToString(),
                                ProductName           = pro.name,
                                ProductDetails        = pro.short_description,
                                ProductActivationCode = Guid.NewGuid().ToString(),
                                ProductPurchasedDate  = DateTime.Now,
                            };

                            purchased_product_lis.Add(temp_data);
                        }
                        sql_connection.Close();
                    }
                }
                Add_To_ProductTbl(purchased_product_lis);
                // WRITE TO TABLE

                return(RedirectToAction("PurchaseHistory"));
            }
            else
            {
                return(Content("<h3>Empty List to Write</h3>"));
            }
        }
示例#2
0
        // Read PurchaseHistory
        public ActionResult PurchaseHistory()
        {
            string customer = (string)Session["Correct_User"];

            //  Read from Purchased Table
            if (Session["Correct_User"] != null)
            {
                List <Purchased_Product> purchased_products_lis = new List <Purchased_Product>();
                List <Num_of_Id>         id_quantity_lis        = new List <Num_of_Id>();


                using (SqlConnection sql_connection = new SqlConnection(Data.Data.conn))
                {
                    sql_connection.Open();

                    string target_sql_data = "select * from PurchasedProduct where CustomerId='" + customer + "';";

                    SqlCommand sql_cmd = new SqlCommand(target_sql_data, sql_connection);

                    SqlDataReader reader = sql_cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        Purchased_Product one_purchase_product = new Purchased_Product()
                        {
                            Id                    = (int)reader["Id"],
                            ProductId             = (string)reader["ProductId"],
                            ProductName           = (string)reader["ProductName"],
                            ProductDetails        = (string)reader["ProductDetails"],
                            ProductImagePath      = (string)reader["ProductImagePath"],
                            ProductPurchasedDate  = Convert.ToDateTime((string)reader["ProductPurchasedDate"]),
                            ProductActivationCode = (string)reader["ProductActivationCode"],
                            CustomerId            = customer
                        };

                        purchased_products_lis.Add(one_purchase_product);
                    }
                    sql_connection.Close();
                }

                var groupedResult = purchased_products_lis.GroupBy(s => s.ProductId);

                bool flager = true;

                foreach (var ageGroup in groupedResult)
                {
                    List <string> activation_code_lis = new List <string>();

                    Num_of_Id temp_id_quantity = new Num_of_Id();
                    temp_id_quantity.ProductId       = ageGroup.Key;
                    temp_id_quantity.ProductQuantity = ageGroup.Count().ToString();

                    foreach (Purchased_Product s in ageGroup)  //Each group has a inner collection
                    {
                        if (flager)
                        {
                            temp_id_quantity.ProductName          = s.ProductName;
                            temp_id_quantity.ProductDetails       = s.ProductDetails;
                            temp_id_quantity.ProductImagePath     = s.ProductImagePath;
                            temp_id_quantity.ProductPurchasedDate = s.ProductPurchasedDate;
                            flager = false;
                        }
                        //Debug.WriteLine(s.ProductActivationCode);
                        //Debug.WriteLine("!!!!!!!!!!!!!!!!!!!!**********");
                        activation_code_lis.Add(s.ProductActivationCode);
                    }
                    temp_id_quantity.ProductActivationCode = activation_code_lis;

                    Debug.WriteLine("*****");
                    flager = true;
                    id_quantity_lis.Add(temp_id_quantity);
                    activation_code_lis = null;
                }
                ViewBag.Purchased_Products_List = id_quantity_lis;
            }
            else
            {
                return(RedirectToAction("Index"));
            }
            return(View());
        }