//public FAQService(iDataContext oDC) //{ // DC = oDC; // //this.Manager = new BaseManager(oDC); // FAQ_Dal = new FAQDal(ComolSession); // this.UC = null; //} #endregion #region Read //Per Web Service /// <summary> /// Recupera una singola FAQ, controllando la comunità. /// </summary> /// <param name="FaqId">L'ID della FAQ da recuperare</param> /// <returns>La FAQ o una FAQ VUOTA se non viene trovata.</returns> public DTO_Faq GetFaq(Int64 FaqId) { Faq SourceFaq = FAQ_Dal.GetFaq(FaqId, UC.CurrentCommunityID); DTO_Faq outFaq = new DTO_Faq(); //CurrentContext.UserContext.CurrentCommunityID if (SourceFaq != null) // && SourceFaq.CommunityId == UC.CurrentCommunityID) { outFaq.ID = SourceFaq.Id; outFaq.Question = SourceFaq.Question; outFaq.Answer = SourceFaq.Answer; outFaq.Categories = new List <DTO_Category>(); if (SourceFaq.onCategories != null && SourceFaq.onCategories.Count() > 0) { foreach (Category Cat in SourceFaq.onCategories) { outFaq.Categories.Add(new DTO_Category() { Name = Cat.Name, ID = Cat.Id }); } } } //else //{ // outFaq.Categories = new List<String>(); //} return(outFaq); }
/// <summary> /// Recupera l'elenco delle faq disponibili in visualizzazione /// </summary> /// <param name="CategoryID">La categoria con cui filtrarle. Se minore di 0, vengono recuperate TUTTE le faq di quella comunità</param> /// <returns>Una lista di FAQ o una lista vuota se non ci sono FAQ.</returns> public List <DTO_Faq> GetFaqList(Int64 CategoryID) { List <DTO_Faq> OutFaqs = new List <DTO_Faq>(); IList <Faq> srcFaqs = new List <Faq>(); if (CategoryID > 0) { srcFaqs = FAQ_Dal.GetFaqs(UC.CurrentCommunityID, CategoryID); } else { srcFaqs = FAQ_Dal.GetFaqs(UC.CurrentCommunityID); } if (srcFaqs != null && srcFaqs.Count() > 0) { foreach (Faq fq in srcFaqs) { DTO_Faq outfq = new DTO_Faq(); outfq.ID = fq.Id; outfq.Question = fq.Question; outfq.Answer = fq.Answer; if (fq.onCategories != null && fq.onCategories.Count() > 0) { foreach (Category Cat in fq.onCategories) { outfq.Categories.Add(new DTO_Category() { Name = Cat.Name, ID = Cat.Id }); } } OutFaqs.Add(outfq); } } return(OutFaqs); }