Ejemplo n.º 1
0
        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
            });
        }
Ejemplo n.º 2
0
        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);
        }