LR-20210131IOQH\Administrator
2021-08-10 d4a6d65f5e449c3e5464aa18ae97bf8953987217
zhengcaioa/Services/OrderBanciDtlService.cs
New file
@@ -0,0 +1,221 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AutoMapper;
using DTO;
using IServices;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.EntityFrameworkCore;
using zhengcaioa.Models;
namespace Services
{
    public class OrderBanciDtlService: IOrderBanciDtlService
    {
        private readonly zhengcaioaContext _context;
        private readonly IMapper _mapper;
        public OrderBanciDtlService(zhengcaioaContext context, IMapper mapper)
        {
            _context = context;
            _mapper = mapper;
        }
        public ResultEntity save(OrderBanciDtlDTO dto)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                var entity = _mapper.Map<OrderBanciDtl>(dto);
                if (String.IsNullOrEmpty(entity.Id))
                {
                    entity.Id = Guid.NewGuid().ToString();
                    dto.Id = entity.Id;
                    _context.OrderBanciDtls.Add(entity);
                }
                else
                {
                    var updateproject = _context.OrderBanciDtls.Find(entity.Id);
                    updateproject.Shangxiawu = entity.Shangxiawu;
                    updateproject.Shijian = entity.Shijian;
                    updateproject.Shixiamg = entity.Shixiamg;
                    updateproject.Zhujiangren = entity.Zhujiangren;
                    updateproject.RecStatus = entity.RecStatus;
                    updateproject.Modifier = entity.Modifier;
                    updateproject.Modifytime = entity.Modifytime;
                    updateproject.Sort = entity.Sort;
                    updateproject.OrderBanciId = entity.OrderBanciId;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = entity.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
            }
            return resultEntity;
        }
        public OrderBanciDtlDTO Get(string id)
        {
            var entity = _context.OrderBanciDtls.Find(id);
            if (entity.RecStatus != "A")
            {
                entity = new OrderBanciDtl();
            }
            var result = _mapper.Map<OrderBanciDtlDTO>(entity);
            return result;
        }
        public ResultDataEntity<OrderBanciDtlDTO> SearchByPaging(OrderBanciDtlDTOSearch searchEntity)
        {
            ResultDataEntity<OrderBanciDtlDTO> data = new ResultDataEntity<OrderBanciDtlDTO>();
            List<OrderBanciDtlDTO> list = new List<OrderBanciDtlDTO>();
            var listCode = (from a in _context.SysCodeDtls
                            join b in _context.SysCodes
                            on a.CodeId equals b.Id
                            where a.RecStatus == "A"
                                          && b.RecStatus == "A"
                            select new CodeDataEntity()
                            {
                                CodeId = b.Id,
                                CodeTable = b.CodeTable,
                                CodeField = b.CodeField,
                                CodeSn = a.CodeSn,
                                Comments = a.Comments,
                                Contents = a.Contents,
                                RecStatus = a.RecStatus,
                                Sort = a.Sort
                            }
            );
            ///OrderBanciDtls
            ///
            var query = (from a in _context.OrderBanciDtls
                         join d in listCode.Where(x => x.CodeTable == "order_banci_dtl" && x.CodeField == "shangxiawu")
                        on a.Shangxiawu equals d.CodeSn
                          into dzsssss
                         from dzzzzz in dzsssss.DefaultIfEmpty()
                         where a.RecStatus == "A"
                          && (string.IsNullOrWhiteSpace(searchEntity.OrderBanciId) || a.OrderBanciId == searchEntity.OrderBanciId.Trim())
                            && (string.IsNullOrWhiteSpace(searchEntity.Shixiamg) || a.Shixiamg.Contains(searchEntity.Shixiamg.Trim()))
                         select new OrderBanciDtlDTO
                         {
                             Id = a.Id,
                             OrderBanciId = a.OrderBanciId,
                             Shangxiawu = a.Shangxiawu,
                             Shijian = a.Shijian,
                             Shixiamg = a.Shixiamg,
                            Zhujiangren = a.Zhujiangren,
                            Sort = a.Sort,
                             ShangxiawuName = dzzzzz.Comments,
                             Creater = a.Creater,
                             Createtime = a.Createtime,
                             RecStatus = a.RecStatus,
                             Modifier = a.Modifier,
                             Modifytime = a.Modifytime,
                         }
                ).OrderBy(x => x.Sort).ToList();
            //if (searchEntity.totalrows == 0)
                searchEntity.totalrows = query.Count();
            var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
            data.LoadData(searchEntity, lianlist);
            return data;
        }
        /// <summary>
        /// 修改主表状态
        /// </summary>
        /// <param name="id">主id</param>
        /// <param name="userid">用户</param>
        /// <returns></returns>
        public ResultEntity ModifyStatus(string id, string userid)
        {
            ResultEntity result = new ResultEntity();
            result.Result = true;
            var model = _context.OrderBanciDtls.Find(id);
            if (model != null)
            {
                model.RecStatus = "D";
                model.Modifier = userid;
                model.Modifytime = DateTime.Now;
                _context.SaveChanges();
            }
            return result;
        }
        /// <summary>
        /// 获取所有有效角色
        /// </summary>
        /// <returns></returns>
        public List<OrderBanciDtlDTO> GetList(string OrderBanciId = "")
        {
            var listRole = _context.OrderBanciDtls.Where(r => r.RecStatus == "A").OrderBy(x => x.Sort).ToList();
            if (!string.IsNullOrEmpty(OrderBanciId))
            {
                listRole = listRole.Where(x => x.OrderBanciId == OrderBanciId).ToList();
            }
            var list = _mapper.Map<List<OrderBanciDtlDTO>>(listRole);
            return list;
        }
    }
}