HospitalConnectedLayer.HospitalDAL.GetAnalyzes C# (CSharp) Method

GetAnalyzes() public method

public GetAnalyzes ( string policyNumber ) : List
policyNumber string
return List
        public List<Analysis> GetAnalyzes(string policyNumber)
        {
            OpenConnection();
            _command.CommandText = "SELECT TemplateTitle, Data, Date FROM Analyzes WHERE PolicyNumber = @PolicyNumber";

            _command.Parameters.Add(GetParam("@PolicyNumber", policyNumber));

            var analyzes = new List<Analysis>();
            var binFormatter = new ListBinaryFormatter<string>();

            try
            {
                using (DbDataReader dataReader = _command.ExecuteReader())
                {
                    while (dataReader.Read())
                    {
                        var data = (byte[]) dataReader["Data"];
                        var title = (string) dataReader["TemplateTitle"];
                        var date = (DateTime) dataReader["Date"];
                        analyzes.Add(new Analysis(binFormatter.Deserialize(data), title, date));
                    }
                }
                //LOGGING
                Logger.Info("Analyzes were obtained");
            }
            catch (Exception ex)
            {
                //LOGGING
                Logger.Error("Can't get analyzes!", ex);
                throw new InvalidOperationException("Can't get analyzes!");
            }
            finally
            {
                CloseConnection();
            }

            return analyzes;
        }

Usage Example

Ejemplo n.º 1
0
 public void AddandGetAnalyzes_TwoAnalyzes_ShouldPass(string policyNumber, Analysis analysis)
 {
     var dataStorage = new HospitalDAL(_dataProvider, _connectionString);
     dataStorage.AddAnalysis(policyNumber, analysis);
     int analyzesCount = dataStorage.GetAnalyzes(policyNumber).Count;
     Assert.True(analyzesCount >= 1);
 }