public async Task <CannedReply.CannedReplyBulkResult> Patch(long key, CannedReply cannedReply) { CannedReply.CannedReplyAnswerInternalResult res = await UpdateCannedReplyAnswerToDb(cannedReply); return(new CannedReply.CannedReplyBulkResult { Id = res.CannedReplyAnswer?.Id ?? -1, Status = res.Status, ErrorMessage = res.ErrorMessage, QuestionIds = res.QuestionIds }); }
public async Task <List <CannedReply.CannedReplyBulkResult> > BulkPost(IEnumerable <CannedReply> cannedReplies) { List <CannedReply.CannedReplyBulkResult> result = new List <CannedReply.CannedReplyBulkResult>(); foreach (var crWithIndex in cannedReplies.Select((item, index) => new { index, item })) { if (crWithIndex.item.Id == 0) { try { CannedReply.CannedReplyAnswerInternalResult cannedReplyAnswerInternalResult = await CreateCannedReplyAnswerToDb(crWithIndex.item); result.Add(new CannedReply.CannedReplyBulkResult { Index = crWithIndex.index, Status = cannedReplyAnswerInternalResult.Status, Id = cannedReplyAnswerInternalResult.CannedReplyAnswer?.Id ?? -1, ErrorMessage = cannedReplyAnswerInternalResult.ErrorMessage, QuestionIds = cannedReplyAnswerInternalResult.QuestionIds //?? new List<long>() }); } catch (Exception ex) { ex = GetInnerException(ex); result.Add(new CannedReply.CannedReplyBulkResult { Index = crWithIndex.index, Status = "Error", Id = -1, ErrorMessage = ex.Message + ex.StackTrace, //QuestionIds = new List<long>() }); } } else { try { CannedReply.CannedReplyAnswerInternalResult cannedReplyAnswerInternalResult = await UpdateCannedReplyAnswerToDb(crWithIndex.item); result.Add(new CannedReply.CannedReplyBulkResult { Index = crWithIndex.index, Status = cannedReplyAnswerInternalResult.Status, Id = cannedReplyAnswerInternalResult.CannedReplyAnswer?.Id ?? crWithIndex.item.Id, ErrorMessage = cannedReplyAnswerInternalResult.ErrorMessage, QuestionIds = cannedReplyAnswerInternalResult.QuestionIds //?? new List<long>() }); } catch (Exception ex) { ex = GetInnerException(ex); result.Add(new CannedReply.CannedReplyBulkResult { Index = crWithIndex.index, Status = "Error", Id = crWithIndex.item.Id, ErrorMessage = ex.Message + ex.StackTrace, //QuestionIds = new List<long>() }); } } } return(result); }