Ejemplo n.º 1
0
 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);
             }
         }
     }
 }
Ejemplo n.º 2
0
        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("대상이 지정되지 않았습니다.");
            }
        }