public override void Generate() { var userIds = this.Context.Users .Where(u => u.Student != null) .Select(u => u.Id).ToArray(); var supervisorIds = this.Context.Users .Where(u => u.Teacher != null) .Select(u => u.Id).ToArray(); for (int index = 0; index < this.Count / 2; index++) { var thesis = new Thesis() { FinalEvaluation = (float)this.Generator.GenerateRealNumber(2, 6), FinishedAt = DateTime.Now.AddDays(this.Generator.GenerateNumber(2, 400)), Description = this.Generator.GenerateString(3, 30), StudentId = userIds[index], Title = this.Generator.GenerateString(3, 30), SupervisorId = supervisorIds[index], Pages = this.Generator.GenerateNumber(40, 60), IsComplete = true, Versions = new HashSet<ThesesSystem.Models.Version>() { new ThesesSystem.Models.Version { FileExtension = "rar", FileName = "Дипломна работа.rar", StoragePath = "/uploads/14.6.2015 г. 16.21.15+Дипломна работа.rar" } } }; this.Context.Theses.Add(thesis); } for (int index = 0; index < this.Count / 2; index++) { var thesis = new Thesis() { StudentId = userIds[this.Count / 2 + index], Title = this.Generator.GenerateString(3, 30), Description = this.Generator.GenerateString(3, 30), SupervisorId = supervisorIds[this.Count / 2 + index], IsComplete = false }; this.Context.Theses.Add(thesis); } }
private bool IsThesisTeacher(string userId, Thesis thesis) { var result = thesis.SupervisorId == userId || this.User.IsInRole(GlobalConstants.ADMIN); return result; }
private bool IsThesisStudent(string userId, Thesis thesis) { var result = thesis.StudentId == userId; return result; }