Click here to Skip to main content
15,892,059 members
Articles / Web Development / IIS

Customary Functions of GridView in ASP.NET 3.5

Rate me:
Please Sign up or sign in to vote.
4.55/5 (33 votes)
25 Mar 2009CPOL 93.7K   2.6K   69  
The most advanced things which you can do with GridView in ASP.NET 3.5
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//                          The Common Usage For GridView (Version 7.0)
//                                    Author: Behrouz Rad
//                         Copyright © 2006 - 2009, All rights reserved.
//                        feel free to contact me: behrouz.rad@gmail.com
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

namespace BehooGridViewFunctions.BLL.Orders
{
    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Text.RegularExpressions;
    using BehooGridViewFunctions.DAL;
    using BehooGridViewFunctions.Entities;
    using BehooGridViewFunctions.Helpers;

    public class Order : BaseOrder
    {
        #region Constructor

        ///////////////////////////////////////////////////
        // Constructor
        ///////////////////////////////////////////////////

        public Order(int id, string organName, string pieceName, string subPieceName, int pieceId)
        {
            this.ID = id;
            this.OrganName = organName;
            this.PieceName = pieceName;
            this.SubPieceName = subPieceName;
            this.PieceID = pieceId;
        }

        #endregion

        #region Properties

        ///////////////////////////////////////////////////
        // Properties
        ///////////////////////////////////////////////////

        public int ID { get; set; }
        public string OrganName { get; set; }
        public string PieceName { get; set; }
        public string SubPieceName { get; set; }
        public int PieceID { get; set; }

        private char _separator = ',';
        public char Separator
        {
            get
            {
                return this._separator;
            }

            set
            {
                this._separator = value;
            }
        }

        #endregion

        #region Public Static Methods

        ///////////////////////////////////////////////////
        // Public Static Methods
        ///////////////////////////////////////////////////

        public static List<Order> GetOrders(int pageIndex, int pageSize)
        {
            Func<int, int> getPageIndex = pi => pi < 0 ? 0 : pi;
            List<EntityOrder> orders = SiteProvider.Orders.GetOrders(getPageIndex(pageIndex), pageSize);
            List<Order> orderList = GetOrderListFromEntityOrderList(orders);

            return orderList;
        }

        public static List<Order> GetOrdersInRange(int fromIndex, int toIndex)
        {
            Func<int, int> getFromIndex = fi => fi < 1 ? 1 : fi;
            List<EntityOrder> orders = SiteProvider.Orders.GetOrdersInRange(getFromIndex(fromIndex), toIndex);
            List<Order> orderList = GetOrderListFromEntityOrderList(orders);

            return orderList;
        }

        public static Order GetOrderByID(int orderId)
        {
            Order order = GetOrderFromEntityOrder(SiteProvider.Orders.GetOrderByID(orderId));

            return order;
        }

        public static string GetOrderByID_Ajax_Format(int orderId)
        {
            Order order = GetOrderFromEntityOrder(SiteProvider.Orders.GetOrderByID(orderId));
            string data = string.Concat(order.OrganName + "|" + order.PieceName + "|" + order.SubPieceName + "|" + order.PieceID);
            return data;
        }

        public static int GetTotalOrders
        {
            get
            {
                return SiteProvider.Orders.GetTotalOrders();
            }
        }

        public static bool InsertOrder(string organName, string pieceName, string subPieceName, int pieceId)
        {
            organName = organName.ConvertNullToEmptyString();
            pieceName = pieceName.ConvertNullToEmptyString();
            subPieceName = subPieceName.ConvertNullToEmptyString();

            EntityOrder order = new EntityOrder(0, organName, pieceName, subPieceName, pieceId);
            bool isInserted = SiteProvider.Orders.InsertOrder(order);

            return isInserted;
        }

        public static bool DeleteOrder(int orderId)
        {
            return DeleteOrder(orderId.ToString(CultureInfo.InvariantCulture), ',');
        }

        public static bool DeleteOrder(string orderIds)
        {
            return DeleteOrder(orderIds, ',');
        }

        public static bool DeleteOrder(string orderIds, char sep)
        {
            string regEx = @"^\d+(" + sep + @"\d+)*$";
            if (!Regex.IsMatch(orderIds, regEx))
            {
                throw new FormatException("Invalid format! the format must be: n,n,...");
            }

            bool isDeleted = SiteProvider.Orders.DeleteOrder(orderIds, sep);

            return isDeleted;
        }

        public static bool UpdateOrder(int id, string organName, string pieceName, string subPieceName, int pieceId)
        {
            organName = organName.ConvertNullToEmptyString();
            pieceName = pieceName.ConvertNullToEmptyString();
            subPieceName = subPieceName.ConvertNullToEmptyString();

            EntityOrder order = new EntityOrder(id, organName, pieceName, subPieceName, pieceId);
            bool isUpdated = SiteProvider.Orders.UpdateOrder(order);

            return isUpdated;
        }

        #endregion

        #region Public Instance Methods

        ///////////////////////////////////////////////////
        // Public Instance Methods
        ///////////////////////////////////////////////////

        public bool Insert()
        {
            return Order.InsertOrder(this.OrganName, this.PieceName, this.SubPieceName, this.PieceID);
        }

        public bool Delete()
        {
            return Order.DeleteOrder(this.ID.ToString(CultureInfo.InvariantCulture), this.Separator);
        }

        public bool Update()
        {
            return Order.UpdateOrder(this.ID, this.OrganName, this.PieceName, this.SubPieceName, this.PieceID);
        }

        public override string ToString()
        {
            return string.Concat(this.ID, ",", this.OrganName, ",", this.PieceName, ",", this.SubPieceName, ",", this.PieceID);
        }

        #endregion

        #region Private Static Methods

        ///////////////////////////////////////////////////
        // Private static Methods
        ///////////////////////////////////////////////////

        private static Order GetOrderFromEntityOrder(EntityOrder order)
        {
            if (order == null)
            {
                return null;
            }
            else
            {
                return new Order(order.ID, order.OrganName, order.PieceName, order.SubPieceName, order.PieceID);
            }
        }

        private static List<Order> GetOrderListFromEntityOrderList(List<EntityOrder> orderList)
        {
            List<Order> orders = new List<Order>();
            foreach (EntityOrder order in orderList)
            {
                orders.Add(GetOrderFromEntityOrder(order));
            }

            return orders;
        }

        #endregion
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Iran (Islamic Republic of) Iran (Islamic Republic of)
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions