duheng
2024-07-18 7bf79c6515f27ba9be8d2b3fb4e3ceae5718e3e5
BLL/HStation.BLL.Xhs.Core/03-localclient/XhsProjectItemModelMap.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,225 @@
using HStation.Xhs;
namespace HStation.CAL.LocalClient
{
    /// <summary>
    /// æŠ¥è­¦ç­‰çº§
    /// </summary>
    public class XhsProjectItemModelMap : IXhsProjectItemModelMap
    {
        private readonly HStation.Service.XhsProjectItemModelMap _service = new();
        #region Query
        /// <summary>
        /// èŽ·å–æ‰€æœ‰
        /// </summary>
        public async Task<List<XhsProjectItemModelMapDto>> GetAll()
        {
            return await Task.Factory.StartNew(() =>
            {
                var list = _service.GetAll();
                var vm_list = list?.Select(x => new XhsProjectItemModelMapDto(x)).ToList();
                return vm_list;
            });
        }
        /// <summary>
        /// é€šè¿‡ ID èŽ·å–
        /// </summary>
        public async Task<XhsProjectItemModelMapDto> GetByID(long ID)
        {
            return await Task.Factory.StartNew(() =>
            {
                var model = _service.GetByID(ID);
                return model == null ? null : new XhsProjectItemModelMapDto(model);
            });
        }
        /// <summary>
        /// é€šè¿‡ Ids èŽ·å–
        /// </summary>
        public async Task<List<XhsProjectItemModelMapDto>> GetByIds(List<long> Ids)
        {
            return await Task.Factory.StartNew(() =>
            {
                var list = _service.GetByIds(Ids);
                var vm_list = list?.Select(x => new XhsProjectItemModelMapDto(x)).ToList();
                return vm_list;
            });
        }
        #endregion Query
        #region Insert
        /// <summary>
        /// æ’入一条
        /// </summary>
        public async Task<long> Insert(AddXhsProjectItemModelMapInput input)
        {
            return await Task.Factory.StartNew(() =>
            {
                var model = input.Adapt<AddXhsProjectItemModelMapInput, Model.XhsProjectItemModelMap>();
                var id = _service.Insert(model);
                return id;
            });
        }
        /// <summary>
        /// æ‰¹é‡æ’å…¥
        /// </summary>
        public async Task<bool> Inserts(List<AddXhsProjectItemModelMapInput> inputList)
        {
            return await Task.Factory.StartNew(() =>
            {
                var list = inputList.Select(x => x.Adapt<AddXhsProjectItemModelMapInput, Model.XhsProjectItemModelMap>()).ToList();
                var bol = _service.Inserts(list);
                return bol;
            });
        }
        /// <summary>
        /// å¤§æ‰¹é‡æ’å…¥
        /// </summary>
        public async Task<bool> BulkInserts(List<AddXhsProjectItemModelMapInput> list)
        {
            return await Task.Factory.StartNew(() =>
            {
                return false;
            });
        }
        #endregion Insert
        #region Update
        /// <summary>
        /// æ›´æ–°ä¸€æ¡
        /// </summary>
        public async Task<bool> Update(UpdateXhsProjectItemModelMapInput input)
        {
            return await Task.Factory.StartNew(() =>
            {
                var model = _service.GetByID(input.ID);
                if (model == null)
                {
                    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} æ•°æ®ä¸å­˜åœ¨");
                }
                var rhs = new Model.XhsProjectItemModelMap(model);
                input.Adapt(rhs);
                var bol = _service.Update(rhs);
                return bol;
            });
        }
        /// <summary>
        /// æ‰¹é‡æ›´æ–°
        /// </summary>
        public async Task<bool> Updates(List<UpdateXhsProjectItemModelMapInput> inputList)
        {
            return await Task.Factory.StartNew(() =>
            {
                if (inputList == null || inputList.Count < 1)
                {
                    return false;
                }
                var list = inputList.Select(x => x.Adapt<UpdateXhsProjectItemModelMapInput, Model.XhsProjectItemModelMap>()).ToList();
                var bol = _service.Updates(list);
                return bol;
            });
        }
        /// <summary>
        /// å¤§æ‰¹é‡æ›´æ–°
        /// </summary>
        public async Task<bool> BulkUpdates(List<UpdateXhsProjectItemModelMapInput> list)
        {
            return await Task.Factory.StartNew(() =>
            {
                return false;
            });
        }
        /// <summary>
        /// æ›´æ–°ç¼–码
        /// </summary>
        public async Task<bool> UpdateCode(long ID, string Code)
        {
            return await Task.Factory.StartNew(() =>
            {
                return false;
            });
        }
        /// <summary>
        /// æ›´æ–° Flags
        /// </summary>
        public async Task<bool> UpdateFlags(long ID, List<string> Flags)
        {
            return await Task.Factory.StartNew(() =>
            {
                var bol = _service.UpdateFlags(ID, Flags);
                return bol;
            });
        }
        /// <summary>
        /// æ›´æ–° UseStatus
        /// </summary>
        public async Task<bool> UpdateUseStatus(long ID, int UseStatus)
        {
            return await Task.Factory.StartNew(() =>
            {
                var bol = _service.UpdateUseStatus(ID, (Yw.Model.eUseStatus)UseStatus);
                return bol;
            });
        }
        #endregion Update
        #region Delete
        /// <summary>
        /// é€šè¿‡ ID åˆ é™¤
        /// </summary>
        public async Task<bool> DeleteByID(long ID)
        {
            return await Task.Factory.StartNew(() =>
            {
                var bol = _service.DeleteByID(ID, out string msg);
                if (!bol)
                {
                    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, msg);
                }
                return true;
            });
        }
        /// <summary>
        /// é€šè¿‡ Ids åˆ é™¤
        /// </summary>
        public async Task<bool> DeleteByIds(List<long> Ids)
        {
            return await Task.Factory.StartNew(() =>
            {
                return false;
            });
        }
        /// <summary>
        /// åˆ é™¤å…¨éƒ¨
        /// </summary>
        /// <returns></returns>
        public async Task<bool> DeleteAll()
        {
            return await Task.Factory.StartNew(() =>
            {
                return false;
            });
        }
        #endregion Delete
    }
}