// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// 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
}
}