ComplianceServer/oldcode/BLL/Wx/WX_WORKACCOUNT_INIT_BL.cs

252 lines
9.4 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}
}