public async Task <string> GetFileContenAsync(string path)
 {
     path = path.Replace(Config.UrlDelimeter, Helper.RootUrl);
     path = AuthorizeManager.AuthorizeActionOnPath(path, ActionKey.ReadFromDisk);
     if (await _fileSystemManager.FileExistAsync(path))
     {
         return(await _fileSystemManager.ReadAsync(path));
     }
     throw new KhodkarInvalidException(LanguageManager.ToAsErrorMessage(ExceptionKey.FileNotFound));
 }
Exemple #2
0
        private async Task <string> GetResorcesAsync(MasterDataKeyValue service)
        {
            var jsPath = GetServiceSourceCodePath(service.Guid, SourceType.JavaScript);

            if (await _fileSystemManager.FileExistAsync(jsPath))
            {
                return(await _fileSystemManager.ReadAsync(jsPath));
            }
            return("");
        }
        private async Task <string> GetResorces(LanguageAndCulture languageAndCulture)
        {
            var path = AuthorizeManager.AuthorizeActionOnPath(Config.ResourcesSourceCodePath, ActionKey.ReadFromDisk) + languageAndCulture.Language + ".js";


            if (await _fileSystemManager.FileExistAsync(path))
            {
                return(await _fileSystemManager.ReadAsync(path));
            }

            return("");
        }
        public async Task <bool> SaveFile(JObject data)
        {
            //var user = "******";
            //var version = "_asV_";
            dynamic codeDto     = data;
            int     id          = codeDto.Id;
            bool    checkIn     = codeDto.CheckIn;
            string  path        = codeDto.Path;
            string  codeContent = codeDto.Code;
            string  comment     = codeDto.Comment;

            path = path.Replace(Config.UrlDelimeter, Helper.RootUrl);
            var code = ContentManagementContext.MasterDataKeyValues.FirstOrDefault(sr => sr.Id == id);

            if (code == null)
            {
                throw new KhodkarInvalidException(LanguageManager.ToAsErrorMessage(ExceptionKey.CodeNotFound));
            }

            if (code.EditMode)
            {
                SourceControl.CheckCodeCheckOute(code);
            }

            AuthorizeManager.SetAndCheckModifyAndAccessRole(code, null, false);

            if (await FileSystemManager.FileExistAsync(AuthorizeManager
                                                       .AuthorizeActionOnPath(path, ActionKey.WriteToDisk)))
            {
                code.Version++;
                await ContentManagementContext.SaveChangesAsync();


                await SourceControl.AddChange(path.Remove(path.LastIndexOf("/", StringComparison.Ordinal) + 1),
                                              path.Substring(path.LastIndexOf("/", StringComparison.Ordinal) + 1),
                                              codeContent,
                                              code.Version,
                                              comment);


                //var userIndex = path.IndexOf(user, StringComparison.Ordinal);
                //var endSourceControlStringIndex = path.LastIndexOf(".", StringComparison.Ordinal);
                //if (userIndex > 0 &&
                //    path.IndexOf(version, StringComparison.Ordinal) > 0)
                //{
                //    path = path.Remove(userIndex, endSourceControlStringIndex - userIndex);


                //}
                //else
                //{
                if (checkIn)
                {
                    await FileSystemManager.WriteAsync(path, codeContent);
                }
                //}

                //return await FileSystemManager.WriteAsync(path.Insert(path.LastIndexOf(".", StringComparison.Ordinal),
                //     user+ CurrentUserManager.UserName.Replace("@", "[at]")+version+code.Version), codeContent);
                return(true);
            }

            throw new KhodkarInvalidException(LanguageManager.ToAsErrorMessage(ExceptionKey.CodeNotFound));
        }