Esempio n. 1
0
 public bool Import(Guid solutionId, IList <Domain.WebResource> webResources)
 {
     if (webResources.NotEmpty())
     {
         foreach (var item in webResources)
         {
             var entity = _webResourceFinder.FindById(item.WebResourceId, false);
             if (entity != null)
             {
                 entity.Content     = item.Content;
                 entity.Description = item.Description;
                 entity.Name        = item.Name;
                 _webResourceUpdater.Update(entity);
             }
             else
             {
                 item.ComponentState = 0;
                 item.SolutionId     = solutionId;
                 item.CreatedBy      = _appContext.GetFeature <ICurrentUser>().SystemUserId;
                 item.OrganizationId = _appContext.OrganizationId;
                 _webResourceCreater.Create(item);
             }
         }
     }
     return(true);
 }
Esempio n. 2
0
        public async Task <IActionResult> EditWebResource(EditWebResourceModel model)
        {
            if (ModelState.IsValid)
            {
                var entity = _webResourceFinder.FindById(model.WebResourceId.Value);
                model.CopyTo(entity);
                if (model.WebResourceType == WebResourceType.Picture)
                {
                    //重新上传文件时更新内容,否则保留原有内容
                    if (model.ResourceFile != null && model.ResourceFile.Length > 0)
                    {
                        byte[] bytes = new byte[model.ResourceFile.Length];
                        using (Stream s = new MemoryStream())
                        {
                            await model.ResourceFile.CopyToAsync(s).ConfigureAwait(false);

                            await s.ReadAsync(bytes, 0, bytes.Length).ConfigureAwait(false);

                            entity.Content = _webResourceContentCoder.CodeEncode(bytes);
                        }
                    }
                }
                else
                {
                    if (model.Content.IsNotEmpty())
                    {
                        entity.Content = _webResourceContentCoder.CodeEncode(model.Content);
                    }
                    else
                    {
                        return(CreateFailure(T["webresource_content_empty"]));
                    }
                }
                _webResourceUpdater.Update(entity);

                return(UpdateSuccess(new { id = entity.WebResourceId }));
            }
            return(UpdateFailure(GetModelErrors()));
        }