TG.WXCRM.V4/BLL/Wx/WX_WORKWEIXIN.cs

197 lines
7.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.IBLL.Wx;
using WX.CRM.Model.Entity;
namespace WX.CRM.BLL.Wx
{
public class WX_WORKWEIXIN_BL : DbContextRepository<WX_WORKWEIXIN>, IWX_WORKWEIXIN
{
public int CountByEid(decimal Eid, int? auditStatus, decimal? isValid)
{
using (var db = new crmContext())
{
var queryData = db.WX_WORKWEIXIN.AsEnumerable();
queryData = queryData.Where(m => m.EID == Eid);
if (auditStatus.HasValue)
{
queryData = queryData.Where(m => m.AUDITSTATAUS == auditStatus.Value);
}
if (isValid.HasValue)
{
queryData = queryData.Where(m => m.ISVALID == isValid.Value);
}
var res = 0;
if (queryData != null)
{
res = queryData.ToList().Count;
}
return res;
}
}
public List<WX_WORKWEIXIN> GetList(ref Pager page, string alias, decimal? auditStatus, decimal eid, string resID, decimal? isValid, string stime, string etime)
{
using (var db = new crmContext())
{
var queryData = db.WX_WORKWEIXIN.AsQueryable();
if (!string.IsNullOrWhiteSpace(alias))
{
alias = alias.Trim();
queryData = queryData.Where(m => m.ALIAS.Contains(alias));
}
if (auditStatus.HasValue)
{
queryData = queryData.Where(m => m.AUDITSTATAUS == auditStatus.Value);
}
if (eid > 0)
{
queryData = queryData.Where(m => m.EID == eid);
}
if (!string.IsNullOrWhiteSpace(resID))
{
resID = resID.Trim();
queryData = queryData.Where(m => m.RESID == resID);
}
if (!string.IsNullOrWhiteSpace(stime))
{
DateTime time1 = Convert.ToDateTime(stime);
queryData = queryData.Where(m => m.CTIME >= time1);
}
if (!string.IsNullOrWhiteSpace(etime))
{
DateTime time2 = Convert.ToDateTime(etime).AddDays(1);
queryData = queryData.Where(m => m.CTIME < time2);
}
if (isValid.HasValue)
{
queryData = queryData.Where(m => m.ISVALID == isValid);
}
//var returnData = (from a in queryData
// join c in db.BAS_INNERUSER on a.INNERUSERID equals c.PKID
// join d in db.BAS_INNERUSERGROUP on c.PKID equals d.INNERUSERID
// join e in db.BAS_INNERGROUP on d.GID equals e.GID
// select new WX_WORKACCOUNT_INIT_Extend()
// {
// wx_WorkAccount_Init = a,
// Groupid = d.GID.Value,
// GroupName = e.GNAME,
// InneruserName = c.TRUENAME
// });
var returnData = queryData;
returnData = returnData.OrderBy(m => m.EID);
PagerUtil.SetPager<WX_WORKWEIXIN>(ref returnData, ref page);
return returnData.ToList();
}
}
public bool Update(ref ValidationErrors errors, decimal pkid, string alias, string mobile, string qrCodeUrl, decimal auditStatus, decimal qrCodeSize)
{
try
{
using (crmContext db = new crmContext())
{
WX_WORKWEIXIN entry = db.WX_WORKWEIXIN.FirstOrDefault(m => m.PKID == pkid);
if (entry == null)
{
errors.Add("找不到数据!");
return false;
}
if (entry.AUDITSTATAUS == 1)
{
errors.Add("审核通过的微信不能再进行修改");
return false;
}
entry.ALIAS = alias;
entry.MOBILE = mobile;
entry.AUDITSTATAUS = auditStatus;
if (!string.IsNullOrWhiteSpace(qrCodeUrl))
{
System.IO.File.Delete(System.Web.HttpContext.Current.Server.MapPath(entry.QRCODEURL));// 删除旧图片
entry.QRCODEURL = qrCodeUrl;
}
entry.QRCODESIZE = qrCodeSize;
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public bool UpdateQRCode(ref ValidationErrors errors, decimal pkid, string qrCodeUrl, decimal qrCodeSize)
{
try
{
using (crmContext db = new crmContext())
{
WX_WORKWEIXIN entry = db.WX_WORKWEIXIN.FirstOrDefault(m => m.PKID == pkid);
if (entry == null)
{
errors.Add("找不到数据!");
return false;
}
if (!string.IsNullOrWhiteSpace(qrCodeUrl))
{
System.IO.File.Delete(System.Web.HttpContext.Current.Server.MapPath(entry.QRCODEURL));// 删除旧图片
entry.QRCODEURL = qrCodeUrl;
}
entry.QRCODESIZE = qrCodeSize;
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public bool Audit(ref ValidationErrors errors, decimal pkid, decimal auditStatus, string auditMemo, string auditUser)
{
try
{
using (crmContext db = new crmContext())
{
WX_WORKWEIXIN entry = db.WX_WORKWEIXIN.FirstOrDefault(m => m.PKID == pkid);
if (entry == null)
{
errors.Add("找不到数据!");
return false;
}
if (auditStatus == -1 && string.IsNullOrWhiteSpace(auditMemo))
{
errors.Add("审核不通过的必须注明备注信息");
return false;
}
entry.AUDITSTATAUS = auditStatus;
entry.AUDITTIME = DateTime.Now;
entry.AUDITUSER = auditUser;
entry.AUDITMEMO = auditMemo;
//审核通过
if (auditStatus == 1)
{
entry.ISVALID = 1;
}
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
}
}