From c2fc4864ab11f1d49391d846de7c2d5e124752c8 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 14 Apr 2018 04:17:13 +0100 Subject: [PATCH] Correct retrieval of nullable integers from database. --- Cicm.Database/Operations/Computer.cs | 45 +++++++++++++++++----------- Cicm.Database/Operations/Console.cs | 19 +++++++----- 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/Cicm.Database/Operations/Computer.cs b/Cicm.Database/Operations/Computer.cs index 3d773cbc..d74476ee 100644 --- a/Cicm.Database/Operations/Computer.cs +++ b/Cicm.Database/Operations/Computer.cs @@ -82,7 +82,7 @@ namespace Cicm.Database public bool GetComputers(out List entries, int company) { #if DEBUG - System.Console.WriteLine("Getting all computers from company id {0}...", company); + Console.WriteLine("Getting all computers from company id {0}...", company); #endif try @@ -102,8 +102,8 @@ namespace Cicm.Database } catch(Exception ex) { - System.Console.WriteLine("Error getting computers."); - System.Console.WriteLine(ex); + Console.WriteLine("Error getting computers."); + Console.WriteLine(ex); entries = null; return false; } @@ -439,14 +439,17 @@ namespace Cicm.Database { Computer entry = new Computer { - Id = int.Parse(dataRow["id"].ToString()), - Company = int.Parse(dataRow["company"].ToString()), - Year = int.Parse(dataRow["year"].ToString()), - Model = dataRow["model"].ToString(), - Cpu1 = int.Parse(dataRow["cpu1"].ToString()), - Mhz1 = float.Parse(dataRow["mhz1"].ToString()), - Cpu2 = int.Parse(dataRow["cpu2"].ToString()), - Mhz2 = float.Parse(dataRow["mhz2"].ToString()), + Id = int.Parse(dataRow["id"].ToString()), + Company = int.Parse(dataRow["company"].ToString()), + Year = int.Parse(dataRow["year"].ToString()), + Model = dataRow["model"].ToString(), + Cpu1 = int.Parse(dataRow["cpu1"].ToString()), + Mhz1 = float.Parse(dataRow["mhz1"].ToString()), + Cpu2 = string.IsNullOrEmpty(dataRow["cpu2"].ToString()) + ? 0 + : int.Parse(dataRow["cpu2"].ToString()), + Mhz2 = + string.IsNullOrEmpty(dataRow["mhz2"].ToString()) ? 0 : float.Parse(dataRow["mhz2"].ToString()), Bits = int.Parse(dataRow["bits"].ToString()), Ram = int.Parse(dataRow["ram"].ToString()), Rom = int.Parse(dataRow["rom"].ToString()), @@ -459,13 +462,19 @@ namespace Cicm.Database SoundChannels = int.Parse(dataRow["sound_channels"].ToString()), MusicChannels = int.Parse(dataRow["music_channels"].ToString()), Hdd1 = int.Parse(dataRow["hdd1"].ToString()), - Hdd2 = int.Parse(dataRow["hdd2"].ToString()), - Hdd3 = int.Parse(dataRow["hdd3"].ToString()), - Disk1 = int.Parse(dataRow["disk1"].ToString()), - Cap1 = dataRow["cap1"].ToString(), - Disk2 = int.Parse(dataRow["disk2"].ToString()), - Cap2 = dataRow["cap2"].ToString(), - Comment = dataRow["comment"].ToString() + Hdd2 = string.IsNullOrEmpty(dataRow["hdd2"].ToString()) + ? 0 + : int.Parse(dataRow["hdd2"].ToString()), + Hdd3 = string.IsNullOrEmpty(dataRow["hdd3"].ToString()) + ? 0 + : int.Parse(dataRow["hdd3"].ToString()), + Disk1 = int.Parse(dataRow["disk1"].ToString()), + Cap1 = dataRow["cap1"].ToString(), + Disk2 = string.IsNullOrEmpty(dataRow["disk2"].ToString()) + ? 0 + : int.Parse(dataRow["disk2"].ToString()), + Cap2 = dataRow["cap2"].ToString(), + Comment = dataRow["comment"].ToString() }; entries.Add(entry); diff --git a/Cicm.Database/Operations/Console.cs b/Cicm.Database/Operations/Console.cs index 5d1e3aa9..6757adca 100644 --- a/Cicm.Database/Operations/Console.cs +++ b/Cicm.Database/Operations/Console.cs @@ -418,14 +418,17 @@ namespace Cicm.Database { Console entry = new Console { - Id = int.Parse(dataRow["id"].ToString()), - Company = int.Parse(dataRow["company"].ToString()), - Year = int.Parse(dataRow["year"].ToString()), - Name = dataRow["name"].ToString(), - Cpu1 = int.Parse(dataRow["cpu1"].ToString()), - Mhz1 = float.Parse(dataRow["mhz1"].ToString()), - Cpu2 = int.Parse(dataRow["cpu2"].ToString()), - Mhz2 = float.Parse(dataRow["mhz2"].ToString()), + Id = int.Parse(dataRow["id"].ToString()), + Company = int.Parse(dataRow["company"].ToString()), + Year = int.Parse(dataRow["year"].ToString()), + Name = dataRow["name"].ToString(), + Cpu1 = int.Parse(dataRow["cpu1"].ToString()), + Mhz1 = float.Parse(dataRow["mhz1"].ToString()), + Cpu2 = string.IsNullOrEmpty(dataRow["cpu2"].ToString()) + ? 0 + : int.Parse(dataRow["cpu2"].ToString()), + Mhz2 = + string.IsNullOrEmpty(dataRow["mhz2"].ToString()) ? 0 : float.Parse(dataRow["mhz2"].ToString()), Bits = int.Parse(dataRow["bits"].ToString()), Ram = int.Parse(dataRow["ram"].ToString()), Rom = int.Parse(dataRow["rom"].ToString()),