/*
* 优惠券
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using MySystem.Models.Main;
using Library;
using LitJson;
namespace MySystem.Service.Main
{
public class CouponsService
{
string _conn = "";
public CouponsService()
{
_conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
}
///
/// 查询列表
///
/// 关联表
/// 查询条件(sql语句)
/// 总数(输出)
/// 页码
/// 每页条数
///
public List> List(List relationData, string condition, out int count, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc")
{
List fields = new List(); //要显示的列
fields.Add("Id");
fields.Add("CreateDate"); //添加时间
fields.Add("Status"); //状态
fields.Add("Name"); //名称
fields.Add("IsNewUser"); //新创客使用
fields.Add("IsPublic"); //是否公开领取
fields.Add("Stock"); //库存
fields.Add("Kind"); //优惠券类型
fields.Add("MerchantId"); //商家
fields.Add("ProductColId"); //商品分类
fields.Add("ProductId"); //商品
fields.Add("UserMaxLevel"); //创客最高等级
fields.Add("UserMinLevel"); //创客最低等级
fields.Add("UseStartDate"); //开始使用时间
fields.Add("UseEndDate"); //结束使用时间
fields.Add("IsRepeat"); //是否重复
fields.Add("RepeatType"); //重复类型
fields.Add("IsReUse"); //是否一次性使用
fields.Add("PublicStartDate"); //公开领取开始时间
fields.Add("PublicEndDate"); //公开领取结束时间
fields.Add("PublicMax"); //公开每人领取数量
fields.Add("PublicMaxByDay"); //公开每人每天领取数量
fields.Add("IsSuperpose"); //是否叠加使用
fields.Add("AndPromotion"); //是否与促销活动同时使用
fields.Add("FullReduceMoney"); //满多少可用
fields.Add("FullReduceData"); //满减数据
fields.Add("ExpireStartDate"); //过期开始时间
fields.Add("ExpireEndDate"); //过期结束时间
Dictionary obj = new DbService(AppConfig.Base.dbTables, _conn).IndexData("Coupons", relationData, orderBy, page, limit, condition, fields);
List> diclist = obj["data"] as List>;
count = int.Parse(obj["count"].ToString());
return diclist;
}
public List> List(List relationData, string condition, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc")
{
List fields = new List(); //要显示的列
fields.Add("Id");
fields.Add("CreateDate"); //添加时间
fields.Add("Status"); //状态
fields.Add("Name"); //名称
fields.Add("IsNewUser"); //新创客使用
fields.Add("IsPublic"); //是否公开领取
fields.Add("Stock"); //库存
fields.Add("Kind"); //优惠券类型
fields.Add("MerchantId"); //商家
fields.Add("ProductColId"); //商品分类
fields.Add("ProductId"); //商品
fields.Add("UserMaxLevel"); //创客最高等级
fields.Add("UserMinLevel"); //创客最低等级
fields.Add("UseStartDate"); //开始使用时间
fields.Add("UseEndDate"); //结束使用时间
fields.Add("IsRepeat"); //是否重复
fields.Add("RepeatType"); //重复类型
fields.Add("IsReUse"); //是否一次性使用
fields.Add("PublicStartDate"); //公开领取开始时间
fields.Add("PublicEndDate"); //公开领取结束时间
fields.Add("PublicMax"); //公开每人领取数量
fields.Add("PublicMaxByDay"); //公开每人每天领取数量
fields.Add("IsSuperpose"); //是否叠加使用
fields.Add("AndPromotion"); //是否与促销活动同时使用
fields.Add("FullReduceMoney"); //满多少可用
fields.Add("FullReduceData"); //满减数据
fields.Add("ExpireStartDate"); //过期开始时间
fields.Add("ExpireEndDate"); //过期结束时间
Dictionary obj = new DbService(AppConfig.Base.dbTables, _conn).IndexData("Coupons", relationData, orderBy, page, limit, condition, fields);
List> diclist = obj["data"] as List>;
return diclist;
}
///
/// 查询一条记录
///
/// 主键Id
///
public Coupons Query(int Id)
{
WebCMSEntities db = new WebCMSEntities();
Coupons editData = db.Coupons.FirstOrDefault(m => m.Id == Id) ?? new Coupons();
db.Dispose();
return editData;
}
///
/// 查询记录数
///
/// 主键Id
///
public int Count(string condition = "")
{
int result = 0;
DataTable dt = CustomerSqlConn.dtable("select count(Id) from Coupons where 1=1" + condition, _conn);
if(dt.Rows.Count > 0)
{
result = int.Parse(function.CheckInt(dt.Rows[0][0].ToString()));
}
return result;
}
///
/// 查询是否存在
///
/// 主键Id
///
public bool Exist(int Id)
{
WebCMSEntities db = new WebCMSEntities();
bool check = db.Coupons.Any(m => m.Id == Id);
db.Dispose();
return check;
}
///
/// 添加数据
///
/// 要设置的字段
///
public AppResultJson Add(Dictionary fields, bool check = true)
{
if(check)
{
if (string.IsNullOrEmpty(fields["Name"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写名称" };
}
if (string.IsNullOrEmpty(fields["Stock"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写库存" };
}
if (!function.IsNum(fields["Stock"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的库存" };
}
if (string.IsNullOrEmpty(fields["PublicMax"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写公开每人领取数量" };
}
if (!function.IsInt(fields["PublicMax"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人领取数量" };
}
if (string.IsNullOrEmpty(fields["PublicMaxByDay"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写公开每人每天领取数量" };
}
if (!function.IsInt(fields["PublicMaxByDay"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人每天领取数量" };
}
if (string.IsNullOrEmpty(fields["FullReduceMoney"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写满多少可用" };
}
if (!function.IsNum(fields["FullReduceMoney"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的满多少可用" };
}
if (string.IsNullOrEmpty(fields["FullReduceData"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写满减数据" };
}
if (!function.IsNum(fields["FullReduceData"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的满减数据" };
}
if (string.IsNullOrEmpty(fields["ExpireStartDate"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写过期开始时间" };
}
if (string.IsNullOrEmpty(fields["ExpireEndDate"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写过期结束时间" };
}
}
int Id = new DbService(AppConfig.Base.dbTables, _conn).Add("Coupons", fields, 0);
return new AppResultJson(){ Status = "1", Data = Id };
}
///
/// 修改数据
///
/// 要设置的字段
/// 主键Id
public AppResultJson Edit(Dictionary fields, int Id, bool check = true)
{
if(check)
{
if (string.IsNullOrEmpty(fields["Name"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写名称" };
}
if (string.IsNullOrEmpty(fields["Stock"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写库存" };
}
if (!function.IsNum(fields["Stock"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的库存" };
}
if (string.IsNullOrEmpty(fields["PublicMax"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写公开每人领取数量" };
}
if (!function.IsInt(fields["PublicMax"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人领取数量" };
}
if (string.IsNullOrEmpty(fields["PublicMaxByDay"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写公开每人每天领取数量" };
}
if (!function.IsInt(fields["PublicMaxByDay"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的公开每人每天领取数量" };
}
if (string.IsNullOrEmpty(fields["FullReduceMoney"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写满多少可用" };
}
if (!function.IsNum(fields["FullReduceMoney"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的满多少可用" };
}
if (string.IsNullOrEmpty(fields["FullReduceData"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写满减数据" };
}
if (!function.IsNum(fields["FullReduceData"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写正确的满减数据" };
}
if (string.IsNullOrEmpty(fields["ExpireStartDate"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写过期开始时间" };
}
if (string.IsNullOrEmpty(fields["ExpireEndDate"].ToString()))
{
return new AppResultJson() { Status = "-1", Info = "请填写过期结束时间" };
}
}
new DbService(AppConfig.Base.dbTables, _conn).Edit("Coupons", fields, Id);
return new AppResultJson(){ Status = "1", Data = Id };
}
///
/// 逻辑删除
///
/// 主键Id
public void Remove(int Id)
{
Dictionary fields = new Dictionary();
fields.Add("Status", -1);
new DbService(AppConfig.Base.dbTables, _conn).Edit("Coupons", fields, Id);
}
///
/// 删除数据
///
/// 主键Id
public void Delete(int Id)
{
new DbService(AppConfig.Base.dbTables, _conn).Delete("Coupons", Id);
}
///
/// 排序
///
/// 主键Id
/// 排序序号
public void Sort(int Id, int Sort)
{
new DbService(AppConfig.Base.dbTables, _conn).Sort("Coupons", Sort, Id);
}
///
/// 导入数据
///
/// json数据
public void Import(string ExcelData)
{
WebCMSEntities db = new WebCMSEntities();
JsonData list = JsonMapper.ToObject(ExcelData);
for (int i = 1; i < list.Count;i++ )
{
JsonData dr = list[i];
db.Coupons.Add(new Coupons()
{
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now,
});
db.SaveChanges();
}
db.Dispose();
}
///
/// 导出excel表格
///
/// 查询条件(单个字段)
/// 查询条件(sql语句)
///
// public void ExportExcel(List relationData, string condition)
// {
// }
}
}