📄 lineitemaccessor.cs.svn-base
字号:
using System.Data.Common;
using DatabaseUtil;
using Mied.BusinessObject.Bills;
using Mied.DAL.TableSchema;
using System.Data;
using System.Collections;
using System;
namespace Mied.DAL.Accesses
{
public class LineItemAccessor : AccessorSelect
{
public LineItemAccessor(MiedDatabase database)
: base(database, LineItemSchema.TableName)
{
}
public LineItemList SelectList(int billID)
{
IList list = this.SelectList(LineItemSchema.FieldBillID, billID);
return (LineItemList)list;
}
public void SaveList(int billID, LineItemList list, DbTransaction transaction)
{
this.DeleteList(billID, transaction);
foreach (LineItem lineItem in list)
base.Insert(lineItem, transaction);
}
public void DeleteList(int billID, DbTransaction transaction)
{
LineItemList list = this.SelectList(billID);
foreach (LineItem item in list)
this.Delete(item.ID.Value, transaction);
}
protected override IList CreateEntityList()
{
return new LineItemList();
}
public bool HasLineItemReferenced(int productID)
{
DbCommand command = this.Database.Connection.CreateCommand();
command.CommandText = string.Format("SELECT count({0}) FROM {1}",LineItemSchema.FieldProductID,LineItemSchema.TableName);
CommandFactory.WhereAnd(command, LineItemSchema.FieldProductID, productID);
object res = command.ExecuteScalar();
Type type = res.GetType();
int count = (null != res && type != typeof(DBNull)) ? (int)res : 0;
return count >0;
}
protected override CommandFieldValueList BuildPairList(Mied.BusinessObject.Entity entity)
{
LineItem lineItem = (LineItem)entity;
CommandFieldValueList list = new CommandFieldValueList(lineItem.ID);
list.Add(LineItemSchema.FieldBillID, lineItem.BillID);
list.Add(LineItemSchema.FieldOrder, lineItem.Order);
list.Add(LineItemSchema.FieldProductID, lineItem.ProductID);
list.Add(LineItemSchema.FieldColumn1, lineItem.Column1);
list.Add(LineItemSchema.FieldColumn2, lineItem.Column2);
list.Add(LineItemSchema.FieldColumn3, lineItem.Column3);
list.Add(LineItemSchema.FieldDescription, lineItem.Description);
list.Add(LineItemSchema.FieldQuantity, lineItem.Quantity);
list.Add(LineItemSchema.FieldPrice, lineItem.Price);
list.Add(LineItemSchema.FieldDiscount, lineItem.DiscountPercent);
list.Add(LineItemSchema.FieldTax1, lineItem.Tax1);
list.Add(LineItemSchema.FieldTax2, lineItem.Tax2);
list.Add(LineItemSchema.FieldAmount, lineItem.Amount);
list.Add(LineItemSchema.FieldReceiveQuantity, lineItem.ReceivedQuantity);
return list;
}
protected override Mied.BusinessObject.Entity ReadEntity(RecordReader reader)
{
LineItem lineItem = new LineItem();
lineItem.ID = reader.GetInt32(LineItemSchema.FieldID);
lineItem.BillID = reader.GetInt32(LineItemSchema.FieldBillID);
lineItem.Order = reader.GetInt32(LineItemSchema.FieldOrder);
lineItem.ProductID = reader.GetInt32Null(LineItemSchema.FieldProductID);
lineItem.Column1 = reader.GetString(LineItemSchema.FieldColumn1);
lineItem.Column2 = reader.GetString(LineItemSchema.FieldColumn2);
lineItem.Column3 = reader.GetString(LineItemSchema.FieldColumn3);
lineItem.Description = reader.GetString(LineItemSchema.FieldDescription);
lineItem.Quantity = reader.GetDecimal(LineItemSchema.FieldQuantity);
lineItem.Price = reader.GetDecimal(LineItemSchema.FieldPrice);
lineItem.DiscountPercent = reader.GetDecimal(LineItemSchema.FieldDiscount);
lineItem.Tax1 = reader.GetBoolean(LineItemSchema.FieldTax1);
lineItem.Tax2 = reader.GetBoolean(LineItemSchema.FieldTax2);
lineItem.Amount = reader.GetDecimal(LineItemSchema.FieldAmount);
lineItem.ReceivedQuantity = reader.GetDecimal(LineItemSchema.FieldReceiveQuantity);
return lineItem;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -