예제 #1
0
        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);
        }
예제 #2
0
        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);
        }