public async Task <ResultSpec <bool> > Update(StudentAddUpdateModel studentAddUpdateModel) { var today = await _dateTimeProvider.GetTodayDateTime(); var specResult = StudentAddUpdateSpec.IsSatisfiedBy(studentAddUpdateModel, 18, today); if (specResult.OverallResult) { using (var scope = new TransactionScope( TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted })) { var student = _mapper.Map(studentAddUpdateModel, new Student()); await _asyncStudentRepository.Update(student); await _asyncStudentRepository.Save(); scope.Complete(); return(Results.WithOkSpec(true).AddMessage(Resource.Successful)); } } else { return(Results.WithFailSpec(false).AddSpec(specResult).AddMessage(Resource.Unsuccessfull)); } }
public async Task <ResultSpec <int> > Add(StudentAddUpdateModel studentAddUpgdateModel) { var today = await _dateTimeProvider.GetTodayDateTime(); var specResult = StudentAddUpdateSpec.IsSatisfiedBy(studentAddUpgdateModel, StudentDomainConstants.MinAgeForStudent, today); if (specResult.OverallResult) { //using (var scope = new TransactionScope( // TransactionScopeOption.Required, // new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted })) //{ var student = _mapper.Map <Student>(studentAddUpgdateModel.Student); var newStudent = await _asyncStudentRepository.Insert(student); try { await _asyncStudentRepository.Save(); } catch (Exception e) { var d = e; throw; } //scope.Complete(); return(Results.WithOkSpec <int>(newStudent.Id).AddMessage(Resource.Successful).AddSpec(specResult)); //} } else { return(Results.WithFailSpec <int>(-1).AddSpec(specResult)); } }