ErrorCodeService.cs 3.45 KB
using HHECS.Application.Error;
using HHECS.BllModel;
using HHECS.Dal.Repository;
using HHECS.Model.Entities;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;

namespace HHECS.Application.Service
{
    public class ErrorCodeService : BaseService
    {
        /// <summary>
        /// 根据编码获取具体错误model;出现异常或没有找到后均为失败
        /// </summary>
        /// <param name="errorCode"></param>
        /// <returns></returns>
        public BllResult<ErrorCode> GetErrorCodeByCode(ErrorCodeConst errorCode)
        {
            try
            {
                ErrorCodeRepository errorCodeRepository = new ErrorCodeRepository();
                var code = errorCodeRepository.Where(t => t.Code == errorCode.ToString()).First();
                if (code == null)
                {
                    return BllResultFactory.Error<ErrorCode>("无对应数据");
                }
                else
                {
                    return BllResultFactory.Success(code);
                }
            }
            catch (Exception ex)
            {
                return BllResultFactory.Error<ErrorCode>(ex.Message);
            }
        }

        #region ErrorCode -- Window

        public BllResult<List<ErrorCode>> GetErrorCodes(Expression<Func<ErrorCode, bool>> filter)
        {
            try
            {
                ErrorCodeRepository errorCodeRepository = new ErrorCodeRepository();
                return BllResultFactory.Success(errorCodeRepository.Where(filter).ToList());
            }
            catch (Exception ex)
            {
                return BllResultFactory.Error<List<ErrorCode>>($"异常:{ex.Message}", ErrorCodeConst.DEZ0001.ToString());
            }
        }

        public BllResult<List<ErrorCode>> GetErrorCodes(Expression<Func<ErrorCode, bool>> filter, int pageIndex, int pageSize, out long totalCount)
        {
            try
            {
                using var errorCodeRepository = new ErrorCodeRepository();
                var query = errorCodeRepository.Where(filter);
                totalCount = query.Count();
                var result = query.Page(pageIndex, pageSize).ToList();
                return BllResultFactory.Success(result);
            }
            catch (Exception ex)
            {
                totalCount = 0;
                return BllResultFactory.Error<List<ErrorCode>>($"异常:{ex.Message}", ErrorCodeConst.DEZ0001.ToString());
            }
        }

        public BllResult<ErrorCode> SaveErrorCode(ErrorCode errorCode)
        {
            try
            {
                ErrorCodeRepository errorCodeRepository = new ErrorCodeRepository();
                return BllResultFactory.Success(errorCodeRepository.InsertOrUpdate(errorCode));
            }
            catch (Exception ex)
            {
                return BllResultFactory.Error<ErrorCode>($"异常:{ex.Message}", ErrorCodeConst.DEZ0001.ToString());
            }
        }

        public BllResult DeleteErrorCodes(List<ErrorCode> errorCodes)
        {
            try
            {
                ErrorCodeRepository errorCodeRepository = new ErrorCodeRepository();
                return BllResultFactory.Success(errorCodeRepository.Delete(errorCodes));
            }
            catch (Exception ex)
            {
                return BllResultFactory.Error($"异常:{ex.Message}", ErrorCodeConst.DEZ0001.ToString());
            }
        }

        #endregion
    }
}