285 lines
15 KiB
C#
285 lines
15 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using SuperMap.RealEstate.ServiceModel;
|
||
using Business = SuperMap.RealEstate.BasicArchives.Storage.Business;
|
||
|
||
namespace GSYWApi.Helper
|
||
{
|
||
/// <summary>
|
||
/// 促销信息表相关方法
|
||
/// </summary>
|
||
public class PROMOTIONHelper
|
||
{
|
||
#region 获取促销信息表列表
|
||
/// <summary>
|
||
/// 获取促销信息表列表
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="PromotionType">促销类型</param>
|
||
/// <param name="PromotionStatus">促销状态
|
||
/// 1:有效,2:审核中,0:无效
|
||
/// </param>
|
||
/// <param name="Serverpart_IDS">服务区内码集合</param>
|
||
/// <param name="TotalCount">数据总数量</param>
|
||
/// <param name="PageIndex">查询页码数</param>
|
||
/// <param name="PageSize">每显示行数</param>
|
||
/// <param name="SortStr">排序字段</param>
|
||
/// <returns></returns>
|
||
public static List<Model.PROMOTIONModel> GetPROMOTIONList(Transaction transaction, int? PromotionType,
|
||
int? PromotionStatus, string Serverpart_IDS, ref int TotalCount, int PageIndex = 1, int PageSize = 10, string SortStr = "")
|
||
{
|
||
List<Model.PROMOTIONModel> PROMOTIONList = new List<Model.PROMOTIONModel>();
|
||
|
||
string WhereSQL = "", RowFilterSQL = "";
|
||
//查询促销类型
|
||
if (PromotionType != null)
|
||
{
|
||
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SALESPROMOTE_TYPE = " + PromotionType;
|
||
}
|
||
//查询促销状态
|
||
if (PromotionStatus != null)
|
||
{
|
||
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SALESPROMOTE_STATE = " + PromotionStatus;
|
||
}
|
||
//查询服务区内码
|
||
if (!string.IsNullOrWhiteSpace(Serverpart_IDS))
|
||
{
|
||
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SERVERPART_IDS = '" + Serverpart_IDS + "'";
|
||
}
|
||
|
||
DataTable dtPROMOTION = new Business.PROMOTION(transaction).FillDataTable(WhereSQL);
|
||
if (RowFilterSQL != "")
|
||
{
|
||
dtPROMOTION.DefaultView.RowFilter = RowFilterSQL;
|
||
}
|
||
//排序:
|
||
dtPROMOTION.DefaultView.Sort = SortStr;
|
||
dtPROMOTION = dtPROMOTION.DefaultView.ToTable();
|
||
//获取查询结果总记录条数
|
||
TotalCount = dtPROMOTION.Rows.Count;
|
||
//根据传入的页码和每页显示条数返回结果
|
||
dtPROMOTION = CommonHelper.GetDataTableWithPageSize(dtPROMOTION, PageSize, PageIndex);
|
||
|
||
foreach (DataRow drPROMOTION in dtPROMOTION.Rows)
|
||
{
|
||
Model.PROMOTIONModel promotionModel = new Model.PROMOTIONModel();
|
||
|
||
promotionModel.PROMOTION_ID = drPROMOTION["PROMOTION_ID"].TryParseToInt(); //内码
|
||
promotionModel.MEMBERSHIP_IDS = drPROMOTION["MEMBERSHIP_IDS"].ToString(); //会员内码
|
||
promotionModel.MEMBERSHIP_TYPE = drPROMOTION["MEMBERSHIP_TYPE"].TryParseToInt(); //会员类型
|
||
promotionModel.MEMBERSHIP_LEVEL = drPROMOTION["MEMBERSHIP_LEVEL"].TryParseToInt(); //会员等级
|
||
promotionModel.SERVERPART_IDS = drPROMOTION["SERVERPART_IDS"].ToString(); //服务区
|
||
promotionModel.SERVERPARTSHOP_IDS = drPROMOTION["SERVERPARTSHOP_IDS"].ToString(); //门店内码集合
|
||
if (!string.IsNullOrWhiteSpace(promotionModel.SERVERPARTSHOP_IDS))
|
||
{
|
||
//解析门店名称
|
||
string _SHOP_NAMES = "";
|
||
foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(transaction).FillCollection(
|
||
"WHERE SERVERPARTSHOP_ID IN (" + promotionModel.SERVERPARTSHOP_IDS + ")"))
|
||
{
|
||
_SHOP_NAMES += (_SHOP_NAMES == "" ? "" : ",") + _SERVERPARTSHOP.SHOPNAME;
|
||
}
|
||
promotionModel.SHOP_NAMES = _SHOP_NAMES;
|
||
}
|
||
promotionModel.COMMODITYTYPE_IDS = drPROMOTION["COMMODITYTYPE_IDS"].ToString(); //商品类型
|
||
promotionModel.COMMODITY_IDS = drPROMOTION["COMMODITY_IDS"].ToString(); //商品名称
|
||
promotionModel.CONDITION_SKU = drPROMOTION["CONDITION_SKU"].ToString(); //条件商品编码
|
||
promotionModel.SALESPROMOTE_STARTDATE = drPROMOTION["SALESPROMOTE_STARTDATE"].TryParseToDateTime(); //促销开始时间
|
||
promotionModel.SALESPROMOTE_ENDDATE = drPROMOTION["SALESPROMOTE_ENDDATE"].TryParseToDateTime(); //促销结束时间
|
||
promotionModel.SALESPROMOTE_TYPE = drPROMOTION["SALESPROMOTE_TYPE"].TryParseToInt(); //促销类型
|
||
promotionModel.SALESPROMOTE_NAME = drPROMOTION["SALESPROMOTE_NAME"].ToString(); //促销名称
|
||
promotionModel.THRESHOLD_AMOUNT = drPROMOTION["THRESHOLD_AMOUNT"].TryParseToDouble(); //促销起点金额
|
||
promotionModel.DISCOUNT_RATE = drPROMOTION["DISCOUNT_RATE"].TryParseToDouble(); //折扣金额
|
||
promotionModel.SALESPROMOTE_VIP = drPROMOTION["SALESPROMOTE_VIP"].TryParseToShort(); //会员促销
|
||
promotionModel.SALESPROMOTE_STATE = drPROMOTION["SALESPROMOTE_STATE"].TryParseToShort(); //促销状态
|
||
promotionModel.TICKET_PREFIX = drPROMOTION["TICKET_PREFIX"].ToString(); //小票前缀
|
||
promotionModel.STAFF_ID = drPROMOTION["STAFF_ID"].TryParseToInt(); //操作员内码
|
||
promotionModel.STAFF_NAME = drPROMOTION["STAFF_NAME"].ToString(); //操作人员
|
||
promotionModel.OPERATE_DATE = drPROMOTION["OPERATE_DATE"].TryParseToDateTime(); //操作时间
|
||
promotionModel.SALESPROMOTE_DESC = drPROMOTION["SALESPROMOTE_DESC"].ToString(); //备注
|
||
|
||
PROMOTIONList.Add(promotionModel);
|
||
}
|
||
|
||
return PROMOTIONList;
|
||
}
|
||
#endregion
|
||
|
||
#region 获取促销信息表明细
|
||
/// <summary>
|
||
/// 获取促销信息表明细
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="PROMOTIONId">促销信息表内码</param>
|
||
/// <returns></returns>
|
||
public static Model.PROMOTIONModel GetPROMOTIONDetail(Transaction transaction, int PROMOTIONId)
|
||
{
|
||
Model.PROMOTIONModel promotionModel = new Model.PROMOTIONModel();
|
||
|
||
Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction);
|
||
_PROMOTION.PROMOTION_ID = PROMOTIONId;
|
||
if (_PROMOTION.Select())
|
||
{
|
||
promotionModel.PROMOTION_ID = _PROMOTION.PROMOTION_ID; //内码
|
||
promotionModel.MEMBERSHIP_IDS = _PROMOTION.MEMBERSHIP_IDS; //会员内码
|
||
promotionModel.MEMBERSHIP_TYPE = _PROMOTION.MEMBERSHIP_TYPE; //会员类型
|
||
promotionModel.MEMBERSHIP_LEVEL = _PROMOTION.MEMBERSHIP_LEVEL; //会员等级
|
||
promotionModel.SERVERPART_IDS = _PROMOTION.SERVERPART_IDS; //服务区
|
||
promotionModel.SERVERPARTSHOP_IDS = _PROMOTION.SERVERPARTSHOP_IDS; //门店内码集合
|
||
if (!string.IsNullOrWhiteSpace(promotionModel.SERVERPARTSHOP_IDS))
|
||
{
|
||
//解析门店名称
|
||
string _SHOP_NAMES = "";
|
||
foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(transaction).FillCollection(
|
||
"WHERE SERVERPARTSHOP_ID IN (" + promotionModel.SERVERPARTSHOP_IDS + ")"))
|
||
{
|
||
_SHOP_NAMES += (_SHOP_NAMES == "" ? "" : ",") + _SERVERPARTSHOP.SHOPNAME;
|
||
}
|
||
promotionModel.SHOP_NAMES = _SHOP_NAMES;
|
||
}
|
||
promotionModel.COMMODITYTYPE_IDS = _PROMOTION.COMMODITYTYPE_IDS; //商品类型
|
||
promotionModel.COMMODITY_IDS = _PROMOTION.COMMODITY_IDS; //商品名称
|
||
promotionModel.CONDITION_SKU = _PROMOTION.CONDITION_SKU; //条件商品编码
|
||
promotionModel.SALESPROMOTE_STARTDATE = _PROMOTION.SALESPROMOTE_STARTDATE; //促销开始时间
|
||
promotionModel.SALESPROMOTE_ENDDATE = _PROMOTION.SALESPROMOTE_ENDDATE; //促销结束时间
|
||
promotionModel.SALESPROMOTE_TYPE = _PROMOTION.SALESPROMOTE_TYPE; //促销类型
|
||
promotionModel.SALESPROMOTE_NAME = _PROMOTION.SALESPROMOTE_NAME; //促销名称
|
||
promotionModel.THRESHOLD_AMOUNT = _PROMOTION.THRESHOLD_AMOUNT; //促销起点金额
|
||
promotionModel.DISCOUNT_RATE = _PROMOTION.DISCOUNT_RATE; //折扣金额
|
||
promotionModel.SALESPROMOTE_VIP = _PROMOTION.SALESPROMOTE_VIP; //会员促销
|
||
promotionModel.SALESPROMOTE_STATE = _PROMOTION.SALESPROMOTE_STATE; //促销状态
|
||
promotionModel.TICKET_PREFIX = _PROMOTION.TICKET_PREFIX; //小票前缀
|
||
promotionModel.STAFF_ID = _PROMOTION.STAFF_ID; //操作员内码
|
||
promotionModel.STAFF_NAME = _PROMOTION.STAFF_NAME; //操作人员
|
||
promotionModel.OPERATE_DATE = _PROMOTION.OPERATE_DATE; //操作时间
|
||
promotionModel.SALESPROMOTE_DESC = _PROMOTION.SALESPROMOTE_DESC; //备注
|
||
}
|
||
|
||
return promotionModel;
|
||
}
|
||
#endregion
|
||
|
||
#region 同步促销信息表
|
||
/// <summary>
|
||
/// 同步促销信息表
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="promotionModel">促销信息表对象</param>
|
||
/// <returns></returns>
|
||
public static bool SynchroPROMOTION(Transaction transaction, Model.PROMOTIONModel promotionModel)
|
||
{
|
||
bool SynchroFlag = true;
|
||
|
||
Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction);
|
||
if (promotionModel.PROMOTION_ID != null)
|
||
{
|
||
_PROMOTION.PROMOTION_ID = promotionModel.PROMOTION_ID;
|
||
if (_PROMOTION.Select())
|
||
{
|
||
SynchroModelToObject(_PROMOTION, promotionModel);
|
||
_PROMOTION.Update();
|
||
}
|
||
else
|
||
{
|
||
SynchroFlag = false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
SynchroModelToObject(_PROMOTION, promotionModel);
|
||
_PROMOTION.Insert();
|
||
}
|
||
|
||
return SynchroFlag;
|
||
}
|
||
|
||
#region 赋值促销信息表数据对象
|
||
/// <summary>
|
||
/// 赋值促销信息表数据对象
|
||
/// </summary>
|
||
/// <param name="_PROMOTION"></param>
|
||
/// <param name="promotionModel"></param>
|
||
public static void SynchroModelToObject(Business.PROMOTION _PROMOTION, Model.PROMOTIONModel promotionModel)
|
||
{
|
||
_PROMOTION.MEMBERSHIP_IDS = promotionModel.MEMBERSHIP_IDS; //会员内码
|
||
_PROMOTION.MEMBERSHIP_TYPE = promotionModel.MEMBERSHIP_TYPE; //会员类型
|
||
_PROMOTION.MEMBERSHIP_LEVEL = promotionModel.MEMBERSHIP_LEVEL; //会员等级
|
||
_PROMOTION.SERVERPART_IDS = promotionModel.SERVERPART_IDS; //服务区
|
||
_PROMOTION.SERVERPARTSHOP_IDS = promotionModel.SERVERPARTSHOP_IDS; //门店名称
|
||
_PROMOTION.COMMODITYTYPE_IDS = promotionModel.COMMODITYTYPE_IDS; //商品类型
|
||
_PROMOTION.COMMODITY_IDS = promotionModel.COMMODITY_IDS; //商品名称
|
||
_PROMOTION.CONDITION_SKU = promotionModel.CONDITION_SKU; //条件商品编码
|
||
_PROMOTION.SALESPROMOTE_STARTDATE = promotionModel.SALESPROMOTE_STARTDATE; //促销开始时间
|
||
_PROMOTION.SALESPROMOTE_ENDDATE = promotionModel.SALESPROMOTE_ENDDATE; //促销结束时间
|
||
_PROMOTION.SALESPROMOTE_TYPE = promotionModel.SALESPROMOTE_TYPE; //促销类型
|
||
_PROMOTION.SALESPROMOTE_NAME = promotionModel.SALESPROMOTE_NAME; //促销名称
|
||
_PROMOTION.THRESHOLD_AMOUNT = promotionModel.THRESHOLD_AMOUNT; //促销起点金额
|
||
_PROMOTION.DISCOUNT_RATE = promotionModel.DISCOUNT_RATE; //折扣金额
|
||
_PROMOTION.SALESPROMOTE_VIP = promotionModel.SALESPROMOTE_VIP; //会员促销
|
||
_PROMOTION.SALESPROMOTE_STATE = promotionModel.SALESPROMOTE_STATE; //促销状态
|
||
_PROMOTION.TICKET_PREFIX = promotionModel.TICKET_PREFIX; //小票前缀
|
||
_PROMOTION.STAFF_ID = promotionModel.STAFF_ID; //操作员内码
|
||
_PROMOTION.STAFF_NAME = promotionModel.STAFF_NAME; //操作人员
|
||
_PROMOTION.OPERATE_DATE = promotionModel.OPERATE_DATE; //操作时间
|
||
_PROMOTION.SALESPROMOTE_DESC = promotionModel.SALESPROMOTE_DESC; //备注
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 更新促销信息状态
|
||
/// <summary>
|
||
/// 更新促销信息状态
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="PromotionId">促销信息表内码</param>
|
||
/// <param name="PromotionStatus">促销状态</param>
|
||
/// <returns></returns>
|
||
public static bool UpdatePromotionstatus(Transaction transaction, int? PromotionId, int PromotionStatus)
|
||
{
|
||
bool UpdateFlag = false;
|
||
|
||
if (PromotionId != null)
|
||
{
|
||
Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction);
|
||
_PROMOTION.PROMOTION_ID = PromotionId;
|
||
if (_PROMOTION.Select())
|
||
{
|
||
_PROMOTION.SALESPROMOTE_STATE = (short)PromotionStatus;
|
||
UpdateFlag = _PROMOTION.Update();
|
||
}
|
||
}
|
||
|
||
return UpdateFlag;
|
||
}
|
||
#endregion
|
||
|
||
#region 删除促销信息表
|
||
/// <summary>
|
||
/// 删除促销信息表
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="PROMOTIONId">促销信息表内码</param>
|
||
/// <returns></returns>
|
||
public static bool DeletePROMOTION(Transaction transaction, int? PROMOTIONId)
|
||
{
|
||
bool DeleteFlag = false;
|
||
|
||
if (PROMOTIONId != null)
|
||
{
|
||
Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction);
|
||
_PROMOTION.PROMOTION_ID = PROMOTIONId;
|
||
if (_PROMOTION.Select())
|
||
{
|
||
_PROMOTION.Delete();
|
||
DeleteFlag = true;
|
||
}
|
||
}
|
||
|
||
return DeleteFlag;
|
||
}
|
||
#endregion
|
||
}
|
||
}
|