252 lines
9.4 KiB
C#
252 lines
9.4 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using WX.CRM.BLL.Util;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.DAL.Wx;
|
||
using WX.CRM.IBLL.Wx;
|
||
using WX.CRM.Model.Entity;
|
||
|
||
namespace WX.CRM.BLL.Wx
|
||
{
|
||
public class WX_WORKACCOUNT_INIT_BL : DbContextRepository<WX_WORKACCOUNT_INIT>, IWX_WORKACCOUNT_INIT
|
||
{
|
||
|
||
WX_WORKACCOUNT_DAL wx_WorkAccount_DAL = new WX_WORKACCOUNT_DAL();
|
||
|
||
public int CountByEid(decimal Eid, int? auditStatus, decimal? isValid)
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
var queryData = db.WX_WORKACCOUNT_INIT.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_WORKACCOUNT_INIT> 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_WORKACCOUNT_INIT.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_WORKACCOUNT_INIT>(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_WORKACCOUNT_INIT entry = db.WX_WORKACCOUNT_INIT.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_WORKACCOUNT_INIT entry = db.WX_WORKACCOUNT_INIT.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_WORKACCOUNT_INIT entry = db.WX_WORKACCOUNT_INIT.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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 修改微信状态并推送
|
||
/// </summary>
|
||
/// <param name="errors"></param>
|
||
/// <param name="alias"></param>
|
||
/// <param name="isValid"></param>
|
||
/// <param name="pauseEndTime"></param>
|
||
/// <param name="remark"></param>
|
||
/// <param name="userId"></param>
|
||
/// <param name="isPush">1:推送</param>
|
||
/// <returns></returns>
|
||
public bool ModifyWorkAccountIsValid(ref ValidationErrors errors, string alias, decimal isValid, string pauseEndTime, string remark, decimal userId, decimal isPush)
|
||
{
|
||
var msg = string.Empty;
|
||
try
|
||
{
|
||
var flag = wx_WorkAccount_DAL.ModifyWorkAccountIsValid(alias, isValid, pauseEndTime, remark, userId, isPush, out msg);
|
||
if (!flag)
|
||
{
|
||
errors.Add(msg);
|
||
}
|
||
return flag;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
errors.Add(ex.Message);
|
||
return false;
|
||
}
|
||
throw new NotImplementedException();
|
||
}
|
||
|
||
public bool PushWordAccountData(ref ValidationErrors errors, string alias, int type)
|
||
{
|
||
var msg = string.Empty;
|
||
try
|
||
{
|
||
var flag = wx_WorkAccount_DAL.PushWordAccountData(alias, type, out msg);
|
||
if (!flag)
|
||
{
|
||
errors.Add(msg);
|
||
}
|
||
return flag;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
errors.Add(ex.Message);
|
||
return false;
|
||
}
|
||
throw new NotImplementedException();
|
||
}
|
||
}
|
||
}
|