Db context changes for auto insertion

This commit is contained in:
uppuv
2023-08-25 18:24:46 -04:00
parent 099055d088
commit 82f2ae265a
16 changed files with 83 additions and 54 deletions

View File

@ -78,7 +78,7 @@ namespace DamageAssesment.Api.Answers.Controllers
/// </summary>
[HttpPut("Answers")]
public IActionResult UpdateAnswer(Db.Answer answer)
public IActionResult UpdateAnswer(Models.Answer answer)
{
if (answer != null)
{
@ -99,7 +99,7 @@ namespace DamageAssesment.Api.Answers.Controllers
/// </summary>
[HttpPost("Answers")]
public IActionResult CreateAnswer(Db.Answer answer)
public IActionResult CreateAnswer(Models.Answer answer)
{
if (answer != null)
{

View File

@ -10,7 +10,13 @@ namespace DamageAssesment.Api.Answers.Db
}
public DbSet<Db.Answer> Answers { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Answer>()
.Property(item => item.Id)
.ValueGeneratedOnAdd();
}
}
}

View File

@ -6,8 +6,8 @@
Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersByQuestionAsync(int questionId);
Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> GetAnswerByIdAsync(int Id);
Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersAsync(int responseId);
(bool IsSuccess, Models.Answer Answer, string ErrorMessage) PostAnswerAsync(Db.Answer Answer);
(bool IsSuccess, Models.Answer Answer, string ErrorMessage) UpdateAnswerAsync(Db.Answer Answer);
(bool IsSuccess, Models.Answer Answer, string ErrorMessage) PostAnswerAsync(Models.Answer Answer);
(bool IsSuccess, Models.Answer Answer, string ErrorMessage) UpdateAnswerAsync(Models.Answer Answer);
Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> DeleteAnswerAsync(int Id);
}
}

View File

@ -7,6 +7,7 @@ namespace DamageAssesment.Api.Answers.Profiles
public AnswersProfile()
{
CreateMap<Db.Answer,Models.Answer>();
CreateMap<Models.Answer, Db.Answer>();
}
}
}

View File

@ -108,16 +108,17 @@ namespace DamageAssesment.Api.Answers.Providers
return (false, null, ex.Message);
}
}
public (bool IsSuccess, Models.Answer Answer, string ErrorMessage) PostAnswerAsync(Db.Answer Answer)
public (bool IsSuccess, Models.Answer Answer, string ErrorMessage) PostAnswerAsync(Models.Answer Answer)
{
try
{
logger?.LogInformation("Query Answer");
if (!AnswerExists(Answer.Id))
{
answerDbContext.Answers.Add(Answer);
Db.Answer answer = mapper.Map<Models.Answer, Db.Answer>(Answer);
answerDbContext.Answers.Add(answer);
answerDbContext.SaveChanges();
var result = mapper.Map<Db.Answer, Models.Answer>(Answer);
var result = mapper.Map<Db.Answer, Models.Answer>(answer);
return (true, result, null);
}
return (false, null, "Answer is already exits");
@ -128,7 +129,7 @@ namespace DamageAssesment.Api.Answers.Providers
return (false, null, ex.Message);
}
}
public (bool IsSuccess, Models.Answer Answer, string ErrorMessage) UpdateAnswerAsync(Db.Answer Answer)
public (bool IsSuccess, Models.Answer Answer, string ErrorMessage) UpdateAnswerAsync(Models.Answer Answer)
{
try
{
@ -137,9 +138,10 @@ namespace DamageAssesment.Api.Answers.Providers
var existing = answerDbContext.Answers.AsNoTracking().FirstOrDefault(x => x.Id == Answer.Id);
if (existing != null)
{
answerDbContext.Answers.Update(Answer);
Db.Answer answer = mapper.Map<Models.Answer, Db.Answer>(Answer);
answerDbContext.Answers.Update(answer);
answerDbContext.SaveChanges();
return (true, mapper.Map<Db.Answer, Models.Answer>(Answer), "Successful");
return (true, mapper.Map<Db.Answer, Models.Answer>(answer), "Successful");
}
else
{