using iWareCommon.Common.EnumType;
|
using iWareCommon.Common.Service;
|
using iWareCommon.Utils;
|
using iWareExcel.EXCEL.Dao;
|
using iWareExcel.EXCEL.Entity;
|
using iWareExcel.ORM;
|
using iWareExcel.Properties;
|
using System;
|
using System.Data.Entity.Validation;
|
using System.Linq;
|
|
namespace iWareExcel.EXCEL.Service
|
{
|
public class WorkCellService : CommonService<WorkCellEntity, EXCELWorkCell, DbModelExcel>
|
{
|
private static object Lock = new object();
|
|
private WorkCellService():base(WorkCellDao.GetInstance()) { }
|
|
private static WorkCellService Instance = null;
|
|
/// <summary>
|
/// 获取单例的方法
|
/// </summary>
|
/// <returns>角色服务的单例实体</returns>
|
public static WorkCellService GetInstance()
|
{
|
|
if (Instance == null)
|
{
|
lock (Lock)
|
{
|
if (Instance == null)
|
{
|
Instance = new WorkCellService();
|
}
|
}
|
}
|
return Instance;
|
}
|
|
public override int Save(WorkCellEntity t, out string msg)
|
{
|
msg = "";
|
using (var dbModel = new DbModelExcel())
|
{
|
try
|
{
|
var workSheets = dbModel.EXCELWorkSheets.Where(x => x.id == t.WorkSheetId).Select(x => new { x.id, x.name,x.workbookid,x.workbookname }).ToList();
|
t.WorkSheetName = workSheets.Count > 0 ? workSheets[0].name : "";
|
t.WorkBookName = workSheets.Count > 0 ? workSheets[0].workbookname : "";
|
t.WorkBookId = workSheets.Count > 0 ? workSheets[0].workbookid : 0;
|
return WorkCellDao.GetInstance().Save(t, dbModel);
|
|
}
|
catch (DbEntityValidationException ex)
|
{
|
var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
|
msg = string.Join(", ", errs);
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg);
|
return -1;
|
}
|
catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", ex.Message);
|
return -1;
|
}
|
catch (Exception ex)
|
{
|
msg = ex.HResult == (int)EDbError.记录已存在 ? EDbError.记录已存在.ToString() : ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg);
|
return -1;
|
}
|
}
|
}
|
|
public override int Update(WorkCellEntity t, out string msg)
|
{
|
msg = "";
|
using (var dbModel = new DbModelExcel())
|
{
|
try
|
{
|
var workSheets = dbModel.EXCELWorkSheets.Where(x => x.id == t.WorkSheetId).Select(x => new { x.id, x.name, x.workbookid, x.workbookname }).ToList();
|
t.WorkSheetName = workSheets.Count > 0 ? workSheets[0].name : "";
|
t.WorkBookName = workSheets.Count > 0 ? workSheets[0].workbookname : "";
|
t.WorkBookId = workSheets.Count > 0 ? workSheets[0].workbookid : 0;
|
return WorkCellDao.GetInstance().Update(t, dbModel);
|
|
}
|
catch (DbEntityValidationException ex)
|
{
|
var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
|
msg = string.Join(", ", errs);
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg);
|
return -1;
|
}
|
catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", ex.Message);
|
return -1;
|
}
|
catch (Exception ex)
|
{
|
msg = ex.HResult == (int)EDbError.记录已存在 ? EDbError.记录已存在.ToString() : ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg);
|
return -1;
|
}
|
}
|
}
|
|
|
}
|
}
|