Beispiel #1
0
        /// <summary>
        /// Delete the given QnA pair from knowledgebase db. If it is published, delete it from the
        /// QnAmake.ai base aswell.
        /// </summary>
        /// <param name="id">QnAPair to be deleted</param>
        /// <returns>true if deleted, false if not</returns>
        public async Task <bool> DeleteQnAPair(int id)
        {
            var qnaPair = await db.QnAPairs.FirstOrDefaultAsync(X => X.QnAPairsId == id);

            if (qnaPair.Published)
            {
                var r = await qnaRepository.DeleteSingleQnAPairAsync(qnaPair);

                if (r)
                {
                    qnaPair.Published      = false;
                    qnaPair.PublishingType = "delete";
                    db.Update(qnaPair);
                    if (await db.SaveChangesAsync() > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                db.Remove(qnaPair);
                if (await db.SaveChangesAsync() > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }