92 lines
3.3 KiB
C#
92 lines
3.3 KiB
C#
|
|
using New_College.IServices;
|
|
using New_College.Model.Models;
|
|
using New_College.Services.BASE;
|
|
using New_College.IRepository.Base;
|
|
using System.Threading.Tasks;
|
|
using New_College.Model;
|
|
using System.Collections.Generic;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using New_College.Model.ViewModels;
|
|
using SqlSugar;
|
|
using System.Linq.Expressions;
|
|
using System;
|
|
using System.Data.Entity.Core.Common.CommandTrees;
|
|
using System.Linq;
|
|
using New_College.IRepository;
|
|
using New_College.Common;
|
|
|
|
namespace New_College.Services
|
|
{
|
|
public class D_PlanMajorDescProServices : BaseServices<D_PlanMajorDescPro>, ID_PlanMajorDescProServices
|
|
{
|
|
private readonly IBaseRepository<D_PlanMajorDescPro> _dal;
|
|
private readonly ID_PlanMajorDescProRepository d_PlanMajorDescProRepository;
|
|
public D_PlanMajorDescProServices(IBaseRepository<D_PlanMajorDescPro> dal, ID_PlanMajorDescProRepository d_PlanMajorDescPro)
|
|
{
|
|
this._dal = dal;
|
|
base.BaseDal = dal;
|
|
d_PlanMajorDescProRepository = d_PlanMajorDescPro;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public async Task<MajorPlanProView> GetMajorPlanPro(MajorPlanProViewQuery request)
|
|
{
|
|
request.Year = request.Year > 2024 ? 2024 : request.Year;
|
|
var majorview = new MajorPlanProView();
|
|
Expression<Func<D_PlanMajorDescPro, bool>> expression = Expressionable.Create<D_PlanMajorDescPro>()
|
|
.And(c => c.UId == request.UId)
|
|
.And(c => c.Location == request.Location)
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName)
|
|
.And(c => c.Years == request.Year)
|
|
.ToExpression();
|
|
var query = await _dal.Query(expression);
|
|
if (query.Any())
|
|
{
|
|
var view = query.FirstOrDefault();
|
|
majorview.UId = view.UId;
|
|
majorview.UniversityName = view.Location;
|
|
majorview.UniversityCode = UniversityCodeConvertRules.UniversityCodeConvertRulesMap(view.EnrollmentCode);
|
|
majorview.collegeCode = view.EnrollmentCode;
|
|
majorview.itemViews = query.Select(c => new MajorPlanProItemView()
|
|
{
|
|
BatchName = c.BatchName,
|
|
fee = c.Free,
|
|
Major = c.Major,
|
|
MajorCode = c.MajorCode,
|
|
MajorGroup = c.MajorGroup,
|
|
MajorRemark = c.Remark,
|
|
planCount = c.PlanCount,
|
|
NewCount = c.NewCount,
|
|
OldPlanCount = c.PlanCount + c.NewCount,
|
|
SubjectClam = c.SelectSubject,
|
|
Years = c.Years,
|
|
OldYears = c.Years - 1,
|
|
AcademicYear = c.AcademicYear
|
|
}).ToList();
|
|
}
|
|
return majorview;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public async Task<PageModel<UniversityPlanProView>> GetUniversityPlanPro(UniversityProViewQuery request)
|
|
{
|
|
|
|
return await d_PlanMajorDescProRepository.GetUniversityPlanPro(request);
|
|
}
|
|
}
|
|
} |