|
|
|
@ -200,43 +200,46 @@ public class Ghre_SurveyServices : BaseServices<Ghre_Survey, Ghre_SurveyDto, Ins |
|
|
|
|
public async Task<ServiceResult<Ghre_SurveyExtend>> QueryESSData(long id, long? openClassId = null) |
|
|
|
|
{ |
|
|
|
|
long? feedbackId = null; |
|
|
|
|
if (await Db.Queryable<Ghre_OpenClassFeedback>().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).AnyAsync()) |
|
|
|
|
{ |
|
|
|
|
var feedback = await Db.Queryable<Ghre_OpenClassFeedback>().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).FirstAsync(); |
|
|
|
|
feedbackId = feedback.Id; |
|
|
|
|
openClassId = feedback.OpenClassId; |
|
|
|
|
id = feedback.SurveyId.Value; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
if (openClassId != null) |
|
|
|
|
{ |
|
|
|
|
if (!await Db.Queryable<Ghre_OpenClassFeedback>() |
|
|
|
|
.Where(x => x.Source == "Trainee" |
|
|
|
|
&& (x.SurveyId == id || x.Id == openClassId) |
|
|
|
|
&& x.OpenClassId == openClassId).AnyAsync()) |
|
|
|
|
if (await Db.Queryable<Ghre_OpenClassFeedback>().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).AnyAsync()) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
var openClass = await Db.Queryable<Ghre_OpenClass>().Where(x => x.Id == openClassId).FirstAsync(); |
|
|
|
|
var feedback = new Ghre_OpenClassFeedback() |
|
|
|
|
var feedback = await Db.Queryable<Ghre_OpenClassFeedback>().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).FirstAsync(); |
|
|
|
|
feedbackId = feedback.Id; |
|
|
|
|
openClassId = feedback.OpenClassId; |
|
|
|
|
id = feedback.SurveyId.Value; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
if (!await Db.Queryable<Ghre_OpenClassFeedback>() |
|
|
|
|
.Where(x => x.Source == "Trainee" |
|
|
|
|
&& (x.SurveyId == id || x.Id == openClassId) |
|
|
|
|
&& x.OpenClassId == openClassId).AnyAsync()) |
|
|
|
|
{ |
|
|
|
|
OpenClassId = openClassId, |
|
|
|
|
SurveyId = id, |
|
|
|
|
StaffId = App.User.StaffId, |
|
|
|
|
Source = "Trainee", |
|
|
|
|
EffectiveTime = DateTime.Now, |
|
|
|
|
ExpiryTime = DateTime.MaxValue, |
|
|
|
|
TeacherId = openClass.TeacherId, |
|
|
|
|
CourseBeginTime = openClass.StartTime, |
|
|
|
|
CourseEndTime = openClass.EndTime, |
|
|
|
|
CourseId = openClass.LinkId, |
|
|
|
|
Status = "N", |
|
|
|
|
Score = 0 |
|
|
|
|
}; |
|
|
|
|
feedbackId = await Db.Insertable(feedback).ExecuteReturnSnowflakeIdAsync(); |
|
|
|
|
|
|
|
|
|
var openClass = await Db.Queryable<Ghre_OpenClass>().Where(x => x.Id == openClassId).FirstAsync(); |
|
|
|
|
var feedback = new Ghre_OpenClassFeedback() |
|
|
|
|
{ |
|
|
|
|
OpenClassId = openClassId, |
|
|
|
|
SurveyId = id, |
|
|
|
|
StaffId = App.User.StaffId, |
|
|
|
|
Source = "Trainee", |
|
|
|
|
EffectiveTime = DateTime.Now, |
|
|
|
|
ExpiryTime = DateTime.MaxValue, |
|
|
|
|
TeacherId = openClass.TeacherId, |
|
|
|
|
CourseBeginTime = openClass.StartTime, |
|
|
|
|
CourseEndTime = openClass.EndTime, |
|
|
|
|
CourseId = openClass.LinkId, |
|
|
|
|
Status = "N", |
|
|
|
|
Score = 0 |
|
|
|
|
}; |
|
|
|
|
feedbackId = await Db.Insertable(feedback).ExecuteReturnSnowflakeIdAsync(); |
|
|
|
|
} |
|
|
|
|
else feedbackId = await Db.Queryable<Ghre_OpenClassFeedback>() |
|
|
|
|
.Where(x => x.Source == "Trainee" |
|
|
|
|
&& (x.SurveyId == id || x.Id == openClassId) |
|
|
|
|
&& x.OpenClassId == openClassId).Select(x => x.Id).FirstAsync(); |
|
|
|
|
} |
|
|
|
|
else feedbackId = await Db.Queryable<Ghre_OpenClassFeedback>() |
|
|
|
|
.Where(x => x.Source == "Trainee" |
|
|
|
|
&& (x.SurveyId == id || x.Id == openClassId) |
|
|
|
|
&& x.OpenClassId == openClassId).Select(x => x.Id).FirstAsync(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var entity = await base.QueryById(id); |
|
|
|
|