public static object REGISTERS( [ExcelArgument(Description = "銘柄コード、市場コードのセル範囲を指定する", Name = "銘柄情報")] object[,] symboldata) { string ret = null; try { string ResultMessage = Validate.ValidateRegister(symboldata); if (!string.IsNullOrEmpty(ResultMessage)) { return(ResultMessage); } Tuple <DateTime, string> tpl; var tplKey = Util.ArrayToText(symboldata); if (_registerCache.TryGetValue(tplKey, out tpl)) { if ((DateTime.Now - tpl.Item1).TotalSeconds < 1) { ret = tpl.Item2; } } if (String.IsNullOrEmpty(ret)) { ret = middleware.StockRegistration(symboldata); _registerCache[tplKey] = Tuple.Create(DateTime.Now, ret); } object array; array = RegisterResult.RegisterCheck(ret); if (array == null) { // 検証用でAPI実行結果がエラーではない場合 return(0); } return(XlCall.Excel(XlCall.xlUDF, "Resize", array)); } catch (Exception exception) { if (exception.InnerException == null) { return(exception.Message); } else { return(exception.InnerException.Message); } } }
public static object UNREGISTER_ALL() { string ret = null; try { string ResultMessage = Validate.ValidateCommon(); if (!string.IsNullOrEmpty(ResultMessage)) { return(ResultMessage); } Tuple <DateTime, string> tpl; var tplKey = "UNREGISTER_ALL"; if (_unregisterAllCache.TryGetValue(tplKey, out tpl)) { if ((DateTime.Now - tpl.Item1).TotalSeconds < 1) { ret = tpl.Item2; } } if (String.IsNullOrEmpty(ret)) { ret = middleware.UnregisterAll(); _unregisterAllCache[tplKey] = Tuple.Create(DateTime.Now, ret); } object array; array = RegisterResult.RegisterCheck(ret); if (!CustomRibbon._env) { return(0); } return(XlCall.Excel(XlCall.xlUDF, "Resize", array)); } catch (Exception exception) { if (exception.InnerException == null) { return(exception.Message); } else { return(exception.InnerException.Message); } } }