Cấp bậc tác giả:

TRAINING

[TUT]Xây dựng Website Bán Hàng - Xây dựng Lớp Common

Được viết bởi QuangIT ngày 16/03/2013 lúc 10:29 PM
Phần này Tôi sẽ hướng dẫn các bạn xây dựng lớp Common(lớp dùng chung- tức tập hợp các lớp có sẵn và sử dụng lại nó).
  • 0
  • 16175
Tải tệp tin: Click ở đây

[TUT]Xây dựng Website Bán Hàng - Xây dựng Lớp Common

Phần trước, Tôi đã hướng dẫn các bạn xây dựng lớp Data - Business. Đó mới chỉ là ví dụ tạo các Project theo mô hình 3 tầng, tạo các class liên quan tới Table User là UserInfo, UserController, UserBusiness và lớp kết nối tới CSDL SQLDataProvider. Nhìn thì đơn giản, nhưng lại tốn kém thời gian, bởi code lặp đi lặp lại(mới chỉ xây dựng các lớp liên quan tới Table User). Với 2 cách mà Tôi chỉ là cách thông thường và cách tự sinh code, bạn sẽ thấy sự khác nhau rõ rệt bên trong nó. Nếu bạn chọn cách 2 để làm, bạn chẳng cần quan tâm đến việc xây dựng store procedure, xây dựng lớp data, business. Bởi tất cả đã được sinh mã tự động. Tiết kiệm được đống thời gian và nguồn nhân lực.
Phần này Tôi sẽ hướng dẫn các bạn xây dựng lớp Common(lớp dùng chung- tức tập hợp các lớp có sẵn và sử dụng lại nó). Các phần sau tôi sẽ hướng dẫn lướt nhanh hơn, bởi bạn nếu theo dõi xuyên suốt bài viết của Tôi, chắc hẳn bạn cũng đã làm quen với cách thức viết code rồi.
Bước 1: Tại Project "MyWeb.Common", chuột phải Add> Class, đặt tên class là "Common"
Nhớ để class là public nhé.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using Logger;
using System.Text.RegularExpressions;

/// <summary>
        /// Chuẩn hóa chuỗi dữ liệu khi người dùng input
        /// Input: sContent (chuỗi cần chuẩn hóa)
        /// Output: Chuỗi sau khi replace các ký tự đặc biệt
        /// </summary>
        public static string StandardString(string sContent)
        {
            sContent = sContent.Trim();

            sContent = sContent.Replace("<td>", "");
            sContent = sContent.Replace("</td>", "");
            sContent = sContent.Replace("<tr>", "");
            sContent = sContent.Replace("</tr>", "");
            sContent = sContent.Replace("<table>", "");
            sContent = sContent.Replace("</table>", "");
            sContent = sContent.Replace("<script", "");
            sContent = sContent.Replace("</script>", "");

            sContent = sContent.Replace("OR", "");
            sContent = sContent.Replace("ALTER", "");
            sContent = sContent.Replace("DROP", "");
            return sContent;
        }

 /// <summary>
        /// Get Ngày giờ server
        /// Output: Ngày giờ được lấy tại Server
        /// </summary>
        public static DateTime GetServerDateTime()
        {
            return DateTime.Now.ToUniversalTime().AddHours(7);
        }

public static string GenerateID(int MinSize, int MaxSize)
        {

            string stRefID = String.Empty;

            Random random = new Random();

            int iChosenMaxSize = random.Next(MinSize, MaxSize);


            for (int x = 1; x <= iChosenMaxSize; x++)
            {

                int iCharType = random.Next(1, 3);


                switch (iCharType)
                {

                    case 1:
                        {

                            stRefID += char.ConvertFromUtf32(random.Next(48, 57));

                            break;

                        }

                    case 2:
                        {

                            stRefID += char.ConvertFromUtf32(random.Next(65, 90));

                            break;

                        }

                    case 3:
                        {

                            stRefID += char.ConvertFromUtf32(random.Next(97, 122));

                            break;

                        }

                }



                System.Threading.Thread.Sleep(1);

            }
            return stRefID;

        }

/// <summary>
        /// Sử dụng để Convert Chữ Số Có Dấu sang Số Không Dấu có gạch ở giữa(Dùng ASCII)
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        public static string ConvertToUnSign(string text)
        {

            for (int i = 33; i < 48; i++)
            {

                text = text.Replace(((char)i).ToString(), "");

            }



            for (int i = 58; i < 65; i++)
            {

                text = text.Replace(((char)i).ToString(), "");

            }



            for (int i = 91; i < 97; i++)
            {

                text = text.Replace(((char)i).ToString(), "");

            }

            for (int i = 123; i < 127; i++)
            {

                text = text.Replace(((char)i).ToString(), "");

            }

            text = text.Replace(" ", "-");

            Regex regex = new Regex(@"\p{IsCombiningDiacriticalMarks}+");

            string strFormD = text.Normalize(System.Text.NormalizationForm.FormD);

            return regex.Replace(strFormD, String.Empty).Replace('\u0111', 'd').Replace('\u0110', 'D');

        }

Trong tập tin đính kèm, Tôi có kèm thư mục chứa các Common khác, bạn cũng cần Add vào Project "MyWeb.Common" bằng cách chuột phải lên Project "MyWeb.Common"  chọn Add>Existing Item
add_common.jpg

Sau khi copy code trên, Rebuild Project "MyWeb.Common" xem có lỗi nào không. Chắc chắn sẽ có lỗi xảy ra, bạn cần bình tĩnh xem lỗi như thế nào để mà fix.
error.jpg

Add một số Reference sau: 
system.web.jpg
.NET > System.Web
FredCK.FCKeditorV2.dll trong tập tin đính kèm
Bước 2: Giải tích một số class trong Project "MyWeb.Common"
ControlClass
Hàm ResetControlValues: Truyền vào 1 control cha.
Nó sẽ đưa các giá trị mặc định của nó thành rỗng/ true-false/ null(TextBox, CheckBox, RadioButton, Image)
DateTimeClass
Hàm ConvertDate còn chuyển dạng ngày sang dạng "dd/MM/yyyy"
NumberClass: Bắt hết các sự kiện khi nhập vào ô TextBox
Ngoài ra còn có một số hàm mã hóa MD5 khá hay hoặc chuyển ký tự có dấu thành không dấu hoặc lưu cookie trình duyệt, bạn quan tâm thì có thể tải về xem

Đi vào thiết kế website chi tiết sẽ sử dụng đến các class này, bây giờ tạm thời như vậy đã.

Phần tiếp theo, Tôi sẽ hướng dẫn bạn xây dựng trang quản trị.

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML