using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.Sell;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB;
using VT.FW.DB.Dapper;
namespace Edu.Repository.BackClass
{
///
/// 学员补课仓储层
///
public class RB_Student_MakeupRepository:BaseRepository
{
///
/// 获取学员补课列表
///
///
///
///
///
///
public List GetStudentMakeupPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Student_Makeup_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,C.GuestName, D.ClassName,E.CourseName,F.TeacherName,G.RoomName,C.GuestState,H.StartTime,H.EndTime,H.TimeHour
FROM RB_Student_Makeup AS A LEFT JOIN rb_class_check AS B ON A.ClassCheckId=B.ClassCheckId
LEFT JOIN rb_order_guest AS C ON A.OrderGuestId=C.Id
LEFT JOIN rb_class AS D ON A.ClassId=D.ClassId
LEFT JOIN rb_course AS E ON D.CouseId=E.CourseId
LEFT JOIN rb_teacher AS F ON B.TeacherId=F.TId
LEFT JOIN rb_class_room AS G ON B.ClassRoomId=G.RoomId
LEFT JOIN rb_class_time AS H ON B.ClassTimeId=H.ClassTimeId
WHERE 1=1 and B.CheckStatus IN(1,2)
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Makeup_ViewModel.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.GuestName))
{
builder.AppendFormat(" AND C.{0} LIKE @GuestName ", nameof(RB_Student_Makeup_ViewModel.GuestName));
parameters.Add("GuestName", "%" + query.GuestName.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.ClassName))
{
builder.AppendFormat(" AND D.{0} LIKE @ClassName ", nameof(RB_Student_Makeup_ViewModel.ClassName));
parameters.Add("ClassName", "%" + query.ClassName.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.CourseName))
{
builder.AppendFormat(" AND E.{0} LIKE @CourseName ", nameof(RB_Student_Makeup_ViewModel.CourseName));
parameters.Add("CourseName", "%" + query.CourseName.Trim() + "%");
}
if (query.MakeUpStatus>0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Makeup_ViewModel.MakeUpStatus),query.MakeUpStatus);
}
if (!string.IsNullOrEmpty(query.StartDate))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Makeup_ViewModel.ClassDate), query.StartDate);
}
if (!string.IsNullOrEmpty(query.EndDate))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_Makeup_ViewModel.ClassDate), query.EndDate);
}
}
builder.Append(" ORDER BY A.ClassId,A.ClassDate,A.OrderGuestId ");
return GetPage(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
///
/// 获取列表
///
///
///
public List GetStudentMakeupListRepository(RB_Student_Makeup_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Student_Makeup AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Makeup_ViewModel.Group_Id), query.Group_Id);
}
if (query.MakeUpStatus > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Makeup_ViewModel.MakeUpStatus), query.MakeUpStatus);
}
if (query.ClassCheckId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Makeup_ViewModel.ClassCheckId), query.ClassCheckId);
}
if (!string.IsNullOrEmpty(query.StartDate))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Makeup_ViewModel.ClassDate), query.StartDate);
}
if (!string.IsNullOrEmpty(query.EndDate))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_Makeup_ViewModel.ClassDate), query.EndDate);
}
}
return Get(builder.ToString()).ToList();
}
///
/// 新增修改学员补课信息
///
///
///
public bool SetStudentMakeUpRepository(RB_Student_Makeup model)
{
bool flag = false;
var newModel = new RB_Student_Makeup()
{
Id = 0,
ClassCheckId = model.ClassCheckId,
ClassDate = model.ClassDate,
ClassId = model.ClassId,
CreateBy = model.CreateBy,
CreateTime = model.CreateTime,
Group_Id = model.Group_Id,
MakeUpStatus = 1,
OrderGuestId = model.OrderGuestId
};
newModel.Id = CheckStudentMakeUpExistsRepository(model);
if (newModel.Id <= 0)
{
flag = base.Insert(newModel) > 0;
}
else
{
flag = base.Update(newModel);
}
return flag;
}
///
/// 检查数据是否存在
///
///
///
public int CheckStudentMakeUpExistsRepository(RB_Student_Makeup model)
{
List whereHelpers = new List
{
new WhereHelper(nameof(RB_Student_Makeup.ClassCheckId), model.ClassCheckId),
new WhereHelper(nameof(RB_Student_Makeup.OrderGuestId), model.OrderGuestId)
};
return base.Exists("Id", whereHelpers);
}
}
}