public void AddSkuAql(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { T_C_SKU_AQL tCSkuAql = null; OleExec sfcdb = null; T_C_SKU tCSku = null; try { sfcdb = this.DBPools["SFCDB"].Borrow(); tCSkuAql = new T_C_SKU_AQL(sfcdb, DB_TYPE_ENUM.Oracle); tCSku = new T_C_SKU(sfcdb, DB_TYPE_ENUM.Oracle); SkuObject sku = tCSku.GetSkuByID(Data["SkuId"].ToString().Trim(), sfcdb); if (sku == null) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000245"; StationReturn.MessagePara = new List <object>() { Data["SKUNO"].ToString().Trim() }; return; } tCSkuAql.DeleteBySkuno(sfcdb, sku.SkuNo); Row_C_SKU_AQL r = (Row_C_SKU_AQL)tCSkuAql.NewRow(); r.ID = tCSkuAql.GetNewID(this.BU, sfcdb); r.SKUNO = sku.SkuNo; r.AQLTYPE = Data["AqlType"].ToString().Trim(); r.DEFAULLEVEL = Data["aqlLevel"].ToString().Trim(); r.EDIT_EMP = this.LoginUser.EMP_NO; r.EDIT_TIME = GetDBDateTime(); string strRet = sfcdb.ExecSQL(r.GetInsertString(DB_TYPE_ENUM.Oracle)); if (Convert.ToInt32(strRet) > 0) { StationReturn.Message = "添加成功!!"; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Data = ""; } else { StationReturn.MessageCode = "MES00000036"; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Data = ""; } } catch (Exception e) { throw e; } finally { this.DBPools["SFCDB"].Return(sfcdb); } }
public void DeleteSkuById(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; T_C_SKU Table = null; SkuObject Sku = null; string result = string.Empty; string SkuId = string.Empty; StringBuilder strSkuId; try { sfcdb = this.DBPools["SFCDB"].Borrow(); Table = new T_C_SKU(sfcdb, DBTYPE); SkuId = Data["SkuID"].ToString(); Sku = new SkuObject(); Sku.SkuId = SkuId; result = Table.UpdateSku(BU, Sku, "DELETE", GetDBDateTime(), out strSkuId, sfcdb); if (Int32.Parse(result) > 0) { //刪除成功 StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000035"; StationReturn.MessagePara.Add(result); StationReturn.Data = strSkuId.ToString(); } else { //沒有刪除任何數據 StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000036"; StationReturn.Data = result; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } catch (Exception e) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(e.Message); StationReturn.Data = e.Message; if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } }
public void AddSku(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; T_C_SKU Table = null; string SkuObject = string.Empty; SkuObject Sku = null; string result = string.Empty; StringBuilder SkuId; try { sfcdb = this.DBPools["SFCDB"].Borrow(); Table = new T_C_SKU(sfcdb, DBTYPE); SkuObject = Data["SkuObject"].ToString(); Sku = (SkuObject)JsonConvert.Deserialize(SkuObject, typeof(SkuObject)); Sku.LastEditUser = LoginUser.EMP_NO; result = Table.UpdateSku(BU, Sku, "ADD", GetDBDateTime(), out SkuId, sfcdb); if (Int32.Parse(result) > 0) { //添加成功 StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000035"; StationReturn.MessagePara.Add(result); StationReturn.Data = SkuId.ToString(); } else { //沒有添加任何數據 StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000036"; StationReturn.Data = result; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } catch (Exception e) { if (!string.IsNullOrEmpty(result)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000005"; StationReturn.Data = e.Message + ":" + result; } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(e.Message); StationReturn.Data = e.Message; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } }
public SkuInfo FetchSkuInfo(string rackSkuName) { SkuInfo skuInfo = null; SkuObject skuObject = null; try { var skuRefHandler = new SkuRefHandler(); skuObject = skuRefHandler.GetSkuDetails(rackSkuName); if (skuObject == null || skuObject.Results == null || !skuObject.Results.Any() || !string.IsNullOrEmpty(skuObject.Error)) { return(skuInfo); } } catch (Exception ex) { SendEmail.SendExoSkuMsAssetReportEmail(Constants.serviceAccountAlias, Constants.automationTeam, "FetchSkuInfo exception", ex.ToString()); return(skuInfo); } // Initialize the skuInfo object skuInfo = new SkuInfo(); foreach (var skuInfoResult in skuObject.Results) { if (skuInfoResult != null && skuInfoResult.Name != null && skuInfoResult.Name.Equals(rackSkuName, StringComparison.OrdinalIgnoreCase) && skuInfoResult.Items != null) { // Fill Servers var serverItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("Server", StringComparison.OrdinalIgnoreCase) && IsServer(sItem.SingleScanDetails)); if (serverItems != null && serverItems.Any()) { skuInfo.ServerSpec = new TechSpec(); skuInfo.ServerLayout = new List <PhysicalRackLayout>(); foreach (var serverItem in serverItems) { if (serverItem != null) { skuInfo.ServerSpec.QuantityPerRack += serverItem.Quantity; skuInfo.ServerSpec.DskuName = string.IsNullOrEmpty(skuInfo.ServerSpec.DskuName) ? (serverItem.DiscreteSkuName): (skuInfo.ServerSpec.DskuName + ";" + serverItem.DiscreteSkuName); skuInfo.ServerSpec.MsfNumber = serverItem.MsfPartNumberAx; skuInfo.ServerSpec.Model = serverItem.ModelName; if (serverItem.SingleScanDetails != null && serverItem.SingleScanDetails.Any()) { var singleScanDetails = serverItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.ServerLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } // Fill Chassis var chassisItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("Chassis", StringComparison.OrdinalIgnoreCase) && IsChassis(sItem.SingleScanDetails)); if (chassisItems != null && chassisItems.Any()) { skuInfo.ChassisSpec = new TechSpec(); skuInfo.ChassisLayout = new List <PhysicalRackLayout>(); foreach (var chassisItem in chassisItems) { if (chassisItem != null) { skuInfo.ChassisSpec.QuantityPerRack += chassisItem.Quantity; skuInfo.ChassisSpec.DskuName = string.IsNullOrEmpty(skuInfo.ChassisSpec.DskuName) ? (chassisItem.DiscreteSkuName) : (skuInfo.ChassisSpec.DskuName + ";" + chassisItem.DiscreteSkuName); skuInfo.ChassisSpec.MsfNumber = chassisItem.MsfPartNumberAx; skuInfo.ChassisSpec.Model = chassisItem.ModelName; if (chassisItem.SingleScanDetails != null && chassisItem.SingleScanDetails.Any()) { var singleScanDetails = chassisItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.ChassisLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } // Fill Chassis Manager var chassisManagerItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("Server", StringComparison.OrdinalIgnoreCase) && IsChassisManager(sItem.SingleScanDetails)); if (chassisManagerItems != null && chassisManagerItems.Any()) { skuInfo.ChassisManagerSpec = new TechSpec(); skuInfo.ChassisManagerLayout = new List <PhysicalRackLayout>(); foreach (var chassisManagerItem in chassisManagerItems) { if (chassisManagerItem != null) { skuInfo.ChassisManagerSpec.QuantityPerRack += chassisManagerItem.Quantity; skuInfo.ChassisManagerSpec.DskuName = string.IsNullOrEmpty(skuInfo.ChassisManagerSpec.DskuName) ? (chassisManagerItem.DiscreteSkuName) : (skuInfo.ChassisManagerSpec.DskuName + ";" + chassisManagerItem.DiscreteSkuName); skuInfo.ChassisManagerSpec.MsfNumber = chassisManagerItem.MsfPartNumberAx; skuInfo.ChassisManagerSpec.Model = chassisManagerItem.ModelName; if (chassisManagerItem.SingleScanDetails != null && chassisManagerItem.SingleScanDetails.Any()) { var singleScanDetails = chassisManagerItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.ChassisManagerLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } // Fill Rack var rackItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("Rack", StringComparison.OrdinalIgnoreCase) && IsRack(sItem.SingleScanDetails)); if (rackItems != null && rackItems.Any()) { skuInfo.RackSpec = new TechSpec(); skuInfo.RackLayout = new List <PhysicalRackLayout>(); foreach (var rackItem in rackItems) { if (rackItem != null) { skuInfo.RackSpec.QuantityPerRack += rackItem.Quantity; skuInfo.RackSpec.DskuName = string.IsNullOrEmpty(skuInfo.RackSpec.DskuName) ? (rackItem.DiscreteSkuName) : (skuInfo.RackSpec.DskuName + ";" + rackItem.DiscreteSkuName); skuInfo.RackSpec.MsfNumber = rackItem.MsfPartNumberAx; skuInfo.RackSpec.Model = rackItem.ModelName; if (rackItem.SingleScanDetails != null && rackItem.SingleScanDetails.Any()) { var singleScanDetails = rackItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.RackLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } // Fill UPS var upsItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && (sItem.AssetType.Equals("Server", StringComparison.OrdinalIgnoreCase) || sItem.AssetType.Equals("PowerStrip", StringComparison.OrdinalIgnoreCase)) && IsUps(sItem.SingleScanDetails)); if (upsItems != null && upsItems.Any()) { skuInfo.UpsSpec = new TechSpec(); skuInfo.UpsLayout = new List <PhysicalRackLayout>(); foreach (var upsItem in upsItems) { if (upsItem != null) { skuInfo.UpsSpec.QuantityPerRack += upsItem.Quantity; skuInfo.UpsSpec.DskuName = string.IsNullOrEmpty(skuInfo.UpsSpec.DskuName) ? (upsItem.DiscreteSkuName) : (skuInfo.UpsSpec.DskuName + ";" + upsItem.DiscreteSkuName); skuInfo.UpsSpec.MsfNumber = upsItem.MsfPartNumberAx; skuInfo.UpsSpec.Model = upsItem.ModelName; if (upsItem.SingleScanDetails != null && upsItem.SingleScanDetails.Any()) { var singleScanDetails = upsItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.UpsLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } // Fill ToR Switch var switchItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("NetDevice", StringComparison.OrdinalIgnoreCase) && IsSwitch(sItem.SingleScanDetails)); if (switchItems != null && switchItems.Any()) { skuInfo.SwitchSpec = new TechSpec(); skuInfo.SwitchLayout = new List <PhysicalRackLayout>(); foreach (var switchItem in switchItems) { if (switchItem != null) { skuInfo.SwitchSpec.QuantityPerRack += switchItem.Quantity; skuInfo.SwitchSpec.DskuName = string.IsNullOrEmpty(skuInfo.SwitchSpec.DskuName) ? (switchItem.DiscreteSkuName) : (skuInfo.SwitchSpec.DskuName + ";" + switchItem.DiscreteSkuName); skuInfo.SwitchSpec.MsfNumber = switchItem.MsfPartNumberAx; skuInfo.SwitchSpec.Model = switchItem.ModelName; if (switchItem.SingleScanDetails != null && switchItem.SingleScanDetails.Any()) { var singleScanDetails = switchItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.SwitchLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } // Fill Load Balancer var loadBalancerItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("NetDevice", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(sItem.DiscreteSkuNetDeviceType) && sItem.DiscreteSkuNetDeviceType.IndexOf("Load", StringComparison.OrdinalIgnoreCase) >= 0); if (loadBalancerItems != null && loadBalancerItems.Any()) { skuInfo.LoadBalancerSpec = new TechSpec(); skuInfo.LoadBalancerLayout = new List <PhysicalRackLayout>(); foreach (var loadBalancerItem in loadBalancerItems) { if (loadBalancerItem != null) { skuInfo.LoadBalancerSpec.QuantityPerRack += loadBalancerItem.Quantity; skuInfo.LoadBalancerSpec.DskuName = string.IsNullOrEmpty(skuInfo.LoadBalancerSpec.DskuName) ? (loadBalancerItem.DiscreteSkuName) : (skuInfo.LoadBalancerSpec.DskuName + ";" + loadBalancerItem.DiscreteSkuName); skuInfo.LoadBalancerSpec.MsfNumber = loadBalancerItem.MsfPartNumberAx; skuInfo.LoadBalancerSpec.Model = loadBalancerItem.ModelName; if (loadBalancerItem.SingleScanDetails != null && loadBalancerItem.SingleScanDetails.Any()) { var singleScanDetails = loadBalancerItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.LoadBalancerLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } // Fill ILO and DIGI var iloItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("NetDevice", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(sItem.DiscreteSkuNetDeviceType) && sItem.DiscreteSkuNetDeviceType.IndexOf("ILO", StringComparison.OrdinalIgnoreCase) >= 0 && IsIloSwitch(sItem.SingleScanDetails)); var digiItems = skuInfoResult.Items.Where(sItem => !string.IsNullOrEmpty(sItem.AssetType) && sItem.AssetType.Equals("NetDevice", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(sItem.Manufacturer) && sItem.Manufacturer.IndexOf("Digi", StringComparison.OrdinalIgnoreCase) >= 0 && IsDigiSwitch(sItem.SingleScanDetails)); iloItems = iloItems.Union(digiItems); if (iloItems != null && iloItems.Any()) { skuInfo.IloSpec = new TechSpec(); skuInfo.IloLayout = new List <PhysicalRackLayout>(); foreach (var iloItem in iloItems) { if (iloItem != null) { skuInfo.IloSpec.QuantityPerRack += iloItem.Quantity; skuInfo.IloSpec.DskuName = string.IsNullOrEmpty(skuInfo.IloSpec.DskuName) ? (iloItem.DiscreteSkuName) : (skuInfo.IloSpec.DskuName + ";" + iloItem.DiscreteSkuName); skuInfo.IloSpec.MsfNumber = iloItem.MsfPartNumberAx; skuInfo.IloSpec.Model = iloItem.ModelName; if (iloItem.SingleScanDetails != null && iloItem.SingleScanDetails.Any()) { var singleScanDetails = iloItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.IloLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } if (digiItems != null && digiItems.Any()) { skuInfo.DigiSpec = new TechSpec(); skuInfo.DigiLayout = new List <PhysicalRackLayout>(); foreach (var digiItem in digiItems) { if (digiItem != null) { skuInfo.DigiSpec.QuantityPerRack += digiItem.Quantity; skuInfo.DigiSpec.DskuName = string.IsNullOrEmpty(skuInfo.DigiSpec.DskuName) ? (digiItem.DiscreteSkuName) : (skuInfo.DigiSpec.DskuName + ";" + digiItem.DiscreteSkuName); skuInfo.DigiSpec.MsfNumber = digiItem.MsfPartNumberAx; skuInfo.DigiSpec.Model = digiItem.ModelName; if (digiItem.SingleScanDetails != null && digiItem.SingleScanDetails.Any()) { var singleScanDetails = digiItem.SingleScanDetails; foreach (var ssd in singleScanDetails) { if (ssd != null) { skuInfo.DigiLayout.Add(new PhysicalRackLayout { Slot = ssd.SlotNum, BinNumber = converToInt(ssd.BinNum) }); } } } } } } } } return(skuInfo); }