using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Service
{
///
/// 报修单
///
public partial class RepairRequestForm
{
private readonly DAL.RepairRequestForm _dal = new DAL.RepairRequestForm();
#region Query
///
/// 通过 CorpID 获取
///
public List GetByCorpID(long CorpID)
{
var entity_list = _dal.GetByCorpID(CorpID);
var model_list = Entity2Models(entity_list);
return model_list;
}
///
/// 通过 CorpID 获取待受理数量
///
public int GetPendingCountByCorpID(long CorpID)
{
return _dal.GetPendingCountByCorpID(CorpID);
}
///
/// 通过 CorpID 获取最近几条
///
public List GetLastByCorpID(long CorpID, int Number)
{
var entityList = _dal.GetLastByCorpID(CorpID,Number);
var modelList = Entity2Models(entityList);
return modelList?.OrderByDescending(x => x.CreateTime).ToList();
}
///
/// 通过 ID 获取
///
public Model.RepairRequestForm GetByID(long CorpID, long ID)
{
var entity = _dal.GetByID(CorpID, ID);
var model = Entity2Model(entity);
return model;
}
///
/// 通过 Ids 获取
///
public List GetByIds(long CorpID, List Ids)
{
if (Ids == null || Ids.Count() < 1)
return default;
var entity_list = _dal.GetByIds(CorpID, Ids);
var model_list = Entity2Models(entity_list);
return model_list?.OrderBy(x => x.CreateTime).ToList();
}
///
/// 通过 CorpID 获取待受理
///
public List GetPendingByCorpID(long CorpID)
{
var entityList = _dal.GetPendingByCorpID(CorpID);
var modelList = Entity2Models(entityList);
return modelList;
}
///
/// 获取我的模糊分页列表
///
public List GetMyFluzzyPageList
(
long CorpID,
long CreateUserID,
Model.Repair.eRequestStatus? FormStatus,
Model.Repair.eUrgency? Urgency,
DateTime? StartTime,
DateTime? EndTime,
int PageIndex,
int PageSize,
ref int Total
)
{
Total = 0;
if (StartTime > EndTime)
return default;
var entity_list = _dal.GetMyFluzzyPageList(CorpID, CreateUserID, (int?)FormStatus, (int?)Urgency, StartTime, EndTime, PageIndex, PageSize, ref Total);
var model_list = Entity2Models(entity_list);
return model_list;
}
///
/// 获取模糊分页列表
///
public List GetFluzzyPageList
(
long CorpID,
string BelongType,
long? BelongID,
long? CreateUserID,
Model.Repair.eRequestStatus? FormStatus,
Model.Repair.eUrgency? Urgency,
string FormNo,
DateTime? StartTime,
DateTime? EndTime,
int PageIndex,
int PageSize,
ref int Total
)
{
Total = 0;
if (StartTime > EndTime)
return default;
var entity_list = _dal.GetFluzzyPageList(CorpID,BelongType,BelongID, CreateUserID, (int?)FormStatus, (int?)Urgency,FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
var model_list = Entity2Models(entity_list);
return model_list;
}
///
/// 获取待派单分页列表
///
public List> GetJustAcceptedPageList
(
long CorpID,
string BelongType,
long? BelongID,
long? CreateUserID,
Model.Repair.eUrgency? Urgency,
string FormNo,
DateTime? StartTime,
DateTime? EndTime,
int PageIndex,
int PageSize,
ref int Total
)
{
Total = 0;
if (StartTime > EndTime)
return default;
var entity_list = _dal.GetJustAccepedPageList(CorpID, BelongType, BelongID, CreateUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
var model_list = entity_list?.Select(x => new Tuple(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
return model_list;
}
#endregion
#region Insert
///
/// 插入一条数据
///
public long Insert(Model.RepairRequestForm model)
{
if (model == null)
return default;
if (model.CorpID < 1)
return default;
var entity = Model2Entity(model);
var id = _dal.Insert(entity);
return id;
}
///
/// 插入一条数据
///
public long Insert(Model.RepairRequestForm model, List fileList)
{
if (model == null)
return default;
if (model.CorpID < 1)
return default;
var entity = Model2Entity(model);
var entity4Log = new Entity.RepairRequestLog();
entity4Log.CorpID = model.CorpID;
entity4Log.OperateType = (int)Model.Repair.eRequestOperateType.Create;
entity4Log.OperateContent = "创建";
entity4Log.OperateTime = model.CreateTime;
entity4Log.OperateUserID = model.CreateUserID;
var entity4FileList = Model2Entities(fileList);
var id = _dal.Insert(entity, entity4Log, entity4FileList);
return id;
}
#endregion
#region Update
///
/// 更新一条
///
public bool Update(Model.RepairRequestForm model)
{
if (model == null)
return default;
if (model.CorpID < 1)
return default;
if (model.ID < 1)
return default;
var entity = Model2Entity(model);
var bol = _dal.Update(entity);
return bol;
}
///
/// 更新多条
///
public bool Updates(List list)
{
if (list == null || list.Count() < 1)
return default;
var corpIds = list.Select(x => x.CorpID).Distinct().ToList();
if (corpIds.Count != 1 || corpIds[0] < 1)
return default;
if (list.ToList().Exists(x => x.ID < 1))
return default;
var entity_list = Model2Entities(list.ToList());
var bol = _dal.Updates(entity_list);
return bol;
}
///
/// 更新文件状态
///
public bool UpdateFileStatus(long CorpID, long ID, Model.Repair.eRequestStatus FormStatus, long UpdateUserID, DateTime UpdateTime)
{
var bol = _dal.UpdateFormStatus(CorpID, ID, (int)FormStatus, UpdateUserID, UpdateTime);
return bol;
}
///
/// 驳回
///
public bool Reject(long CorpID, long ID, string Reason, long UpdateUserID, DateTime UpdateTime)
{
var bol = _dal.Reject(CorpID,ID,Reason,UpdateUserID,UpdateTime);
return bol;
}
///
/// 受理
///
public bool Accept(long CorpID, long ID,string Note, long UpdateUserID, DateTime UpdateTime)
{
var bol = _dal.Accept(CorpID, ID,Note, UpdateUserID, UpdateTime);
return bol;
}
#endregion
#region Exist
///
/// 根据 ID 判断是否存在
///
public bool IsExistByID(long CorpID, long ID)
{
var all = GetByCorpID(CorpID);
return all.Exists(x => x.ID == ID);
}
#endregion
#region Delete
///
/// 通过 ID 删除
///
public bool DeleteByID(long CorpID, long ID, out string Msg)
{
Msg = string.Empty;
var dal = new DAL.RepairRequestForm();
var bol = dal.DeleteByID(CorpID, ID);
return bol;
}
#endregion
}
}