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 } }