TG.WXCRM.V4/BLL/Base/BAS_EXCELIMPORTLOG_BL.cs

166 lines
6.0 KiB
C#
Raw 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.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
{
/// <summary>
/// 数据插入
/// </summary>
/// <param name="errors">错误信息</param>
/// <param name="entry">模型</param>
/// <returns></returns>
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;
}
}
/// <summary>
/// 修改状态
/// </summary>
/// <param name="errors">错误信息</param>
/// <param name="importId">导入批次</param>
/// <param name="doneStatus">状态值</param>
/// <returns></returns>
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;
}
}
/// <summary>
/// 删除excel导入日志
/// </summary>
/// <param name="errors">错误信息</param>
/// <param name="importId">批次ID</param>
/// <returns></returns>
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;
}
}
/// <summary>
/// 获取单个导入文件日志信息
/// </summary>
/// <param name="importId"></param>
/// <returns></returns>
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
/// <summary>
/// 分页获取列表
/// </summary>
/// <param name="pager">分页信息</param>
/// <param name="doneStatus">状态</param>
/// <param name="excelType">导入类型</param>
/// <param name="stime">开始时间</param>
/// <param name="etime">结束时间</param>
/// <returns></returns>
public List<BAS_EXCELIMPORTLOG> 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<BAS_EXCELIMPORTLOG>(ref queryData, ref pager);
return queryData.ToList();
}
}
#endregion
}
}