Beispiel #1
0
 public IEnumerable <FAQ.DataStructure.FAQ> GetByWebSiteId(Guid websiteId)
 {
     try
     {
         var list      = new List <FAQ.DataStructure.FAQ>();
         var faqFacade = FAQComponent.Instance.FAQFacade;
         var byFilter  = new FAQBO().Where(this.ConnectionHandler, html => html.WebId == websiteId);
         foreach (var congressHtml in byFilter)
         {
             var html = faqFacade.Get(congressHtml.FAQId);
             if (html == null)
             {
                 continue;
             }
             list.Add(html);
         }
         return(list);
     }
     catch (KnownException knownException)
     {
         throw new KnownException(knownException.Message, knownException);
     }
     catch (Exception ex)
     {
         throw new KnownException(ex.Message, ex);
     }
 }
Beispiel #2
0
 public IEnumerable <FAQ.DataStructure.FAQ> Search(Guid websiteId, string value)
 {
     try
     {
         var list          = new List <FAQ.DataStructure.FAQ>();
         var faqFacade     = FAQComponent.Instance.FAQFacade.Search(value);
         var congressFaqbo = new FAQBO();
         foreach (var congressHtml in faqFacade)
         {
             var html = congressFaqbo.Get(this.ConnectionHandler, websiteId, congressHtml.Id);
             if (html == null)
             {
                 continue;
             }
             list.Add(congressHtml);
         }
         return(list);
     }
     catch (KnownException knownException)
     {
         throw new KnownException(knownException.Message, knownException);
     }
     catch (Exception ex)
     {
         throw new KnownException(ex.Message, ex);
     }
 }
Beispiel #3
0
 public override bool Delete(params object[] keys)
 {
     try
     {
         this.ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted);
         this.FaqConnection.StartTransaction(IsolationLevel.ReadUncommitted);
         var congressFaqbo = new FAQBO();
         var obj           = congressFaqbo.Get(this.ConnectionHandler, keys);
         if (!congressFaqbo.Delete(this.ConnectionHandler, keys))
         {
             throw new Exception("خطایی در حذف FAQ وجود دارد");
         }
         if (!FAQComponent.Instance.FAQTransactionalFacade(this.FaqConnection).Delete(obj.FAQId))
         {
             throw new Exception("خطایی در حذف FAQ وجود دارد");
         }
         this.ConnectionHandler.CommitTransaction();
         this.FaqConnection.CommitTransaction();
         return(true);
     }
     catch (KnownException knownException)
     {
         this.ConnectionHandler.RollBack();
         this.FaqConnection.RollBack();
         throw new KnownException(knownException.Message, knownException);
     }
     catch (Exception ex)
     {
         this.ConnectionHandler.RollBack();
         this.FaqConnection.RollBack();
         throw new KnownException(ex.Message, ex);
     }
 }
Beispiel #4
0
 public override bool Delete(params object[] keys)
 {
     try
     {
         this.ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted);
         this.FileManagerConnection.StartTransaction(IsolationLevel.ReadUncommitted);
         var faq = new FAQBO().Get(this.ConnectionHandler, keys);
         if (faq == null)
         {
             return(true);
         }
         var list = new FAQContentBO().Where(this.ConnectionHandler, content => content.Id == faq.Id);
         foreach (var content in list)
         {
             if (!new FAQContentBO().Delete(this.ConnectionHandler, content.Id, content.LanguageId))
             {
                 throw new Exception("خطایی در حذف محتوا وجود دارد");
             }
         }
         if (faq.ThumbnailId.HasValue)
         {
             if (
                 !FileManagerComponent.Instance.FileTransactionalFacade(this.FileManagerConnection)
                 .Delete(faq.ThumbnailId.Value))
             {
                 throw new Exception("Could not delete Thumbnail.");
             }
         }
         if (!new FAQBO().Delete(this.ConnectionHandler, keys))
         {
             throw new Exception("خطایی در حذف محتوا وجود دارد");
         }
         this.ConnectionHandler.CommitTransaction();
         this.FileManagerConnection.CommitTransaction();
         return(true);
     }
     catch (KnownException ex)
     {
         this.ConnectionHandler.RollBack();
         this.FileManagerConnection.RollBack();
         Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace);
         throw new KnownException(ex.Message, ex);
     }
     catch (Exception ex)
     {
         this.ConnectionHandler.RollBack();
         this.FileManagerConnection.RollBack();
         Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace);
         throw new KnownException(ex.Message, ex);
     }
 }