Beispiel #1
0
        public async Task <GenericResult> Delete(int id)
        {
            GenericResult result = new GenericResult();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    if (!await StudentRepository.DeleteStudyAbroadDestinations(id))
                    {
                        result.Message = "Error deleting study abroad destinations";
                    }
                    else if (!await StudentNoteRepository.Delete(id))
                    {
                        result.Message = "Error deleting student notes";
                    }
                    else if (!await EventLogRepository.DeleteStudent(id))
                    {
                        result.Message = "Error deleting student event logs";
                    }
                    else if (!await StudentPromoRepository.Delete(id))
                    {
                        result.Message = "Error deleting details from promo";
                    }
                    else if (!await StudyAbroadRepository.DeleteStudent(id))
                    {
                        result.Message = "Error deleting experiences";
                    }
                    else if (!await StudentRepository.DeleteMatriculations(id))
                    {
                        result.Message = "Error deleting matriculations";
                    }
                    else if (!await StudentRepository.DeleteLanguages(id))
                    {
                        result.Message = "Error deleting fluent/desired/studied languages";
                    }
                    else if (!await StudentRepository.Delete(id))
                    {
                        result.Message = "Error deleting student record";
                    }
                    else
                    {
                        result.Result = true;
                        scope.Complete();
                    }
                }
            }
            catch (Exception e)
            {
                result.Result  = false;
                result.Message = "Error completing transaction scope: " + e.Message;
            }

            return(result);
        }