using AutoMapper;
using HStation.Dto;
using Yw.Dto;
namespace HStation.BLL
{
///
///
///
public class EmployeeMain
{
private readonly HStation.CAL.IEmployeeMain _cal = CALCreateHelper.CreateCAL();
#region Query
///
///
///
public async Task> GetAll()
{
var dtolist = await _cal.GetAll();
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.EmployeeID, opt => opt.MapFrom(src => src.ID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var vmoList = mapper.Map, List>(dtolist);
return vmoList;
}
///
///
///
public async Task GetByID(long ID)
{
var dto = await _cal.GetByID(ID);
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.EmployeeID, opt => opt.MapFrom(src => src.ID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var vmo = mapper.Map(dto);
return vmo;
}
public async Task GetByErpCode(String ErpCode)
{
var dto = await _cal.GetByErpCode(ErpCode);
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.EmployeeID, opt => opt.MapFrom(src => src.ID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var vmo = mapper.Map(dto);
return vmo;
}
///
///
///
public async Task> GetByIds(List Ids)
{
var dtolist = await _cal.GetByIds(Ids);
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.EmployeeID, opt => opt.MapFrom(src => src.ID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var vmoList = mapper.Map, List>(dtolist);
return vmoList;
}
#endregion Query
#region Insert
///
///
///
public async Task Insert(Vmo.EmployeeMain vmo)
{
if (vmo == null)
return 0;
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.EmployeeID, opt => opt.MapFrom(src => src.ID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var dto = mapper.Map(vmo);
return await _cal.Insert(dto);
}
///
/// 插入员工拓展
///
public async Task InsertEx(Vmo.EmployeeMain vmo)
{
if (vmo == null)
return null;
if (string.IsNullOrEmpty(vmo.ErpCode))
return null;
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var dto = mapper.Map(vmo);
var IDList = new EmployeeAndLoginID();
var result = await _cal.Insert(dto);
if (result > 0)
{
IDList.EmployeeID = result;
if (vmo.User != null)
{
var userbll = new Yw.BLL.User();
try
{
var userid = await userbll.Insert(vmo.User);
if (userid > 0)
{
IDList.LoginID = userid;
}
return IDList;
}
catch (Exception ex)
{
return null;
}
}
else
{
return IDList;
}
}
return null;
}
#endregion Insert
#region Update
///
///
///
public async Task Update(Vmo.EmployeeMain vmo)
{
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.ID, opt => opt.MapFrom(src => src.EmployeeID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var dto = mapper.Map(vmo);
return await _cal.Update(dto);
}
///
///
///
public async Task Updates(List vmolist)
{
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.ID, opt => opt.MapFrom(src => src.EmployeeID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var dtoList = mapper.Map, List>(vmolist);
return await _cal.Updates(dtoList);
}
///
///
///
public async Task BulkUpdates(List vmolist)
{
var mapper = new MapperConfiguration(cfg => cfg.CreateMap()
.ForMember(d => d.ID, opt => opt.MapFrom(src => src.EmployeeID))
.ForMember(d => d.StaffStatus, opt => opt.MapFrom(src => src.StaffStatus))
).CreateMapper();
var dtoList = mapper.Map, List>(vmolist);
return await _cal.BulkUpdates(dtoList);
}
///
///
///
public async Task UpdateSortCode(long ID, int SortCode)
{
return await _cal.UpdateSortCode(ID, SortCode);
}
public async Task UpdateSorter(List Sorters)
{
return await _cal.UpdateSorter(Sorters);
}
///
///
///
public Task UpdateParas(long ID, Dictionary Paras)
{
return _cal.UpdateParas(ID, Paras);
}
///
///
///
public Task UpdateFlags(long ID, List Flags)
{
return _cal.UpdateFlags(ID, Flags);
}
///
///
///
public Task UpdateTagName(long ID, string TagName)
{
return _cal.UpdateTagName(ID, TagName);
}
#endregion Update
#region Delete
///
///
///
public async Task DeleteByID(long ID)
{
return await _cal.DeleteByID(ID);
}
///
///
///
public async Task DeleteByIds(List Ids)
{
return await _cal.DeleteByIds(Ids);
}
///
///
///
public async Task DeleteAll()
{
return await _cal.DeleteAll();
}
#endregion Delete
}
}