public string GetLinkEditorEdit([FromUri] RecordRequest recordRequest)
      {
          var conn = new InforConnection(tu: _tu, tup: _tup);
          var id   = recordRequest.Id;

          var ip       = Request.UserHostName;
          var compName = Classes.Helpers.DetermineCompName(ip);

          var fileName = conn.GetRecordDocumentWeb((long)id, true, AppUserState.UserName,
                                                   AppUserState.Wgs, AppUserState.Ds).ToLower();

          return(fileName);
      }
 public static string GetDocumentForEdit(long uri, string username, string wgs, string ds)
 {
     try
     {
         var conn     = new InforConnection(tu: Tu, tup: Tup);
         var fileName = conn.GetRecordDocumentWeb(Convert.ToInt64(uri), true, username, wgs, ds, StoragePath()).ToLower();
         var curExt   = (Path.GetExtension(fileName) ?? "").ToLower();
         if (!FileExts.Contains(curExt))
         {
             throw new Exception("File type is not supported");
         }
         fileName = GetCorrectName(fileName);
         return(fileName);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
        public string GetDocumentLink(string wopiHost, string file, string username, string wgs, string ds)
        {
            try
            {
                var uri = file;

                var conn     = new InforConnection(tu: Tu, tup: Tup);
                var rec      = conn.GetRecordWeb(Convert.ToInt64(uri), username, wgs, ds);
                var fileName = conn.GetRecordDocumentWeb(Convert.ToInt64(uri), _updateEnabled, username, wgs, ds).ToLower();

                Logger.Info($"Get docuemnt link {fileName}");

                var accessToken = GetToken(fileName);
                var fileExt     = fileName.Substring(fileName.LastIndexOf('.') + 1).ToLower();
                Logger.Info($"Extension {fileExt}");
                var netzone = _wopiDiscovery.netzone.FirstOrDefault(f => f.name.Contains("external"));

                var netzoneApp = netzone.app.AsEnumerable()
                                 .Where(c => c.action.Where(d => d.ext == fileExt).Count() > 0);

                var appName = netzoneApp.FirstOrDefault();

                if (null == appName)
                {
                    return(null);
                }
                var fn = fileName.Substring(fileName.LastIndexOf('\\') + 1);
                var rv = GetDocumentLink(appName.name, fileExt, $"{wopiHost}{fn}", accessToken);

                return(rv);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }