Exemplo n.º 1
0
        public void CheckRequired()
        {
            var tag = new FormatNumber();

            RequiredAttribute.Check(tag);
            //no exceptions
        }
Exemplo n.º 2
0
        public void TestDecimalsRoundingUp()
        {
            var number = new FormatNumber();

            number.Value = new MockAttribute(new Constant("1.26789"));
            Assert.That(number.Evaluate(_model), Is.EqualTo("1.27"));
        }
Exemplo n.º 3
0
 /// <summary>
 /// Tries to parse registered format numbers. If the parsing fails, it is assumed that the number is a custom format number (164 or higher) and 'custom' is returned
 /// </summary>
 /// <param name="number">Raw number to parse</param>
 /// <param name="formatNumber">Out parameter with the parsed format enum value. If parsing failed, 'custom' will be returned</param>
 /// <returns>Format range. Will return 'invalid' if out of any range (e.g. negative value)</returns>
 public static FormatRange TryParseFormatNumber(int number, out FormatNumber formatNumber)
 {
     try
     {
         formatNumber = (FormatNumber)number;
         return(FormatRange.defined_format);
     }
     catch
     {
         if (number < 0)
         {
             formatNumber = FormatNumber.none;
             return(FormatRange.invalid);
         }
         else if (number > 0 && number < CUSTOMFORMAT_START_NUMBER)
         {
             formatNumber = FormatNumber.none;
             return(FormatRange.undefined);
         }
         else
         {
             formatNumber = FormatNumber.custom;
             return(FormatRange.custom_format);
         }
     }
 }
Exemplo n.º 4
0
        public void TestSimpleFormatOfIntWithGroupingDefault()
        {
            var number = new FormatNumber();

            number.Value = new MockAttribute(new Constant("1000"));
            Assert.That(number.Evaluate(_model), Is.EqualTo("1,000.00"));
        }
Exemplo n.º 5
0
        public void TestSimpleFormatOfStringDifferentCultureInPageModel()
        {
            var number = new FormatNumber();

            number.Value = new MockAttribute(new Constant("1"));
            _model.Page[FormatConstants.LOCALE] = new CultureInfo("nl-NL");
            Assert.That(number.Evaluate(_model), Is.EqualTo("1,00"));
        }
Exemplo n.º 6
0
        public void TestSimpleFormatOfNegativeInt()
        {
            _model.Model["anumber"] = -1;
            var number = new FormatNumber();

            number.Value = new MockAttribute(new Property("anumber"));
            Assert.That(number.Evaluate(_model), Is.EqualTo("-1.00"));
        }
Exemplo n.º 7
0
        public void TestSimpleFormatOfString()
        {
            var number = new FormatNumber();

            number.Value = new MockAttribute(new Constant("1"));

            Assert.That(number.Evaluate(_model), Is.EqualTo("1.00"));
        }
Exemplo n.º 8
0
        public void TestSimpleFormatOfIntWithGroupingExplicitFalseBigNumber()
        {
            var number = new FormatNumber();

            number.Value        = new MockAttribute(new Constant("123456789"));
            number.GroupingUsed = new MockAttribute(new Constant("false"));
            Assert.That(number.Evaluate(_model), Is.EqualTo("123456789.00"));
        }
Exemplo n.º 9
0
        public void TestSimpleFormatOfIntWithGroupingExplicitTrueBigNumberWithDecimals()
        {
            var number = new FormatNumber();

            number.Value        = new MockAttribute(new Constant("123456789.876543"));
            number.GroupingUsed = new MockAttribute(new Constant("true"));
            Assert.That(number.Evaluate(_model), Is.EqualTo("123,456,789.88"));
        }
Exemplo n.º 10
0
        public void TestFormatOfNumberExplicit()
        {
            var number = new FormatNumber();

            number.Value            = new MockAttribute(new Property("anumber"));
            number.Type             = new MockAttribute(new Constant("Number"));
            _model.Model["anumber"] = 12;
            Assert.That(number.Evaluate(_model), Is.EqualTo("12.00"));
        }
