OpenAuth.Net/OpenAuth.App/WFSchemeService.cs

116 lines
4.2 KiB
C#
Raw Normal View History

2017-09-01 00:47:44 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
2017-11-30 17:47:41 +08:00
using OpenAuth.App.Response;
2017-11-29 20:49:14 +08:00
using OpenAuth.Repository.Domain;
using OpenAuth.Repository.Interface;
2017-09-01 00:47:44 +08:00
namespace OpenAuth.App
{
/// <summary>
/// 流程设计服务
/// <para>李玉宝新增于2017-01-16 16:18:35</para>
/// </summary>
public class WFSchemeService
{
public IUnitWork _unitWork { get; set; }
2017-09-01 00:47:44 +08:00
/// <summary>
/// 保存流程
/// </summary>
/// <param name="entity">表单模板实体类</param>
/// <param name="keyValue">主键</param>
/// <returns></returns>
public int SaveForm(string keyValue, WFSchemeInfo entity, WFSchemeContent modelentity)
{
try
{
if (string.IsNullOrEmpty(keyValue))
{
entity.SchemeVersion = DateTime.Now.ToString("yyyyMMddHHmmssffff");
_unitWork.Add(entity);
modelentity.SchemeInfoId = entity.Id;
modelentity.SchemeVersion = entity.SchemeVersion;
_unitWork.Add(modelentity);
}
else
{
2017-10-11 16:19:34 +08:00
string schemeid = (string)(keyValue);
2017-09-01 00:47:44 +08:00
WFSchemeContent modelentityold =
_unitWork.FindSingle<WFSchemeContent>(u => u.SchemeVersion == entity.SchemeVersion
&& u.SchemeInfoId == schemeid);
if (modelentityold.SchemeContent != modelentity.SchemeContent)
{
if (modelentity.SchemeVersion == "cg")
{
modelentityold.SchemeContent = modelentity.SchemeContent;
modelentityold.SchemeVersion = DateTime.Now.ToString("yyyyMMddHHmmssffff");
modelentity.SchemeVersion = modelentityold.SchemeVersion;
_unitWork.Update(modelentityold);
}
else
{
modelentity.SchemeInfoId = schemeid;
modelentity.SchemeVersion = DateTime.Now.ToString("yyyyMMddHHmmssffff");
_unitWork.Add(modelentity);
}
}
else
{
modelentity.SchemeVersion = modelentityold.SchemeVersion;
}
2017-10-11 16:19:34 +08:00
entity.Id = keyValue;
2017-09-01 00:47:44 +08:00
entity.SchemeVersion = modelentity.SchemeVersion;
_unitWork.Update(entity);
}
_unitWork.Save();
return 1;
}
catch (Exception)
{
throw;
}
}
2017-10-11 16:19:34 +08:00
public void RemoveForm(string[] keyValue)
2017-09-01 00:47:44 +08:00
{
_unitWork.Delete<WFSchemeInfo>(u =>keyValue.Contains(u.Id));
_unitWork.Delete<WFSchemeContent>(u =>keyValue.Contains(u.SchemeInfoId));
}
2017-10-11 16:19:34 +08:00
public WFSchemeInfo GetEntity(string keyValue)
2017-09-01 00:47:44 +08:00
{
return _unitWork.FindSingle<WFSchemeInfo>(u => u.Id == keyValue);
}
2017-10-11 16:19:34 +08:00
public WFSchemeContent GetSchemeEntity(string schemeinfoId, string schemeinfoSchemeVersion)
2017-09-01 00:47:44 +08:00
{
return _unitWork.FindSingle<WFSchemeContent>(u =>
u.SchemeInfoId == schemeinfoId && u.SchemeVersion == schemeinfoSchemeVersion);
}
public void UpdateState(string keyValue, int state)
{
throw new NotImplementedException();
}
public List<WFSchemeInfo> GetList()
{
return _unitWork.Find<WFSchemeInfo>(null).ToList();
}
2017-11-30 17:47:41 +08:00
public TableData Load(int pageCurrent, int pageSize)
2017-09-01 00:47:44 +08:00
{
2017-11-30 17:47:41 +08:00
var result = new TableData();
2017-09-01 00:47:44 +08:00
result.count = _unitWork.Find<WFSchemeInfo>(null).Count();
2017-09-01 00:47:44 +08:00
result.data = _unitWork.Find<WFSchemeInfo>(pageCurrent, pageSize, "ModifyDate descending", null).ToList();
return result;
}
}
}