public bool UserInsert(Article article, List <ArticleAuthors> articleAuthorses, HttpPostedFileBase abstractFileId, HttpPostedFileBase orginalFileId, FormStructure formModel) { bool result = false; ModelView.InFormEntitiyList <RefereeCartable> keyValuePairs = new ModelView.InFormEntitiyList <RefereeCartable>(); ModelView.InFormEntitiyList <Article> articles = new ModelView.InFormEntitiyList <Article>(); ArticleBO articleBo = new ArticleBO(); try { ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted); FileManagerConnection.StartTransaction(IsolationLevel.ReadUncommitted); FormGeneratorConnection.StartTransaction(IsolationLevel.ReadUncommitted); if ( !articleBo.UserInsert(ConnectionHandler, FileManagerConnection, FormGeneratorConnection, article, articleAuthorses, abstractFileId, orginalFileId, formModel)) { return(false); } if (!articleBo.SendArticle(ConnectionHandler, FileManagerConnection, article, keyValuePairs)) { return(false); } ConnectionHandler.CommitTransaction(); FileManagerConnection.CommitTransaction(); FormGeneratorConnection.CommitTransaction(); result = true; articles.Add( article, Resources.Congress.ArticleInsertEmail, Resources.Congress.ArticleInsertSMS ); } catch (KnownException) { ConnectionHandler.RollBack(); FileManagerConnection.RollBack(); FormGeneratorConnection.RollBack(); throw; } catch (Exception ex) { ConnectionHandler.RollBack(); FileManagerConnection.RollBack(); FormGeneratorConnection.RollBack(); Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace); throw new KnownException(ex.Message, ex); } try { articleBo.InformArticle(ConnectionHandler, article.CongressId, articles); new RefereeBO().InformRefereeAddArticle(ConnectionHandler, article.CongressId, keyValuePairs); } catch (Exception) { } return(result); }