Exemplo n.º 11
0
        public void TestFormatOfPercentageWithDecimals()
        {
            var number = new FormatNumber();

            number.Value            = new MockAttribute(new Property("anumber"));
            number.Type             = new MockAttribute(new Constant("Percentage"));
            _model.Model["anumber"] = 0.012m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("1.20%"));
        }
Exemplo n.º 12
0
        public void TestFormatOfPercentageNegative()
        {
            var number = new FormatNumber();

            number.Value            = new MockAttribute(new Property("anumber"));
            number.Type             = new MockAttribute(new Constant("Percentage"));
            _model.Model["anumber"] = -0.12m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("-12.00%"));
        }
Exemplo n.º 13
0
        public void TestFormatOfNegativeCurrency()
        {
            var number = new FormatNumber();

            number.Value            = new MockAttribute(new Property("anumber"));
            number.Type             = new MockAttribute(new Constant("Currency"));
            _model.Model["anumber"] = -12m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("($12.00)")); //Stupid us formatting
        }
Exemplo n.º 14
0
        public void TestFormatOfNumberWithCustomPattern()
        {
            var number = new FormatNumber();

            number.Value            = new MockAttribute(new Property("anumber"));
            number.Pattern          = new MockAttribute(new Constant("###,'abc',###.00000"));
            _model.Model["anumber"] = 123456.789;
            Assert.That(number.Evaluate(_model), Is.EqualTo("123,abc456.78900"));
        }
Exemplo n.º 15
0
        public void TestFormatOfPercentageWithAlternativePattern()
        {
            var number = new FormatNumber();

            number.Value             = new MockAttribute(new Property("anumber"));
            number.Type              = new MockAttribute(new Constant("Percentage"));
            number.MinFractionDigits = new MockAttribute(new Constant("6"));
            _model.Model["anumber"]  = 0.12;
            Assert.That(number.Evaluate(_model), Is.EqualTo("12.000000%"));
        }
Exemplo n.º 16
0
        public void TestFormatOfCurrencyWithDifferentCurrencySymbol()
        {
            var number = new FormatNumber();

            number.Value            = new MockAttribute(new Property("anumber"));
            number.Type             = new MockAttribute(new Constant("Currency"));
            number.CurrencySymbol   = new MockAttribute(new Constant("@"));
            _model.Model["anumber"] = 12m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("@12.00"));
        }
Exemplo n.º 17
0
        public void TestDecimalsMaximalFractionDigits()
        {
            var number = new FormatNumber();

            number.Value             = new MockAttribute(new Property("anumber"));
            number.MaxFractionDigits = new MockAttribute(new Constant("5"));
            _model.Model["anumber"]  = 1.23456789m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("1.23457"));
            _model.Model["anumber"] = 1.23m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("1.23"));
        }
Exemplo n.º 18
0
        public void TestDecimalsMinimalIntegerDigitsWithDefault()
        {
            var number = new FormatNumber();

            number.Value            = new MockAttribute(new Property("anumber"));
            number.MinIntegerDigits = new MockAttribute(new Constant("10"));
            _model.Model["anumber"] = 12345m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("0,000,012,345.00"));
            _model.Model["anumber"] = 1234567890123m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("1,234,567,890,123.00"));
        }
Exemplo n.º 19
0
        static void Main()
        {
            // Присвоить этому делегату несколько целевых методов
            FormatNumber format = FormatNumberAsCurrency;

            format += FormatNumberWithCommas;
            format += FormatNumberWithTwoPlaces;

            format(12345.6789);

            Console.ReadKey();
        }
