private void CK_ALL_CheckedChanged(object sender, EventArgs e) { if (LB_SP.Items != null && LB_SP.Items.Count > 0) { for (int i = 0; i < LB_SP.Items.Count; i++) { if (CK_ALL.Checked) { LB_SP.SetItemCheckState(i, CheckState.Checked); } else { LB_SP.SetItemCheckState(i, CheckState.Unchecked); } } } }
private void SetResult() { if (LB_SP.Items != null && LB_SP.Items.Count > 0) { string Prefix = TB_Prefix.Text; bool IsEntity = CK_Entity.Checked; bool IsRoute = CK_Route.Checked; string spName = string.Empty; string tmp = string.Empty; string rtnType = TB_Return.Text; int chk = 0; List <SPInfo> spinfos = new List <SPInfo>(); StringBuilder builder = new StringBuilder(200); StringBuilder paramData = new StringBuilder(200); for (int i = 0; i < LB_SP.Items.Count; i++) { if (LB_SP.GetItemChecked(i)) { paramData.Clear(); spName = LB_SP.Items[i].ToString(); if (IsRoute) { builder.AppendLine($"[Route(\"{Prefix.Replace("_","/")}{spName.Replace("ESP_", "").Replace("_", "/")}\")]"); } builder.Append($"public JsonResult {Prefix}{spName.Replace("ESP_", "")}("); if (IsEntity) { using (var cmd = new SqlCommand("sp_depends", main.SqlConn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.AddParameterInput("@objname", SqlDbType.NVarChar, spName, 776); this.depends = cmd.ExecuteTable(); } if (this.depends != null && this.depends.Rows.Count > 0) { tmp = Convert.ToString(this.depends.Rows[0].ItemArray[0]).Replace("dbo.", ""); if (!string.IsNullOrWhiteSpace(tmp)) { builder.Append($"{tmp} {tmp.ToLower()}"); paramData.Append($"{tmp.ToLower()}"); if (string.IsNullOrWhiteSpace(rtnType)) { rtnType = tmp; } } } } else { using (var cmd = new SqlCommand(SPInfo.CreateSPInfoQuery(spName), main.SqlConn)) { spinfos = cmd.ExecuteList <SPInfo>(); } if (spinfos != null && spinfos.Count > 0) { chk = 0; foreach (var sp in spinfos.Where(x => x.is_output == false)) { if (chk > 0) { builder.Append(","); paramData.Append(","); } builder.Append($"{sp.BindType} {sp.name.Replace("@","")}"); paramData.Append($"{sp.name.Replace("@", "")}"); chk++; } } } builder.AppendLine(")"); builder.AppendLine("{"); if (string.IsNullOrWhiteSpace(rtnType)) { rtnType = "ReturnValue"; } builder.AppendTabLine(1, $"var result = new {rtnType}();"); builder.AppendLine(""); builder.AppendTab(1, $"result = this.Repository.{spName.Replace("ESP_", "").Replace("_", "")}("); builder.Append(paramData.ToString()); builder.AppendLine(");"); builder.AppendLine(""); builder.AppendTabLine(1, "return Json(result);"); builder.AppendLine("}"); } builder.AppendLine(""); } this.Query = builder.ToString(); } else { MessageBox.Show("대상이 지정되지 않았습니다."); } }