コード例 #1
0
 public override bool Delete(params object[] keys)
 {
     try
     {
         this.ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted);
         this.FileManagerConnection.StartTransaction(IsolationLevel.ReadUncommitted);
         var obj = new ResourceBO().Get(this.ConnectionHandler, keys);
         if (obj.FileId != null)
         {
             FileManagerComponent.Instance.FileTransactionalFacade(this.FileManagerConnection).Delete(obj.FileId);
         }
         if (!new ResourceBO().Delete(this.ConnectionHandler, keys))
         {
             throw new Exception("  خطایی در حذف resource  وجود دارد");
         }
         this.ConnectionHandler.CommitTransaction();
         this.FileManagerConnection.CommitTransaction();
         return(true);
     }
     catch (KnownException knownException)
     {
         this.ConnectionHandler.RollBack();
         this.FileManagerConnection.RollBack();
         throw new KnownException(knownException.Message, knownException);
     }
     catch (Exception ex)
     {
         this.ConnectionHandler.RollBack();
         this.FileManagerConnection.RollBack();
         throw new KnownException(ex.Message, ex);
     }
 }
コード例 #2
0
        public bool Update(Resource resource, HttpPostedFileBase resourceFile)
        {
            try
            {
                this.ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted);
                this.FileManagerConnection.StartTransaction(IsolationLevel.ReadUncommitted);
                if (resourceFile != null)
                {
                    var fileTransactionalFacade =
                        FileManagerComponent.Instance.FileTransactionalFacade(this.FileManagerConnection);

                    var lanuageContent = new ResourceBO().GetLanuageContent(base.ConnectionHandler,
                                                                            resource.CurrentUICultureName, resource.Id);
                    if (!string.IsNullOrEmpty(lanuageContent.FileId))
                    {
                        fileTransactionalFacade
                        .Update(resourceFile, lanuageContent.FileId.ToGuid());
                    }
                    else
                    {
                        resource.FileId =
                            fileTransactionalFacade
                            .Insert(resourceFile, new FileManager.DataStructure.File()
                        {
                            MaxSize = 200
                        }).ToString();
                    }
                }
                if (!new ResourceBO().Update(this.ConnectionHandler, resource))
                {
                    throw new Exception("  خطایی در ویرایش resource  وجود دارد");
                }
                this.ConnectionHandler.CommitTransaction();
                this.ContentManagerConnection.CommitTransaction();
                return(true);
            }
            catch (KnownException knownException)
            {
                this.ConnectionHandler.RollBack();
                this.ContentManagerConnection.RollBack();
                throw new KnownException(knownException.Message, knownException);
            }
            catch (Exception ex)
            {
                this.ConnectionHandler.RollBack();
                this.ContentManagerConnection.RollBack();
                throw new KnownException(ex.Message, ex);
            }
        }
コード例 #3
0
        public override bool Delete(Resource obj)
        {
            try
            {
                this.ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted);
                this.FileManagerConnection.StartTransaction(IsolationLevel.ReadUncommitted);

                var fileTransactionalFacade =
                    FileManagerComponent.Instance.FileTransactionalFacade(this.FileManagerConnection);

                var lanuageContent = new ResourceBO().GetLanuageContent(base.ConnectionHandler,
                                                                        obj.CurrentUICultureName, obj.Id);
                if (!string.IsNullOrEmpty(lanuageContent.FileId))
                {
                    fileTransactionalFacade.Delete(lanuageContent.FileId);
                }



                if (!new ResourceBO().Delete(this.ConnectionHandler, obj))
                {
                    throw new Exception("  خطایی در حذف resource  وجود دارد");
                }
                this.ConnectionHandler.CommitTransaction();
                this.ContentManagerConnection.CommitTransaction();
                return(true);
            }
            catch (KnownException knownException)
            {
                this.ConnectionHandler.RollBack();
                this.ContentManagerConnection.RollBack();
                throw new KnownException(knownException.Message, knownException);
            }
            catch (Exception ex)
            {
                this.ConnectionHandler.RollBack();
                this.ContentManagerConnection.RollBack();
                throw new KnownException(ex.Message, ex);
            }
        }
コード例 #4
0
        public string GetThemeResourceHtml(Guid themeId, string culture)
        {
            try
            {
                var str = new StringWriter();
                var html32TextWriter = new Html32TextWriter(str);
                var byFilter         = new ResourceBO().OrderBy(this.ConnectionHandler, x => x.Order, x =>

                                                                x.ThemeId == themeId &&
                                                                x.LanuageId == culture
                                                                );
                foreach (var resource in byFilter)
                {
                    switch ((Enums.ResourceType)resource.Type)
                    {
                    case Enums.ResourceType.JSFile:
                        if (resource.FileId == null)
                        {
                            continue;
                        }
                        html32TextWriter.AddAttribute(HtmlTextWriterAttribute.Type, "text/javascript");
                        html32TextWriter.AddAttribute(HtmlTextWriterAttribute.Src, FileManagerContants.FileHandlerRoot + resource.FileId);
                        html32TextWriter.RenderBeginTag(HtmlTextWriterTag.Script);
                        html32TextWriter.RenderEndTag();
                        break;

                    case Enums.ResourceType.CssFile:
                        if (resource.FileId == null)
                        {
                            continue;
                        }
                        html32TextWriter.AddAttribute(HtmlTextWriterAttribute.Type, "text/css");
                        html32TextWriter.AddAttribute(HtmlTextWriterAttribute.Rel, "stylesheet");
                        html32TextWriter.AddAttribute(HtmlTextWriterAttribute.Href, FileManagerContants.FileHandlerRoot + resource.FileId);
                        html32TextWriter.RenderBeginTag(HtmlTextWriterTag.Link);
                        html32TextWriter.RenderEndTag();
                        break;

                    case Enums.ResourceType.JSFunction:
                        if (string.IsNullOrEmpty(resource.Text))
                        {
                            continue;
                        }
                        html32TextWriter.AddAttribute(HtmlTextWriterAttribute.Type, "text/javascript");
                        html32TextWriter.RenderBeginTag(HtmlTextWriterTag.Style);
                        html32TextWriter.Write(resource.Text);
                        html32TextWriter.RenderEndTag();
                        break;

                    case Enums.ResourceType.Style:
                        if (string.IsNullOrEmpty(resource.Text))
                        {
                            continue;
                        }
                        html32TextWriter.RenderBeginTag(HtmlTextWriterTag.Style);
                        html32TextWriter.Write(resource.Text);
                        html32TextWriter.RenderEndTag();
                        break;
                    }
                }
                return(str.ToString());
            }
            catch (KnownException knownException)
            {
                throw new KnownException(knownException.Message, knownException);
            }
            catch (Exception ex)
            {
                throw new KnownException(ex.Message, ex);
            }
        }