Exemplo n.º 20
0
        public void TestFormatOfCurrencyWithDifferentCurrencySymbolOverridesCodeWithAlternativePattern()
        {
            var number = new FormatNumber();

            number.Value             = new MockAttribute(new Property("anumber"));
            number.Type              = new MockAttribute(new Constant("Currency"));
            number.CurrencySymbol    = new MockAttribute(new Constant("@"));
            number.CurrencyCode      = new MockAttribute(new Constant("RESL"));
            number.MinFractionDigits = new MockAttribute(new Constant("6"));
            _model.Model["anumber"]  = 12m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("@12.000000"));
        }
Exemplo n.º 21
0
        public void TestDecimalsMaximalIntegerDigits()
        {
            var number = new FormatNumber();

            number.Value             = new MockAttribute(new Property("anumber"));
            number.MaxIntegerDigits  = new MockAttribute(new Constant("10"));
            number.GroupingUsed      = new MockAttribute(new Constant("false"));
            number.MaxFractionDigits = new MockAttribute(new Constant("0"));
            _model.Model["anumber"]  = 12345m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("12345"));
            _model.Model["anumber"] = 1234567890123m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("4567890123"));
        }
Exemplo n.º 22
0
        /// <summary>
        /// Determines whether a defined style format number represents a date (or date and time)
        /// </summary>
        /// <param name="number">Format number to check</param>
        /// <returns>True if the format represents a date, otherwise false</returns>
        /// <remarks>Custom number formats (higher than 164), as well as not officially defined numbers (below 164) are currently not considered during the check and will return false</remarks>
        public static bool IsDateFormat(FormatNumber number)
        {
            switch (number)
            {
            case FormatNumber.format_14:
            case FormatNumber.format_15:
            case FormatNumber.format_16:
            case FormatNumber.format_17:
            case FormatNumber.format_22:
                return(true);

            default:
                return(false);
            }
        }
Exemplo n.º 23
0
        static void Main(string[] args)
        {
            FormatNumber format = FormatNumberAsCurrency;

            format += FormatNumberWithCommas;
            format += FormatNumberWith3Places;

            format += (n => Console.WriteLine("afgerond: " + Math.Round(n)));
            format -= FormatNumberWithCommas;

            format(12345.6789);


            testSortDelegate();
            Console.ReadKey();
        }
Exemplo n.º 24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int           idAdmin = (int)Session["employeeId"];
            string        connStr = "Server=BT; Database=PhoneShop; User=sa; Password=12345678";
            SqlConnection conn    = new SqlConnection(connStr);

            conn.Open();
            String     queryStr = "SELECT shopId,Phones.phoneId, phoneName, manufacturer, phonePrice, imageLink, phoneDescrible, quantity FROM dbo.Phones, PhoneOfShop WHERE (PhoneOfShop.shopId=(SELECT TOP 1 shopId FROM Employees WHERE employeeId='" + idAdmin + "'))  AND (Phones.phoneId=PhoneOfShop.phoneId)";
            SqlCommand cmd      = new SqlCommand(queryStr);

            cmd.CommandType = System.Data.CommandType.Text;
            cmd.Connection  = conn;

            SqlDataReader reader = cmd.ExecuteReader();

            listPhone = new List <Phone>();

            while (reader.Read())
            {
                Phone phone = new Phone();
                phone.PhoneId        = Int32.Parse(reader["phoneId"].ToString().Trim());
                phone.PhoneName      = reader["phoneName"].ToString().Trim();
                phone.PhonePrice     = Int32.Parse(reader["phonePrice"].ToString().Trim());
                phone.Manufacturer   = reader["manufacturer"].ToString().Trim();
                phone.ImageLink      = reader["imageLink"].ToString().Trim();
                phone.PhoneDescrible = reader["phoneDescrible"].ToString().Trim();
                phone.PhoneQuantity  = Int32.Parse(reader["quantity"].ToString().Trim());
                phone.ShopId         = Int32.Parse(reader["shopId"].ToString().Trim());
                listPhone.Add(phone);
            }
            conn.Close();

            foreach (Phone phone in listPhone)
            {
                show += "<tr>";
                show += "<td><a href='DetailPhone.aspx?id=" + phone.PhoneId + "'>" + phone.PhoneId + "</a></td>";
                show += "<td>" + phone.PhoneName + "</td>";
                show += "<td>" + FormatNumber.FormatPrice(phone.PhonePrice) + "</td>";
                show += "<td>" + phone.PhoneQuantity + "</td>";
                show += "<td>" + phone.Manufacturer + "</td>";
                show += "<td>" + phone.ShopId + "</td>";
                show += "<td><a href='AddAmountPhone.aspx?id=" + phone.PhoneId + "'>Thêm </a></td>";
                show += "<td><a href='EditPhone.aspx?id=" + phone.PhoneId + "'>Sửa </a></td>";
                show += "<td><a href='DeletePhone.aspx?id=" + phone.PhoneId + "'>Xóa </a></td>";
                show += "</tr>";
            }
        }
