//Llenado de Tabla de Detalle Componentes public NutanixParametros cargaDetalleComponente(int idComponente, out string sErrors) { Boolean res; string codError = ""; SqlAccess cDAL = new SqlAccess(dbConn); DataSet dtGrilla = new DataSet(); Dictionary<string, object> parametro = new Dictionary<string, object>(); parametro.Add("@idcomponente", idComponente); res = cDAL.ConsultarDS("USP_SEL_NUTANIX_DETALLE_COMPONENTE", out dtGrilla, out codError, out sErrors, parametro); NutanixParametros salida = new NutanixParametros(); foreach (DataRow row in dtGrilla.Tables[0].Rows) { salida.idCotizacion = int.Parse(row["idcotizacion"].ToString()); salida.idProyecto = int.Parse(row["idproyecto"].ToString()); salida.plantillaComp = row["plantilla"].ToString(); salida.descripcionComp = row["descripcion"].ToString(); salida.catCosto = row["categoriacosto"].ToString(); salida.estadoComp = row["estado"].ToString(); salida.idComponente = int.Parse(row["idcomponente"].ToString()); salida.idAmbiente = int.Parse(row["idambiente"].ToString()); salida.ambienteComp = row["ambiente"].ToString().Trim(); salida.idTipo = int.Parse(row["idtipo"].ToString()); salida.esAplicacion = row["aplicacion"].ToString(); salida.vcoresComp = int.Parse(row["vcores"].ToString()); salida.ramComp = int.Parse(row["ram"].ToString()); salida.idNegocio = int.Parse(row["idnegocio"].ToString()); salida.negocio = row["negocio"].ToString(); } return salida; }
//Parametrización por Componente public string parametrizacionComponente(NutanixEntrada nutanix,int idComponente) { string sErros = "", sError = ""; string ambito = "", salida = ""; string json = "", jsonFinal = ""; string script = "", scriptFinal = "", base64 =""; NutanixFunciones nfun = new NutanixFunciones(); NutanixParametros nparam = new NutanixParametros(); NutanixPlantillas nplan = new NutanixPlantillas(); nparam = nfun.cargaDetalleComponente(idComponente, out sError); string[] dbConfig = nutanix.charSet == null ? new string[]{"","",""} : nutanix.charSet.Split('-'); string charSet = dbConfig[0] != "" ? dbConfig[0] : ""; string natcharSet = dbConfig[1] != "" ? dbConfig[1] : ""; string blockSize = dbConfig[2] != "" ? dbConfig[2] : ""; if (nparam.idTipo == 105) { if (nparam.idAmbiente == 22) { ambito = "PRODUCTIVO"; } else ambito= "NO_PRODUCTIVO"; } else { ambito = "APP"; } nplan = cargaJsonNutanix(out sErros, out json, out script, ambito, nutanix.sistemaOperativo, nparam.idTipo.ToString(), nutanix.rolSet); scriptFinal = armarScript(nplan.plantillaScript, nutanix.dbName, charSet,natcharSet,blockSize); base64 = EncodeTo64SL(scriptFinal); jsonFinal = armarJson(nplan.plantillaJson, nutanix.sistemaOperativo, nparam.ramComp.ToString(), nparam.vcoresComp.ToString(), nutanix.vlanSec, base64); salida = llamadaAPICreaVM(jsonFinal); insertaNutanixRequest(idComponente, jsonFinal, scriptFinal, base64, out sError); insertaNutanixResponse(idComponente, salida, "", "PENDING", out sError); return salida; }