public Models.TechnologyDetailsViewModel GetServersTechnologyDetails() { var model = new Models.AnalysisViewModel(); //model.NonProdMachines = this.db.Fetch<ORACLE_Servers_EMEA>("Select distinct ServerName from ORACLE_Servers_EMEA where isbillable = 1").Count(); return(this.db.FirstOrDefault <TechnologyDetailsViewModel> ("select sum(case when version like 'SQL%' then 1 else 0 end) MSSQLServersCount," + " sum(case when version like 'ORACLE%' then 1 else 0 end) OracleServersCount," + " sum(case when version like 'DB%' then 1 else 0 end) DB2ServersCount" + " from All_Instance_Count")); }
public static AnalysisViewModel operator +(AnalysisViewModel a, AnalysisViewModel b) { var vm = new AnalysisViewModel(); //vm.InstanceName.AddRange(a.InstanceName.Concat(b.InstanceName).GroupBy(c => c.Key.ToLower()).Select(c => new KeyValuePair<string, int>(c.Key, c.Sum(d => d.Value))).ToList()); //vm.Version.AddRange(a.Version.Concat(b.Version).GroupBy(c => c.Key.ToLower()).Select(c => new KeyValuePair<string, int>(c.Key, c.Sum(d => d.Value))).ToList()); //vm.Company.AddRange(a.Company.Concat(b.Company).GroupBy(c => c.Key.ToLower()).Select(c => new KeyValuePair<string, int>(c.Key, c.Sum(d => d.Value))).ToList()); //vm.Status.AddRange(a.Status.Concat(b.Status).GroupBy(c => c.Key.ToLower()).Select(c => new KeyValuePair<string, int>(c.Key, c.Sum(d => d.Value))).ToList()); //vm.Monitor.AddRange(a.Monitor.Concat(b.Monitor).GroupBy(c => c.Key.ToLower()).Select(c => new KeyValuePair<string, int>(c.Key, c.Sum(d => d.Value))).ToList()); //vm.OracleServerCount = a.OracleServerCount + b.OracleServerCount; return(vm); }