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, 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 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(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; } } /// /// 修改微信状态并推送 /// /// /// /// /// /// /// /// 1:推送 /// 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(); } } }