Exemplo n.º 25
0
        /// <summary>
        /// Determines whether a defined style format number represents a time)
        /// </summary>
        /// <param name="number">Format number to check</param>
        /// <returns>True if the format represents a time, otherwise false</returns>
        /// <remarks>Custom number formats (higher than 164), as well as not officially defined numbers (below 164) are currently not considered during the check and will return false</remarks>
        public static bool IsTimeFormat(FormatNumber number)
        {
            switch (number)
            {
            case FormatNumber.format_18:
            case FormatNumber.format_19:
            case FormatNumber.format_20:
            case FormatNumber.format_21:
            case FormatNumber.format_45:
            case FormatNumber.format_46:
            case FormatNumber.format_47:
                return(true);

            default:
                return(false);
            }
        }
Exemplo n.º 26
0
        public void TestDecimalsMinimalAndMaximalFractionDigitsNegative()
        {
            var number = new FormatNumber();

            number.Value             = new MockAttribute(new Property("anumber"));
            number.MinFractionDigits = new MockAttribute(new Constant("3"));
            number.MaxFractionDigits = new MockAttribute(new Constant("5"));
            _model.Model["anumber"]  = -1.23m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("-1.230"));
            _model.Model["anumber"] = -1.234m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("-1.234"));
            _model.Model["anumber"] = -1.2345m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("-1.2345"));
            _model.Model["anumber"] = -1.23456m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("-1.23456"));
            _model.Model["anumber"] = -1.234567m;
            Assert.That(number.Evaluate(_model), Is.EqualTo("-1.23457"));
        }
Exemplo n.º 27
0
 /// <summary>
 /// Default constructor
 /// </summary>
 public NumberFormat()
 {
     Number           = FormatNumber.none;
     CustomFormatCode = string.Empty;
     CustomFormatID   = CUSTOMFORMAT_START_NUMBER;
 }
 public FormatNumberTests()
 {
     this._formatNumber = new FormatNumber();
 }
