добавлены стили, мелкие правки
оценка почти но никак
This commit is contained in:
@@ -15,10 +15,10 @@ namespace CandidateReviewDatabaseImplement.Implements
|
||||
using var context = new CandidateReviewDatabase();
|
||||
|
||||
var element = context.Assessments
|
||||
.Include(x => x.User)
|
||||
.Include(x => x.Resume)
|
||||
.Include(x => x.Criterions)
|
||||
.ThenInclude(x => x.Criterion)
|
||||
.Include(x => x.Criterions)
|
||||
.ThenInclude(x => x.Criterion)
|
||||
.Include(x => x.User)
|
||||
.Include(x => x.Resume)
|
||||
.FirstOrDefault(rec => rec.Id == model.Id);
|
||||
|
||||
if (element != null)
|
||||
@@ -62,21 +62,6 @@ namespace CandidateReviewDatabaseImplement.Implements
|
||||
?.GetViewModel;
|
||||
}
|
||||
|
||||
public List<AssessmentCriterionViewModel>? GetAssessmentCriterions(int? assessmentId)
|
||||
{
|
||||
if (!assessmentId.HasValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using var context = new CandidateReviewDatabase();
|
||||
|
||||
return context.AssessmentCriterions
|
||||
.Where(x => x.AssessmentId == assessmentId)
|
||||
.ToList()
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public List<AssessmentViewModel> GetFilteredList(AssessmentSearchModel model)
|
||||
{
|
||||
if (model is null)
|
||||
@@ -123,26 +108,15 @@ namespace CandidateReviewDatabaseImplement.Implements
|
||||
{
|
||||
using var context = new CandidateReviewDatabase();
|
||||
|
||||
var newAssessment = new Assessment
|
||||
var newAssessment = Assessment.Create(context, model);
|
||||
if (newAssessment == null)
|
||||
{
|
||||
ResumeId = model.ResumeId,
|
||||
UserId = model.UserId,
|
||||
Comment = model.Comment
|
||||
};
|
||||
return null;
|
||||
}
|
||||
|
||||
context.Assessments.Add(newAssessment);
|
||||
context.SaveChanges();
|
||||
|
||||
/*var criterionsToAdd = model.AssessmentCriterions.Select(x => new AssessmentCriterion
|
||||
{
|
||||
AssessmentId = newAssessment.Id,
|
||||
Criterion = context.Criterions.First(y => y.Id == x.Key),
|
||||
Value = x.Value.Item2
|
||||
}).ToList();
|
||||
|
||||
context.AssessmentCriterions.AddRange(criterionsToAdd);
|
||||
context.SaveChanges();*/
|
||||
|
||||
return newAssessment.Id;
|
||||
}
|
||||
|
||||
|
||||
@@ -71,6 +71,15 @@ namespace CandidateReviewDatabaseImplement.Implements
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
if (model.CompanyId.HasValue)
|
||||
{
|
||||
return context.Vacancies
|
||||
.Include(x => x.Company)
|
||||
.Where(x => x.CompanyId == model.CompanyId)
|
||||
.ToList()
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(model.Tags) && model.Status.HasValue)
|
||||
{
|
||||
var tags = model.Tags.Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(t => t.ToLowerInvariant()).ToArray();
|
||||
|
||||
@@ -18,9 +18,9 @@ namespace CandidateReviewDatabaseImplement.Models
|
||||
public virtual User User { get; set; }
|
||||
public virtual Resume Resume { get; set; }
|
||||
|
||||
private Dictionary<int, (ICriterionModel, int)>? _assessmentCriterions = null;
|
||||
private Dictionary<int, (CriterionModel, int)>? _assessmentCriterions = null;
|
||||
|
||||
public Dictionary<int, (ICriterionModel, int)> AssessmentCriterions
|
||||
public Dictionary<int, (CriterionModel, int)> AssessmentCriterions
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -28,7 +28,7 @@ namespace CandidateReviewDatabaseImplement.Models
|
||||
{
|
||||
_assessmentCriterions = Criterions
|
||||
.ToDictionary(recAC => recAC.CriterionId, recAC =>
|
||||
(recAC.Criterion as ICriterionModel, recAC.Value));
|
||||
(new CriterionModel { Id = recAC.Criterion.Id, Name = recAC.Criterion.Name }, recAC.Value));
|
||||
}
|
||||
return _assessmentCriterions;
|
||||
}
|
||||
@@ -37,22 +37,20 @@ namespace CandidateReviewDatabaseImplement.Models
|
||||
[ForeignKey("AssessmentId")]
|
||||
public virtual List<AssessmentCriterion> Criterions { get; set; } = new();
|
||||
|
||||
public static Assessment? Create(CandidateReviewDatabase context, AssessmentBindingModel model)
|
||||
public static Assessment Create(CandidateReviewDatabase context, AssessmentBindingModel model)
|
||||
{
|
||||
if (model == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var assessment = new Assessment
|
||||
return new Assessment()
|
||||
{
|
||||
Id = model.Id,
|
||||
ResumeId = model.ResumeId,
|
||||
UserId = model.UserId,
|
||||
Comment = model.Comment,
|
||||
Criterions = model.AssessmentCriterions.Select(x => new AssessmentCriterion
|
||||
{
|
||||
Assessment = context.Assessments.First(y => y.Id == x.Key),
|
||||
Value = x.Value.Item2
|
||||
}).ToList()
|
||||
};
|
||||
|
||||
return assessment;
|
||||
}
|
||||
|
||||
public void Update(AssessmentBindingModel model)
|
||||
@@ -66,15 +64,6 @@ namespace CandidateReviewDatabaseImplement.Models
|
||||
Comment = model.Comment;
|
||||
}
|
||||
|
||||
private List<AssessmentCriterionViewModel> GetAssessmentCriterionsAsViewModel()
|
||||
{
|
||||
return AssessmentCriterions.Select(ac => new AssessmentCriterionViewModel
|
||||
{
|
||||
CriterionId = ac.Key,
|
||||
Value = ac.Value.Item2,
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
|
||||
public AssessmentViewModel GetViewModel => new()
|
||||
{
|
||||
@@ -82,7 +71,7 @@ namespace CandidateReviewDatabaseImplement.Models
|
||||
ResumeId = ResumeId,
|
||||
UserId = UserId,
|
||||
Comment = Comment,
|
||||
AssessmentCriterions = GetAssessmentCriterionsAsViewModel()
|
||||
AssessmentCriterions = AssessmentCriterions
|
||||
};
|
||||
|
||||
public void UpdateCriterions(CandidateReviewDatabase context, AssessmentBindingModel model)
|
||||
@@ -102,14 +91,20 @@ namespace CandidateReviewDatabaseImplement.Models
|
||||
var assessment = context.Assessments.First(x => x.Id == Id);
|
||||
foreach (var ac in model.AssessmentCriterions)
|
||||
{
|
||||
var criterion = context.Criterions.First(x => x.Id == ac.Value.Item1.Id);
|
||||
if (criterion == null)
|
||||
{
|
||||
throw new Exception($"Критерий с ID {ac.Key} не найден.");
|
||||
}
|
||||
|
||||
context.AssessmentCriterions.Add(new AssessmentCriterion
|
||||
{
|
||||
Assessment = assessment,
|
||||
Criterion = context.Criterions.First(x => x.Id == ac.Key),
|
||||
Criterion = criterion,
|
||||
Value = ac.Value.Item2
|
||||
});
|
||||
context.SaveChanges();
|
||||
}
|
||||
context.SaveChanges();
|
||||
_assessmentCriterions = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,13 +14,5 @@ namespace CandidateReviewDatabaseImplement.Models
|
||||
public int Value { get; set; }
|
||||
public virtual Assessment Assessment { get; set; } = new();
|
||||
public virtual Criterion Criterion { get; set; } = new();
|
||||
|
||||
public AssessmentCriterionViewModel GetViewModel => new()
|
||||
{
|
||||
Id = Id,
|
||||
AssessmentId = AssessmentId,
|
||||
CriterionId = CriterionId,
|
||||
Value = Value
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user