TG.WXCRM.V4/BLL/Level2/L2_SOFT_PRODUCT_BL.cs

101 lines
3.5 KiB
C#

using System.Collections.Generic;
using System.Linq;
using System.Web.UI;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.IBLL.Level2;
using WX.CRM.Model.Entity;
namespace WX.CRM.BLL.Level2
{
public class L2_SOFT_PRODUCT_BL : DbContextRepository<L2_SOFT_PRODUCT>, IL2_SOFT_PRODUCT_Q
{
public List<Model.Entity.L2_SOFT_PRODUCT> GetListL2_Soft_product()
{
using (var contex = new Model.Entity.crmContext())
{
return contex.L2_SOFT_PRODUCT.ToList();
}
}
public Model.Entity.L2_SOFT_PRODUCT GetL2_Soft_product(decimal productid)
{
using (var contex = new Model.Entity.crmContext())
{
return contex.L2_SOFT_PRODUCT.Where(p => p.PRODUCTID == productid).FirstOrDefault();
}
}
public List<L2_SOFT_PRODUCT> Get2Soft_Products(string productName, Pager pager)
{
using (var db = new Model.Entity.crmContext())
{
var queryData = db.L2_SOFT_PRODUCT.AsQueryable();
if (!string.IsNullOrEmpty(productName))
{
queryData = queryData.Where(p => p.PRODUCTNAME.Contains(productName));
}
queryData = queryData.OrderBy(m => m.SORT);
PagerUtil.SetPager<L2_SOFT_PRODUCT>(ref queryData, ref pager);
return queryData.ToList();
}
}
public void MoveProduct(int ProductId, int t = 1)
{
using (var db = new Model.Entity.crmContext())
{
var product = db.L2_SOFT_PRODUCT.FirstOrDefault(m => m.PRODUCTID == ProductId);
if (product != null)
{
var sort = product.SORT;
if (t == 1)//向上移动
{
var prePro = db.L2_SOFT_PRODUCT.Where(m => m.SORT < sort).OrderByDescending(m => m.SORT).FirstOrDefault();
if (prePro != null)
{ //找到上一个产品
//交换sort
product.SORT = prePro.SORT;
prePro.SORT = sort;
}
}
else
{
var prePro = db.L2_SOFT_PRODUCT.Where(m => m.SORT > sort).OrderBy(m => m.SORT).FirstOrDefault();
if (prePro != null)
{ //找到上一个产品
//交换sort
product.SORT = prePro.SORT;
prePro.SORT = sort;
}
}
}
db.SaveChanges();
}
}
public int GetNextSort() {
using (var db = new Model.Entity.crmContext())
{
var product = db.L2_SOFT_PRODUCT.OrderBy(m=>m.SORT).FirstOrDefault();
if (product == null) {
return 0;
}
return (product.SORT ?? 0)-1 ;
}
}
public decimal GetNextId()
{
using (var db = new Model.Entity.crmContext())
{
var product = db.L2_SOFT_PRODUCT.OrderByDescending(m => m.PRODUCTID).FirstOrDefault();
if (product == null)
{
return 0;
}
return product.PRODUCTID + 1;
}
}
}
}