Exemplo n.º 29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            showProduct    = "";
            showProductCat = "";
            categories     = "";
            string        connStr = "Server=BT; Database=PhoneShop; User=sa; Password=12345678";
            SqlConnection conn    = new SqlConnection(connStr);

            if (Session["area"] != null)
            {
                string area = (string)Session["area"];

                if (Request.QueryString["category"] == null)
                {
                    int perPage = 6;
                    int page;
                    if (Request.QueryString["page"] != null)
                    {
                        page = Int32.Parse(Request.QueryString["page"].Trim());
                    }
                    else
                    {
                        page = 1;
                    }
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("SELECT shopId,Phones.phoneId, phoneName, manufacturer, phonePrice, imageLink, phoneDescrible, quantity FROM dbo.Phones, PhoneOfShop WHERE (PhoneOfShop.shopId=(SELECT TOP 1 shopId FROM Shops WHERE shopAddress=@address)  AND (Phones.phoneId=PhoneOfShop.phoneId))");
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.Connection  = conn;
                    cmd.Parameters.Add("@address", SqlDbType.NVarChar, 100).Value = area;
                    SqlDataReader reader = cmd.ExecuteReader();
                    listPhone = new List <Phone>();

                    while (reader.Read())
                    {
                        Phone phone = new Phone();
                        phone.PhoneId        = Int32.Parse(reader["phoneId"].ToString().Trim());
                        phone.PhoneName      = reader["phoneName"].ToString().Trim();
                        phone.PhonePrice     = Int32.Parse(reader["phonePrice"].ToString().Trim());
                        phone.Manufacturer   = reader["manufacturer"].ToString().Trim();
                        phone.ImageLink      = reader["imageLink"].ToString().Trim();
                        phone.PhoneDescrible = reader["phoneDescrible"].ToString().Trim();
                        phone.PhoneQuantity  = Int32.Parse(reader["quantity"].ToString().Trim());
                        phone.ShopId         = Int32.Parse(reader["shopId"].ToString().Trim());
                        listPhone.Add(phone);
                    }
                    conn.Close();

                    //show listphone
                    for (int i = ((page - 1) * perPage); i < page * perPage; i++)
                    {
                        if (listPhone.Count > ((page - 1) * perPage))
                        {
                            showProduct += "<div class='col-md-4 col-sm-6 center-responsive'>";
                            showProduct += "<div class='product'>";
                            showProduct += "<a href='Detail.aspx?id=" + listPhone[i].PhoneId + "&quantity=" + listPhone[i].PhoneQuantity + "'>";
                            showProduct += "<img class='img-responsive' src='" + listPhone[i].ImageLink + "'>";
                            showProduct += "<div class='text'>";
                            showProduct += "<h3>" + listPhone[i].PhoneName + "</h3>";
                            showProduct += "<p class='price'>" + FormatNumber.FormatPrice(listPhone[i].PhonePrice) + " VNĐ</p>";
                            showProduct += "<p class='button' align = 'center'<a class='btn btn-primary' href='Detail.aspx?id=" + listPhone[i].PhoneId + "&quantity=" + listPhone[i].PhoneQuantity + "'>" + "Xem chi tiết</a></p>";
                            showProduct += "</div>";
                            showProduct += "</a>";
                            showProduct += "</div>";
                            showProduct += "</div>";
                        }
                        if (listPhone.Count == i + 1)
                        {
                            break;
                        }
                    }
                }

                if (Request.QueryString["category"] != null)
                {
                    string manufacturer = Request.QueryString["category"].Trim();
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("SELECT [phoneId],[phoneName],[manufacturer],[phonePrice],[imageLink],[phoneDescrible] FROM Phones WHERE manufacturer=@manufacturer");
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.Connection  = conn;
                    cmd.Parameters.Add("@manufacturer", SqlDbType.VarChar, 100).Value = manufacturer;
                    SqlDataReader reader = cmd.ExecuteReader();
                    listPhone = new List <Phone>();

                    while (reader.Read())
                    {
                        Phone phone = new Phone();
                        phone.PhoneId        = Int32.Parse(reader["phoneId"].ToString().Trim());
                        phone.PhoneName      = reader["phoneName"].ToString().Trim();
                        phone.PhonePrice     = Int32.Parse(reader["phonePrice"].ToString().Trim());
                        phone.Manufacturer   = reader["manufacturer"].ToString().Trim();
                        phone.ImageLink      = reader["imageLink"].ToString().Trim();
                        phone.PhoneDescrible = reader["phoneDescrible"].ToString().Trim();

                        listPhone.Add(phone);
                    }
                    conn.Close();

                    //show listphone
                    if (listPhone.Count == 0)
                    {
                        showProductCat += "<div class='box'><h1> No Product Found In This Product Categories </h1></div>";
                    }
                    else
                    {
                        showProductCat += "<div class='box'><h1>" + manufacturer + "</h1></div>";
                    }
                    for (int i = 0; i < listPhone.Count; i++)
                    {
                        if (listPhone.Count > 0)
                        {
                            showProductCat += "<div class='col-md-4 col-sm-6 center-responsive'>";
                            showProductCat += "<div class='product'>";
                            showProductCat += "<a href='Detail.aspx?id=" + listPhone[i].PhoneId + "'>";
                            showProductCat += "<img class='img-responsive' src='" + listPhone[i].ImageLink + "'>";
                            showProductCat += "<div class='text'>";
                            showProductCat += "<h3>" + listPhone[i].PhoneName + "</h3>";
                            showProductCat += "<p class='price'>" + FormatNumber.FormatPrice(listPhone[i].PhonePrice) + " VNĐ</p>";
                            showProductCat += "<p class='button' align = 'center'<a class='btn btn-primary' href='Detail.aspx?id=" + listPhone[i].PhoneId + "'>" + "Xem chi tiết</a></p>";
                            showProductCat += "</div>";
                            showProductCat += "</a>";
                            showProductCat += "</div>";
                            showProductCat += "</div>";
                        }
                        if (listPhone.Count == i + 1)
                        {
                            break;
                        }
                    }
                }
            }
            else
            {
                if (Request.QueryString["category"] == null)
                {
                    int perPage = 6;
                    int page;
                    if (Request.QueryString["page"] != null)
                    {
                        page = Int32.Parse(Request.QueryString["page"].Trim());
                    }
                    else
                    {
                        page = 1;
                    }
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("SELECT [phoneId],[phoneName],[manufacturer],[phonePrice],[imageLink],[phoneDescrible] FROM Phones");
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.Connection  = conn;
                    SqlDataReader reader = cmd.ExecuteReader();
                    listPhone = new List <Phone>();

                    while (reader.Read())
                    {
                        Phone phone = new Phone();
                        phone.PhoneId        = Int32.Parse(reader["phoneId"].ToString().Trim());
                        phone.PhoneName      = reader["phoneName"].ToString().Trim();
                        phone.PhonePrice     = Int32.Parse(reader["phonePrice"].ToString().Trim());
                        phone.Manufacturer   = reader["manufacturer"].ToString().Trim();
                        phone.ImageLink      = reader["imageLink"].ToString().Trim();
                        phone.PhoneDescrible = reader["phoneDescrible"].ToString().Trim();
                        phone.PhoneQuantity  = -1;

                        listPhone.Add(phone);
                    }
                    conn.Close();

                    //show listphone
                    for (int i = ((page - 1) * perPage); i < page * perPage; i++)
                    {
                        if (listPhone.Count > ((page - 1) * perPage))
                        {
                            showProduct += "<div class='col-md-4 col-sm-6 center-responsive'>";
                            showProduct += "<div class='product'>";
                            showProduct += "<a href='Detail.aspx?id=" + listPhone[i].PhoneId + "'>";
                            showProduct += "<img class='img-responsive' src='" + listPhone[i].ImageLink + "'>";
                            showProduct += "<div class='text'>";
                            showProduct += "<h3>" + listPhone[i].PhoneName + "</h3>";
                            showProduct += "<p class='price'>" + FormatNumber.FormatPrice(listPhone[i].PhonePrice) + " VNĐ</p>";
                            showProduct += "<p class='button' align = 'center'<a class='btn btn-primary' href='Detail.aspx?id=" + listPhone[i].PhoneId + "'>" + "Xem chi tiết</a></p>";
                            showProduct += "</div>";
                            showProduct += "</a>";
                            showProduct += "</div>";
                            showProduct += "</div>";
                        }
                        if (listPhone.Count == i + 1)
                        {
                            break;
                        }
                    }
                }

                if (Request.QueryString["category"] != null)
                {
                    string manufacturer = Request.QueryString["category"].Trim();
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("SELECT [phoneId],[phoneName],[manufacturer],[phonePrice],[imageLink],[phoneDescrible] FROM Phones WHERE manufacturer=@manufacturer");
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.Connection  = conn;
                    cmd.Parameters.Add("@manufacturer", SqlDbType.VarChar, 100).Value = manufacturer;
                    SqlDataReader reader = cmd.ExecuteReader();
                    listPhone = new List <Phone>();

                    while (reader.Read())
                    {
                        Phone phone = new Phone();
                        phone.PhoneId        = Int32.Parse(reader["phoneId"].ToString().Trim());
                        phone.PhoneName      = reader["phoneName"].ToString().Trim();
                        phone.PhonePrice     = Int32.Parse(reader["phonePrice"].ToString().Trim());
                        phone.Manufacturer   = reader["manufacturer"].ToString().Trim();
                        phone.ImageLink      = reader["imageLink"].ToString().Trim();
                        phone.PhoneDescrible = reader["phoneDescrible"].ToString().Trim();

                        listPhone.Add(phone);
                    }
                    conn.Close();

                    //show listphone
                    if (listPhone.Count == 0)
                    {
                        showProductCat += "<div class='box'><h1> No Product Found In This Product Categories </h1></div>";
                    }
                    else
                    {
                        showProductCat += "<div class='box'><h1>" + manufacturer + "</h1></div>";
                    }
                    for (int i = 0; i < listPhone.Count; i++)
                    {
                        if (listPhone.Count > 0)
                        {
                            showProductCat += "<div class='col-md-4 col-sm-6 center-responsive'>";
                            showProductCat += "<div class='product'>";
                            showProductCat += "<a href='Detail.aspx?id=" + listPhone[i].PhoneId + "'>";
                            showProductCat += "<img class='img-responsive' src='" + listPhone[i].ImageLink + "'>";
                            showProductCat += "<div class='text'>";
                            showProductCat += "<h3>" + listPhone[i].PhoneName + "</h3>";
                            showProductCat += "<p class='price'>" + FormatNumber.FormatPrice(listPhone[i].PhonePrice) + " VNĐ</p>";
                            showProductCat += "<p class='button' align = 'center'<a class='btn btn-primary' href='Detail.aspx?id=" + listPhone[i].PhoneId + "'>" + "Xem chi tiết</a></p>";
                            showProductCat += "</div>";
                            showProductCat += "</a>";
                            showProductCat += "</div>";
                            showProductCat += "</div>";
                        }
                        if (listPhone.Count == i + 1)
                        {
                            break;
                        }
                    }
                }
            }



            //take categories from database
            conn.Open();
            SqlCommand cmdCategories = new SqlCommand("SELECT DISTINCT [manufacturer] FROM Phones");

            cmdCategories.CommandType = System.Data.CommandType.Text;
            cmdCategories.Connection  = conn;
            SqlDataReader readerCategories = cmdCategories.ExecuteReader();

            while (readerCategories.Read())
            {
                categories += "<li>";
                categories += "<a href='Shop.aspx?category=" + readerCategories["manufacturer"] + "'>" + readerCategories["manufacturer"] + "</a>";
                categories += "<li>";
            }
            conn.Close();
        }
