public async Task <ActionResult> AdminCompleteTask(int id, [FromBody] userstasklistViewModel taskobj) { if (!ModelState.IsValid) { return(BadRequest()); } try { ParticipantDynamicFields pdf = new ParticipantDynamicFields(); pdf.TaskId = taskobj.tid; pdf.ParticpantId = taskobj.pid; if (taskobj.isDone == false) { pdf.Done = false; pdf.CompleteDate = ""; } else { pdf.Done = true; pdf.CompleteDate = DateTime.Now.ToString(); } await _unitOfWork.DynamicFieldsRepository.CompleteUserTask(pdf); return(Ok()); } catch (Exception exp) { _logger.LogError(exp.Message); return(BadRequest()); } }
//*******************CompleteTask Updating the payload in the join table ****************************// public async Task CompleteUserTask(ParticipantDynamicFields pdf) { var fieldval = appContext.ParticipantDynamicFields.FirstOrDefault(x => x.ParticpantId == pdf.ParticpantId && x.TaskId == pdf.TaskId); appContext.ParticipantDynamicFields.Remove(fieldval); //As no tracking would have been correct check for future use!! appContext.SaveChanges(); appContext.ParticipantDynamicFields.Add(pdf); await appContext.SaveChangesAsync(); }