public GetRegulatorCompaniesResult GetCompaniesByRegulator(GetRegulatorCompaniesParams cmpParams) { string spName = "[SP_Get_Companies_By_Regulator]"; SqlConnection conn = OpenConnection("ConnectionStringFilings"); GetRegulatorCompaniesResult result = new GetRegulatorCompaniesResult(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = schema + "." + spName; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Connection = conn; // User email SqlParameter paramRegCode = new SqlParameter("@RegulatorCode", SqlDbType.NVarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Current, cmpParams.RegulatorCode); cmd.Parameters.Add(paramRegCode); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; da.Fill(ds); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { foreach (DataRow r in ds.Tables[0].Rows) { Interfaces.DAL.CompanyInfo cmpInfo = new Interfaces.DAL.CompanyInfo(); cmpInfo.LastFilingInfo = new CompanyFilingInfo(); cmpInfo.Code = (string)r["Company_Code"]; cmpInfo.Name = DBNull.Value != r["Company_Name"] ? (string)r["Company_Name"] : string.Empty; cmpInfo.CompanyRegulatorID = string.Empty; // TODO: need to add extra record to SP result cmpInfo.LastFilingInfo.Name = DBNull.Value != r["Last_Report_Name"] ? (string)r["Last_Report_Name"] : string.Empty; cmpInfo.LastFilingInfo.Type = DBNull.Value != r["Last_Report_Type"] ? (string)r["Last_Report_Type"] : string.Empty; cmpInfo.LastFilingInfo.PeriodEnd = DBNull.Value != r["Last_Report_End_Dt"] ? (DateTime)r["Last_Report_End_Dt"] : DateTime.MinValue; cmpInfo.LastFilingInfo.PeriodStart = DBNull.Value != r["Last_Report_Start_Dt"] ? (DateTime)r["Last_Report_Start_Dt"] : DateTime.MinValue; cmpInfo.LastFilingInfo.Submitted = DBNull.Value != r["Last_Report_Submit_Dt"] ? (DateTime)r["Last_Report_Submit_Dt"] : DateTime.MinValue; result.Companies.Add(cmpInfo); } } else { result = null; } conn.Close(); return(result); }
public object Any(GetCompanies request) { DateTime dtStart = DateTime.UtcNow; _logger.Log(EErrorType.Info, " ****** Call start: GetCompanies"); GetCompaniesResponse response = new GetCompaniesResponse(); TransferHeader(request, response); EErrorCodes valSession = ValidateSession(request.SessionToken); if (valSession == EErrorCodes.Success) { try { GetRegulatorCompaniesParams getCmpParams = new GetRegulatorCompaniesParams(); getCmpParams.RegulatorCode = request.RegulatorCode; var companies = _dal.GetCompaniesByRegulator(getCmpParams); if (companies != null && companies.Companies != null) { foreach (var c in companies.Companies) { response.Payload.Companies.Add(new DTO.CompanyInfo() { Name = c.Name, Code = c.Code, LastUpdate = c.LastUpdated != DateTime.MinValue ? (DateTime?)c.LastUpdated : null }); } } else { response.Errors.Add(new Error() { Code = EErrorCodes.EmptyCollection, Type = EErrorType.Warning, Message = string.Format("No companies found for regulator {0}", request.RegulatorCode) }); } response.Payload.RegulatorCode = request.RegulatorCode; response.Success = true; } catch (Exception ex) { _logger.Log(ex); response.Success = false; response.Errors.Add(new Error() { Code = EErrorCodes.GeneralError, Type = EErrorType.Error, Message = string.Format("Unpexcted error: {0}", ex.Message) }); } } else { response.Success = false; response.Errors.Add(new Error() { Code = EErrorCodes.InvalidSession, Type = EErrorType.Error, Message = string.Format("Invalid session") }); } DateTime dtEnd = DateTime.UtcNow; _logger.Log(EErrorType.Info, string.Format(" ****** Call end: GetCompanies\t{0}", dtEnd - dtStart)); return(response); }