Exemplo n.º 30
0
        protected void Page_Load(object sender, EventArgs e)
        {
            showSimilarPhone = "";
            showListPhone    = "";
            categories       = "";
            totalPayment     = "";
            total            = 0;
            string        connStr = "Server=BT; Database=PhoneShop; User=sa; Password=12345678";
            SqlConnection conn    = new SqlConnection(connStr);

            if (Session["cart"] != null)
            {
                List <ItemCart> listItem = new List <ItemCart>((List <ItemCart>)Session["cart"]);

                foreach (ItemCart item in listItem)
                {
                    showListPhone += "<tr>";
                    showListPhone += "<td><img class='img-responsive' src='" + item.ItemImage + "' alt='' /></td>";
                    showListPhone += "<td>" + item.ItemName + "</a></td>";
                    showListPhone += "<td>" + item.Quantity + " </td>";
                    showListPhone += "<td>" + FormatNumber.FormatPrice(item.ItemPrice) + "</td>";
                    showListPhone += "<td>" + FormatNumber.FormatPrice(item.Quantity * item.ItemPrice) + "</td>";
                    showListPhone += "<td><a href='DeletePhoneFromCart.aspx?id=" + item.ItemId + "'>Xóa</td>";
                    showListPhone += "</tr>";
                    total         += (item.ItemPrice * item.Quantity);
                }

                totalPayment = FormatNumber.FormatPrice(total);
            }
            else
            {
                Response.Write("Session null");
            }

            //show similar phone
            conn.Open();
            SqlCommand cmdSimilarPhone = new SqlCommand("SELECT TOP 4 [phoneId],[phoneName],[manufacturer],[phonePrice],[imageLink],[phoneDescrible] FROM Phones");

            cmdSimilarPhone.CommandType = System.Data.CommandType.Text;
            cmdSimilarPhone.Connection  = conn;

            SqlDataReader readerSimilarPhone = cmdSimilarPhone.ExecuteReader();
            List <Phone>  listPhone          = new List <Phone>();

            while (readerSimilarPhone.Read())
            {
                Phone phoneSimilar = new Phone();
                phoneSimilar.PhoneId        = Int32.Parse(readerSimilarPhone["phoneId"].ToString().Trim());
                phoneSimilar.PhoneName      = readerSimilarPhone["phoneName"].ToString().Trim();
                phoneSimilar.PhonePrice     = Int32.Parse(readerSimilarPhone["phonePrice"].ToString().Trim());
                phoneSimilar.Manufacturer   = readerSimilarPhone["manufacturer"].ToString().Trim();
                phoneSimilar.ImageLink      = readerSimilarPhone["imageLink"].ToString().Trim();
                phoneSimilar.PhoneDescrible = readerSimilarPhone["phoneDescrible"].ToString().Trim();

                listPhone.Add(phoneSimilar);
            }
            conn.Close();

            foreach (Phone phone1 in listPhone)
            {
                showSimilarPhone += "<div class='col-md-3 col-sm-6 center-responsive'>";
                showSimilarPhone += "<div class='product same-height'>";
                showSimilarPhone += "<a href='Detail.aspx?id=" + phone1.PhoneId + "' >";
                showSimilarPhone += "<img class='img-responsive' src='" + phone1.ImageLink + "' alt='' />";
                showSimilarPhone += "<div class='text'>";
                showSimilarPhone += "<h3>";
                showSimilarPhone += phone1.PhoneName;
                showSimilarPhone += "</h3>";
                showSimilarPhone += "<p class='price'>" + FormatNumber.FormatPrice(phone1.PhonePrice) + " VNĐ" + "</p>";
                showSimilarPhone += "<p class='button' align = 'center'<a class='btn btn-primary' href='Detail.aspx?id=" + phone1.PhoneId + "'>" + "Xem chi tiết</a></p>";
                showSimilarPhone += "</div>";
                showSimilarPhone += "</a>";
                showSimilarPhone += "</div>";
                showSimilarPhone += "</div>";
            }


            //take categories from database
            conn.Open();
            SqlCommand cmdCategories = new SqlCommand("SELECT DISTINCT [manufacturer] FROM Phones");

            cmdCategories.CommandType = System.Data.CommandType.Text;
            cmdCategories.Connection  = conn;
            SqlDataReader readerCategories = cmdCategories.ExecuteReader();

            while (readerCategories.Read())
            {
                categories += "<li>";
                categories += "<a href='Shop.aspx?category=" + readerCategories["manufacturer"] + "'>" + readerCategories["manufacturer"] + "</a>";
                categories += "<li>";
            }
            conn.Close();
        }