public StatusModel <string> Add(GradeModel model) { var status = new StatusModel <string>(false, String.Empty, String.Empty); try { using (var unitOfWork = new UnitOfWork <BelibaHomaDBEntities>()) { model.UpdateDate = DateTime.Now; var GradeRepository = unitOfWork.GetRepository <IGradeRepository>(); var entity = model.MapTo <Grade>(); //add repositories for academic major and exstact by key according to form //Retrieving Related Entities by using the repositories and GetById function (all but User which was not yet created) var TraineeRepository = unitOfWork.GetRepository <ITraineeRepository>(); var Trainee = TraineeRepository.GetByKey(model.TraineeId); if (GradeRepository.GetAll().Any(g => (g.SemesterNumber == model.SemesterNumber) && (g.TraineeId == model.TraineeId))) //maybe id input? { status = new StatusModel <string>(false, "מספר סמסטר כבר קיים אנא הזן מספר אחר", "SemesterNumber"); return(status); } //Linking the Complexed entities to the retrieved ones entity.Trainee = Trainee; //entity.relevantmajor= מה ששמרתי מהרפוסיטורים GradeRepository.Add(entity); unitOfWork.SaveChanges(); _predictionTrainingService.AddFromGrade(model.TraineeId, model.SemesterNumber); status.Success = true; status.Message = String.Format("הציון {0} הוזן בהצלחה", model.Grade1); } } catch (Exception ex) { status.Message = String.Format("שגיאה במהלך הזנת הציון"); LogService.Logger.Error(status.Message, ex); } return(status); }
public StatusModel Update(int id, GradeModel updatedModel) { var status = new StatusModel(false, String.Empty); try { using (var unitOfWork = new UnitOfWork <BelibaHomaDBEntities>()) { updatedModel.UpdateDate = DateTime.Now; var GradeRepository = unitOfWork.GetRepository <IGradeRepository>(); var entity = updatedModel.MapTo <Grade>(); //if (GradeRepository.GetAll().Any(g => (g.SemesterNumber == updatedModel.SemesterNumber) && (g.TraineeId == updatedModel.TraineeId))) //maybe id input? //{ // status = new StatusModel<string>(false, "מספר סמסטר כבר קיים אנא הזן מספר אחר", "SemesterNumber"); // return status; //} var grade = GradeRepository.GetAll().FirstOrDefault(g => g.SemesterNumber == updatedModel.SemesterNumber && g.TraineeId == id); if (grade != null) { grade.Grade1 = (int)updatedModel.Grade1; grade.SemesterType = (int)updatedModel.SemesterType; grade.Year = (int)updatedModel.Year; unitOfWork.SaveChanges(); status.Success = true; status.Message = String.Format("הציון עודכן בהצלחה"); } } } catch (Exception ex) { status.Message = String.Format("שגיאה במהלך עדכון הציון"); LogService.Logger.Error(status.Message, ex); } return(status); }