using System; using System.Collections.Generic; using System.Linq; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.Model.Entity; using WX.CRM.Model.Enum; namespace WX.CRM.BLL.Base { public class BAS_EXCELIMPORTLOG_BL : IBAS_EXCELIMPORTLOG, IBAS_EXCELIMPORTLOG_Q { /// /// 数据插入 /// /// 错误信息 /// 模型 /// public decimal Create(ref ValidationErrors errors, BAS_EXCELIMPORTLOG entry) { try { using (var db = new crmContext()) { entry.IMPORTID = new SEQUENCES_BL().Seq_base_get(PKIDType.LargeTable); db.BAS_EXCELIMPORTLOG.Add(entry); db.SaveChanges(); return entry.IMPORTID; } } catch (Exception ex) { //DbEntityValidationException 查看验证失败具体的字段 errors.Add(ex.Message); return 0; } } /// /// 修改状态 /// /// 错误信息 /// 导入批次 /// 状态值 /// public bool UpdateDoneStatus(ref ValidationErrors errors, decimal importId, decimal doneStatus) { try { using (var db = new crmContext()) { var entry = db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId); entry.DONESTATUS = doneStatus; return db.SaveChanges().GetResult(); } } catch (Exception ex) { errors.Add(ex.Message); return false; } } /// /// 删除excel导入日志 /// /// 错误信息 /// 批次ID /// public bool Delete(ref ValidationErrors errors, decimal importId) { try { using (var db = new crmContext()) { var entry = db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId); if (entry == null) return false; db.BAS_EXCELIMPORTLOG.Remove(entry); return db.SaveChanges().GetResult(); } } catch (Exception ex) { errors.Add(ex.Message); return false; } } /// /// 获取单个导入文件日志信息 /// /// /// public BAS_EXCELIMPORTLOG GetModel(decimal importId) { using (var db = new crmContext()) { return db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId); } } public void UpdateDateTime(TimeSpan span, decimal importId, int typeId) { try { using (var db = new crmContext()) { var entry = db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId); if (typeId == 1) { entry.EXTINFO1 = span.TotalSeconds.ToString();//导入时间 } else if (typeId == 2) { entry.EXTINFO2 = span.TotalSeconds.ToString();//计算时间 } else if (typeId == 3) { entry.EXTINFO3 = span.TotalSeconds.ToString();//生成业务时间 } db.SaveChanges(); } } catch (Exception ex) { LogHelper.Error("记录导入时间出{importId:" + importId + "typeId:" + typeId + "}:" + ex.ToString()); } } #region 获取分页数据列表 /// /// 分页获取列表 /// /// 分页信息 /// 状态 /// 导入类型 /// 开始时间 /// 结束时间 /// public List GetList(ref Pager pager, string doneStatus, string excelType, string stime, string etime) { using (var db = new crmContext()) { var queryData = db.BAS_EXCELIMPORTLOG.AsQueryable(); if (!string.IsNullOrWhiteSpace(doneStatus)) { decimal _doneStatus = Convert.ToDecimal(doneStatus); queryData = queryData.Where(m => m.DONESTATUS == _doneStatus); } if (!string.IsNullOrWhiteSpace(excelType)) { queryData = queryData.Where(m => m.EXCELTYPE == excelType); } DateTime date1; if (!string.IsNullOrWhiteSpace(stime) && DateTime.TryParse(stime, out date1)) queryData = queryData.Where(m => m.CTIME >= date1); DateTime date2; if (!string.IsNullOrWhiteSpace(etime) && DateTime.TryParse(etime, out date2)) { date2 = date2.AddDays(1); queryData = queryData.Where(m => m.CTIME < date2); } queryData = queryData.OrderByDescending(m => m.CTIME); PagerUtil.SetPager(ref queryData, ref pager); return queryData.ToList(); } } #endregion } }