Ejemplo n.º 1
0
        public virtual IFilingParserResult Parse(IFilingParserParams parserParams)
        {
            ResetState();
            SECParserParams secParams = parserParams as SECParserParams;

            SECParserResult result = new SECParserResult();

            try
            {
                ValidateFile(secParams, result);
                if (result.Success)
                {
                    var doc = OpenDocument(secParams);
                    if (doc != null)
                    {
                        InitNsManager(doc);
                        ExtractContexts(doc, result);
                        ExtractCompanyData(doc, result);
                        ExtractFilingData(doc, result);
                        ExtractValues(doc, secParams, result);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.AddError(EErrorCodes.ParserError, EErrorType.Error, ex.Message);
            }

            return(result);
        }
Ejemplo n.º 2
0
 protected void ValidateFile(SECParserParams secParams, SECParserResult secResult)
 {
     if (secParams.FileContent == null || !secParams.FileContent.Values.ElementAt(0).CanRead)
     {
         secResult.Success = false;
         secResult.AddError(EErrorCodes.FileNotFound, EErrorType.Error, "Stream is unaccessable");
     }
 }