public ActionResult Dashboard() { var TeachersRatings = db.Ratings.OrderByDescending(q=>q.TheDifficultyOfTheCourse).OrderByDescending(t => t.CountRaitingVoting).OrderByDescending(m => m.AvgRating).Where(x=>x.AvgRating !=0 ).ToList(); Teacher teacher_buf = new Teacher(); TopTeachersViewModel[] topTeacher = new TopTeachersViewModel[6]; //Обираємо трьох найкращих та трьох найгірших викладачів int i = 0, j = 0; foreach (var TR in TeachersRatings) { if (i <= 2 || i >= TeachersRatings.Count() - 3) { teacher_buf = db.Teachers.Find(TR.TeacherId); topTeacher[j] = new TopTeachersViewModel(); topTeacher[j].TeacherId = teacher_buf.TeacherId; topTeacher[j].Name = teacher_buf.Name; topTeacher[j].LastName = teacher_buf.LastName; topTeacher[j].SurName = teacher_buf.SurName; topTeacher[j].Rating = Math.Round(TR.AvgRating, 1); topTeacher[j].PathToPhoto = teacher_buf.PathToPhoto; j++; } i++; } //Якщо в масиві є значення null - заповнюємо їх даними. for(int a=0; a<topTeacher.Length; a++) { if (topTeacher[a] == null) topTeacher[a] = new TopTeachersViewModel { Name = "Full", LastName = "Full", PathToPhoto = "07.jpg", Rating =404, SurName = "Full" }; } return View(topTeacher); }
public ActionResult AddNewTeacher(AddNewTeacherViewModel model) { if (ModelState.IsValid) { var teacher = new Teacher(); teacher.Name = model.Name; teacher.SurName = model.SurName; teacher.LastName = model.LastName; teacher.Description = model.Description; teacher.CathedraId = model.SelectedCathedraId; if (model.Photo != null) { string path = AppDomain.CurrentDomain.BaseDirectory + "TeacherImg/"; string filename = System.IO.Path.GetFileName(model.Photo.FileName); model.Photo.SaveAs(System.IO.Path.Combine(path, filename)); teacher.PathToPhoto = System.IO.Path.GetFileName(model.Photo.FileName); System.Drawing.Image oImage = System.Drawing.Image.FromFile(path + teacher.PathToPhoto); int sizeImg; if (oImage.Width > oImage.Height) { sizeImg = oImage.Height - 20; } else { sizeImg = oImage.Width - 20; } var bmp = new System.Drawing.Bitmap(sizeImg, sizeImg, oImage.PixelFormat); var g = System.Drawing.Graphics.FromImage(bmp); g.DrawImage(oImage, new Rectangle(0, 0, sizeImg, sizeImg), new Rectangle(0, 20, sizeImg, sizeImg), GraphicsUnit.Pixel); System.Drawing.Imaging.ImageFormat frm = oImage.RawFormat; oImage.Dispose(); path = AppDomain.CurrentDomain.BaseDirectory + "TeacherAva/"; string destFile = System.IO.Path.Combine(path, teacher.PathToPhoto); bmp.Save(destFile, frm); } db.Teachers.Add(teacher); db.SaveChanges(); var querty = from list in db.Teachers .Where(q => (q.Name == model.Name && q.LastName == model.LastName && q.SurName == model.SurName)) select list; var teacherId = querty.ToList(); foreach (var obj in teacherId) { var raiting = new Rating { ActivityInClass=0, AvailabilityTeacherOutsideLessons=0, ClarityAndAccessibility = 0, CommentsTheWork = 0, DepthPossessionOf = 0, HowWellTheProcedurePerformedGrading = 0, InterestInTheSubject = 0, NumberOfAttendance = 0, OverallSubject = 0, PreparationTime = 0, ProcedureGrading = 0, QualityMasteringTheSubject = 0, QualityTeachingMaterials = 0, RelevantToStudents = 0, SomethingNew = 0, TheDifficultyOfTheCourse = 0, ThePracticalValue = 0, AvgRating = 0, ForTheEntirePeriod = 0, PreviousMonth = 0, TeacherId = obj.TeacherId }; db.Ratings.Add(raiting); db.SaveChanges(); } return RedirectToAction("Index", "Home"); } model.Cathedras = new SelectList(db.Cathedras, "Id", "NameCathedra"); return View(model); }