public async Task <MResultRequest <MTest_MainInfo> > GetByIdAsync(int Id) { try { MTest_MainInfoDb Test_MainInfoDb = await _context.Set <MTest_MainInfoDb>() .Include(_ => _.Questions_ChoosingAnswerFromList) .Include(_ => _.Questions_ChoosingAnswerFromList.Select(c => c.AnswerVariants)) .Include(_ => _.Questions_SetOrder) .Include(_ => _.Questions_SetOrder.Select(c => c.AnswerVariants)) .Include(_ => _.User_TestAuthor) .AsNoTracking() .FirstOrDefaultAsync(_ => _.Id == Id) .ConfigureAwait(false); if (Test_MainInfoDb == null) { throw new NullReferenceException(); } return (MResultRequest <MTest_MainInfo> .Ok(_mapper.Map <MTest_MainInfo>(Test_MainInfoDb))); } catch (NullReferenceException) { return ((MResultRequest <MTest_MainInfo>) MResultRequest <MTest_MainInfo> .Fail <MTest_MainInfo>($@"There is no test with the specified Id: {Id} in the system.")); } }
public async Task <MResultRequest <MTest_MainInfo> > AddAsync(string User_TestAuthor_Id, MTest_MainInfo Test_MainInfo) { try { MTest_MainInfoDb Test_MainInfoDb = _mapper.Map <MTest_MainInfoDb>(Test_MainInfo); Test_MainInfoDb.User_TestAuthorDb_Id = User_TestAuthor_Id; _context.Set <MTest_MainInfoDb>().Add(Test_MainInfoDb); await _context .SaveChangesAsync(); return (MResultRequest <MTest_MainInfo> .Ok(_mapper.Map <MTest_MainInfo>(Test_MainInfo))); } catch (DbUpdateConcurrencyException e) { return ((MResultRequest <MTest_MainInfo>) MResultRequest <MTest_MainInfo> .Fail <MTest_MainInfo>($"Cannot save model. {e.Message}")); } catch (DbUpdateException e) { return ((MResultRequest <MTest_MainInfo>) MResultRequest <MTest_MainInfo> .Fail <MTest_MainInfo>($"Cannot save model. Duplicate field. {e.Message}")); } catch (DbEntityValidationException e) { return ((MResultRequest <MTest_MainInfo>) MResultRequest <MTest_MainInfo> .Fail <MTest_MainInfo>($"Invalid model. {e.Message}")); } }
public MResultRequest <MTest_MainInfo> Update(string User_TestAuthor_Id, MTest_MainInfo Test_MainInfo) { try { MTest_MainInfoDb Test_MainInfoDb = _mapper.Map <MTest_MainInfoDb>(Test_MainInfo); Test_MainInfoDb.User_TestAuthorDb_Id = User_TestAuthor_Id; _context.Set <MTest_MainInfoDb>().Remove( _context.Set <MTest_MainInfoDb>().Find(Test_MainInfo.Id)); _context.Set <MTest_MainInfoDb>().Add(Test_MainInfoDb); _context.SaveChanges(); return (MResultRequest <MTest_MainInfo> .Ok(_mapper.Map <MTest_MainInfo>(Test_MainInfoDb))); } catch (DbUpdateConcurrencyException e) { return ((MResultRequest <MTest_MainInfo>) MResultRequest <MTest_MainInfo> .Fail <MTest_MainInfo>($"Cannot update model. {e.Message}")); } catch (DbUpdateException e) { return ((MResultRequest <MTest_MainInfo>) MResultRequest <MTest_MainInfo> .Fail <MTest_MainInfo>($"Cannot update model. {e.Message}")); } catch (DbEntityValidationException e) { return ((MResultRequest <MTest_MainInfo>) MResultRequest <MTest_MainInfo> .Fail <MTest_MainInfo>($"Cannot update model. {e.Message}")); } }