190724
This commit is contained in:
		| @@ -268,7 +268,7 @@ namespace FCOMMON | ||||
|             var retval = new sItemInfo(); | ||||
|             retval.idx = -1; | ||||
|  | ||||
|             string sql = "select * from Items where idx = " + idx.ToString(); | ||||
|             string sql = "select * from Items where gcode='" + FCOMMON.info.Login.gcode + "' and  idx = " + idx.ToString(); | ||||
|             var cmd = new SqlCommand(sql, cn); | ||||
|             var rdr = cmd.ExecuteReader(); | ||||
|             while(rdr.Read()) | ||||
| @@ -297,11 +297,12 @@ namespace FCOMMON | ||||
|             cn.Open(); | ||||
|  | ||||
|             string sql = "insert into Items" + | ||||
|                 " ([cate],[sid],[model],[supply],[supplyidx],[name],[unit],[scale],[price],[wuid],[wdate])" + | ||||
|                 " ([gcode],[cate],[sid],[model],[supply],[supplyidx],[name],[unit],[scale],[price],[wuid],[wdate])" + | ||||
|                 " values " + | ||||
|                 " (@cate,@sid,@model,@supply,@supplyidx,@name,@unit,@scale,@price,@wuid,@wdate)"; | ||||
|                 " (@gcode,@cate,@sid,@model,@supply,@supplyidx,@name,@unit,@scale,@price,@wuid,@wdate)"; | ||||
|  | ||||
|             var cmd = new SqlCommand(sql, cn); | ||||
|             cmd.Parameters.Add(new SqlParameter("@gcode", FCOMMON.info.Login.gcode)); | ||||
|             cmd.Parameters.Add(new SqlParameter("@cate", "etc")); | ||||
|             cmd.Parameters.Add(new SqlParameter("@sid", info.sid)); | ||||
|             cmd.Parameters.Add(new SqlParameter("@model", info.model)); | ||||
| @@ -317,8 +318,9 @@ namespace FCOMMON | ||||
|             var iCnt = cmd.ExecuteNonQuery(); | ||||
|             if(iCnt == 1) | ||||
|             { | ||||
|                 cmd.CommandText = "select isnull(idx,-1) from Items where [sid] = @sid"; | ||||
|                 cmd.CommandText = "select isnull(idx,-1) from Items where gcode=@gcode and  [sid] = @sid"; | ||||
|                 cmd.Parameters.Clear(); | ||||
|                 cmd.Parameters.Add(new SqlParameter("gcode", FCOMMON.info.Login.gcode)); | ||||
|                 cmd.Parameters.Add(new SqlParameter("sid", info.sid)); | ||||
|                 retval = (int)cmd.ExecuteScalar(); | ||||
|             } | ||||
| @@ -335,7 +337,7 @@ namespace FCOMMON | ||||
|             var retval = new sItemInfo(); | ||||
|             retval.idx = -1; | ||||
|  | ||||
|             string sql = "select * from Items where [sid] = '" + sid + "'"; | ||||
|             string sql = "select * from Items where [gcode] = '" + FCOMMON.info.Login.gcode + "' and  [sid] = '" + sid + "'"; | ||||
|             var cmd = new SqlCommand(sql, cn); | ||||
|             var rdr = cmd.ExecuteReader(); | ||||
|             while (rdr.Read()) | ||||
| @@ -370,8 +372,9 @@ namespace FCOMMON | ||||
|             var retval = new sItemInfo(); | ||||
|             retval.idx = -1; | ||||
|  | ||||
|             string sql = "select [id],[name],concat([name],'(',[id],')') as dispName,[dept],[email],[level],[tel] from Users " + | ||||
|                 " where [id] <> 'dev' and dept like '%장비기술%' and dept like '%1파트%' order by [name]"; | ||||
|             string sql = "select [id],[name],concat([name],'(',[id],')') as dispName,[dept],[email],[level],[tel] "+ | ||||
|                 " from Users " + | ||||
|                 " where [id] <> 'dev' and dept like '%"+ FCOMMON.info.Login.dept.Replace("'","''") +"%' order by [name]"; | ||||
|             var cmd = new SqlCommand(sql, cn); | ||||
|             var da = new SqlDataAdapter(sql, cn); | ||||
|             var ds = new System.Data.DataSet(); | ||||
| @@ -429,7 +432,7 @@ namespace FCOMMON | ||||
|           cn.Open(); | ||||
|           var sql = "select isnull(SValue,'')" + | ||||
|                     " from Common" + | ||||
|                     " where Grp = '{0}' and code = '{1}'"; | ||||
|                     " where gcode='" + FCOMMON.info.Login.gcode + "' and  Grp = '{0}' and code = '{1}'"; | ||||
|  | ||||
|           sql = string.Format(sql, GroupCode, code); | ||||
|           var cmd = new SqlCommand(sql, cn); | ||||
| @@ -450,7 +453,7 @@ namespace FCOMMON | ||||
|           var cn = getCn(); | ||||
|           cn.Open(); | ||||
|           var sql = "select top 1 * from JobReport" + | ||||
|               " where isnull(pidx,-1)=" + projectIdx.ToString() +  | ||||
|               " where gcode ='"+ FCOMMON.info.Login.gcode + "' and  isnull(pidx,-1)=" + projectIdx.ToString() +  | ||||
|               " and uid ='" + uid + "'" +  | ||||
|               " order by pdate desc, idx desc"; | ||||
|           var da = new SqlDataAdapter(sql, cn); | ||||
| @@ -465,7 +468,7 @@ namespace FCOMMON | ||||
|           var cn = getCn(); | ||||
|           cn.Open(); | ||||
|           var sql = "select top 1 * from JobReport" + | ||||
|               " where isnull(projectName,'') like '" + prjName + "'" + | ||||
|               " where gcode='" + FCOMMON.info.Login.gcode + "' and isnull(projectName,'') like '" + prjName + "'" + | ||||
|               " and uid ='" + uid + "'" + | ||||
|               " order by pdate desc, idx desc"; | ||||
|           var da = new SqlDataAdapter(sql, cn); | ||||
| @@ -480,7 +483,7 @@ namespace FCOMMON | ||||
|           var cn = getCn(); | ||||
|           cn.Open(); | ||||
|           var sql = "select top 1 * from JobReport" + | ||||
|               " where isnull([type],'')='" + type + "'" +  | ||||
|               " where gcode = '" + FCOMMON.info.Login.gcode + "' and  isnull([type],'')='" + type + "'" +  | ||||
|               " and uid ='" + uid + "'" +  | ||||
|               " order by pdate desc, idx desc"; | ||||
|           var da = new SqlDataAdapter(sql, cn); | ||||
| @@ -503,7 +506,7 @@ namespace FCOMMON | ||||
|           cn.Open(); | ||||
|           var sql = "select isnull(code,''),isnull(memo ,''),isnull(svalue,'')" + | ||||
|               " from common" + | ||||
|               " where grp = '" + GroupCode + "'" + | ||||
|               " where gcode='" + FCOMMON.info.Login.gcode + "' and grp = '" + GroupCode + "'" + | ||||
|               " and isnull(code,'') <> ''" + | ||||
|               " order by isnull(memo,'')"; | ||||
|           var cmd = new SqlCommand(sql, cn); | ||||
| @@ -524,8 +527,8 @@ namespace FCOMMON | ||||
|             var cn = getCn(); | ||||
|             cn.Open(); | ||||
|             var sql = "select isnull({1},''),isnull({2},'')" + | ||||
|                 " from {0}"; | ||||
|             if (where != "") sql += " where " +  where; | ||||
|                 " from {0} where gcode = '" + FCOMMON.info.Login.gcode + "' "; | ||||
|             if (where != "") sql += " and " +  where; | ||||
|             if (order != "") sql += " order by " + order; | ||||
|             sql = string.Format(sql,table, col1, col2); | ||||
|             var cmd = new SqlCommand(sql, cn); | ||||
| @@ -562,7 +565,7 @@ namespace FCOMMON | ||||
|             cn.Open(); | ||||
|             var sql = "select {0} " + | ||||
|                 " from {1} " + | ||||
|                 " where isnull({0},'') != '' "; | ||||
|                 " where gcode='" + FCOMMON.info.Login.gcode + "' and isnull({0},'') != '' "; | ||||
|  | ||||
|             if (where != "") sql += " and " + where; | ||||
|             if (order != "") sql += " order by " + order; | ||||
| @@ -603,7 +606,7 @@ namespace FCOMMON | ||||
|                 cn.Open(); | ||||
|                 var sql = "select isnull(sum(hrs),0) as hrs,isnull(sum(ot),0) as ot,dbo.getWorkDayCount('{1}') as workday" + | ||||
|                     " from JobReport" + | ||||
|                     " where uid = '{0}' and substring(pdate,1,7) = '{1}'"; | ||||
|                     " where gcode='" + FCOMMON.info.Login.gcode + "' and uid = '{0}' and substring(pdate,1,7) = '{1}'"; | ||||
|  | ||||
|                 sql = string.Format(sql, uid, yymm); | ||||
|                 var cmd = new SqlCommand(sql, cn); | ||||
| @@ -647,18 +650,19 @@ namespace FCOMMON | ||||
|  | ||||
|                 if(pic == null) | ||||
|                 { | ||||
|                     cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" + | ||||
|                        "values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)"; | ||||
|                     cmd2.CommandText = "insert into items(gcode,cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" + | ||||
|                        "values(@gcode,@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)"; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,image,wuid,wdate)" + | ||||
|                        "values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@image,@wuid,@wdate)"; | ||||
|                     cmd2.CommandText = "insert into items(gcode,cate,name,sid,model,scale,unit,supply,supplyidx,price,image,wuid,wdate)" + | ||||
|                        "values(@gcode,@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@image,@wuid,@wdate)"; | ||||
|                 } | ||||
|                  | ||||
|  | ||||
|  | ||||
|                 cmd2.Parameters.Clear(); | ||||
|                 cmd2.Parameters.Add(new SqlParameter("gcode", FCOMMON.info.Login.gcode)); | ||||
|                 cmd2.Parameters.Add(new SqlParameter("cate", "--")); | ||||
|                 cmd2.Parameters.Add(new SqlParameter("name", pumname)); | ||||
|                 cmd2.Parameters.Add(new SqlParameter("sid", sid)); | ||||
| @@ -675,7 +679,7 @@ namespace FCOMMON | ||||
|  | ||||
|                 if (retval == 0) | ||||
|                 { | ||||
|                     cmd2.CommandText = "select idx from Items where name = @name and sid = @sid and model = @model and wuid = @wuid and wdate = @wdate"; | ||||
|                     cmd2.CommandText = "select idx from Items where gcode=@gcode and  name = @name and sid = @sid and model = @model and wuid = @wuid and wdate = @wdate"; | ||||
|                     retval = int.Parse(cmd2.ExecuteScalar().ToString()); | ||||
|                 } | ||||
|                 else retval = -1; | ||||
| @@ -693,9 +697,15 @@ namespace FCOMMON | ||||
|             var cn = getCn(); | ||||
|             cn.Open(); | ||||
|             var sql = "select {0} " + | ||||
|                 " from {1} " + | ||||
|                 " where gcode='" +FCOMMON.info.Login.gcode + "' and isnull({0},'') != '' "; | ||||
|  | ||||
|             if(table.ToUpper() == "USERS") | ||||
|                 sql = "select {0} " + | ||||
|                 " from {1} " + | ||||
|                 " where isnull({0},'') != '' "; | ||||
|  | ||||
|  | ||||
|             if (where != "") sql += " and " + where; | ||||
|  | ||||
|             sql += " group by {0} " + | ||||
| @@ -722,7 +732,7 @@ namespace FCOMMON | ||||
|         { | ||||
|             var cn = getCn(); | ||||
|             cn.Open(); | ||||
|             var sql = "select isnull(path_kj,'') " + | ||||
|             var sql = "select max(isnull(path_kj,'')) " + | ||||
|                 " from UserGroup " + | ||||
|                 " where dept = '" + dept + "'"; | ||||
|  | ||||
| @@ -776,7 +786,7 @@ namespace FCOMMON | ||||
|                         " isnull(supply,'') as supply, " + | ||||
|                         " isnull(supplyidx,-1) as supplyidx" + | ||||
|                         " from purchase " +  | ||||
|                         " where  isnull(sid,'') <> '' and " +  | ||||
|                         " where  gcode='" + FCOMMON.info.Login.gcode + "' and  isnull(sid,'') <> '' and " +  | ||||
|                         " isnull(sid,'') <> '신규'" +  | ||||
|                         " and isnull(pumidx,-1) = -1 " +  | ||||
|                         " and len(sid) = 9" +  | ||||
| @@ -798,20 +808,22 @@ namespace FCOMMON | ||||
|                 var idx = int.Parse(rdr["idx"].ToString()); | ||||
|  | ||||
|                 //아이템정보에서 이 sid 가 1개 존재한다면 그것에 연결한다. | ||||
|                 var sql2 = "select isnull(idx,-1) from Items where [sid] = '"+sid+"'"; | ||||
|                 var sql2 = "select isnull(idx,-1) from Items where gcode='" + FCOMMON.info.Login.gcode + "' and [sid] = '"+sid+"'"; | ||||
|                 cmd2.CommandText = sql2; | ||||
|  | ||||
|                 var itemdata = cmd2.ExecuteScalar(); | ||||
|                 if(itemdata != null && itemdata.ToString() != "-1") | ||||
|                 { | ||||
|                     cmd2.CommandText = "update purchase set pumidx = " + itemdata.ToString() + " where idx=" + idx.ToString(); | ||||
|                     cmd2.CommandText = "update purchase set pumidx = " + itemdata.ToString() +  | ||||
|                         " where gcode='" + FCOMMON.info.Login.gcode + "' and idx=" + idx.ToString(); | ||||
|                     retval += cmd2.ExecuteNonQuery(); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" + | ||||
|                         "values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)"; | ||||
|                     cmd2.CommandText = "insert into items(gcode,cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" + | ||||
|                         "values(@gcode,@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)"; | ||||
|                     cmd2.Parameters.Clear(); | ||||
|                     cmd2.Parameters.Add(new SqlParameter("gcode", FCOMMON.info.Login.gcode)); | ||||
|                     cmd2.Parameters.Add(new SqlParameter("cate", "--")); | ||||
|                     cmd2.Parameters.Add(new SqlParameter("name", pumname)); | ||||
|                     cmd2.Parameters.Add(new SqlParameter("sid", sid)); | ||||
|   | ||||
| @@ -108,7 +108,7 @@ | ||||
|     <Compile Include="keyValuedataTable.cs" /> | ||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> | ||||
|     <Compile Include="Info.cs" /> | ||||
|     <Compile Include="FormUtil.cs" /> | ||||
|     <Compile Include="Util_Form.cs" /> | ||||
|     <Compile Include="Util.cs" /> | ||||
|     <Compile Include="Util_Farpoint.cs" /> | ||||
|   </ItemGroup> | ||||
|   | ||||
| @@ -1,111 +0,0 @@ | ||||
| //190806    chi getWorkWeek 추가 | ||||
| //190805    chi MakeCSVString 추가 | ||||
| //180903    chi makefilepath/ ftppath 추가 | ||||
| //180807    chi rad2deg, deg2rad 추가 | ||||
| //180625    chi  ToCharHexString,ToStringFromHexString 추가 | ||||
| //180624    chi isLocalApplication 추가 | ||||
| //180618    chi GetCSVBuffer 추가 | ||||
| //180614    chi map 명령어 추가 | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Diagnostics; | ||||
| using System.IO; | ||||
| using System.Linq; | ||||
| using System.Net; | ||||
| using System.Text; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace FCOMMON | ||||
| { | ||||
|     public static partial class Util | ||||
|     { | ||||
|         public static Boolean MakeDateString(string src, out string data) | ||||
|         { | ||||
|             data = src; | ||||
|             string dtStr = string.Empty; | ||||
|             DateTime dt; | ||||
|             int iv; | ||||
|             if (int.TryParse(src, out iv)) | ||||
|             { | ||||
|                 if (iv <= 31) | ||||
|                 { | ||||
|                     src = DateTime.Now.ToString("yyyy-MM-") + iv.ToString("00"); | ||||
|                 } | ||||
|                 else if(src.Length <= 2) | ||||
|                 { | ||||
|                     //숫자이긴하나 32보다크면 오류로 한다. | ||||
|                     return false; | ||||
|                 } | ||||
|             } | ||||
|             src = src.Replace("/", "-"); | ||||
|             if (src.Length < 4) | ||||
|             { | ||||
|                 src = src.PadLeft(4, '0'); | ||||
|             } | ||||
|             if(src.Length==4) | ||||
|             { | ||||
|                 src = DateTime.Now.ToString("yyyy") + "-" + src.Substring(0, 2) + "-" + src.Substring(2); | ||||
|             } | ||||
|             if(src.Length == 6) | ||||
|             { | ||||
|                 src = "20" + src.Substring(0, 2) + "-" + src.Substring(2, 2) + "-" + src.Substring(4, 2); | ||||
|             } | ||||
|             if(src.Length == 5 && src.Substring(2,1) == "-") | ||||
|             { | ||||
|                 src = DateTime.Now.ToString("yyyy-") + src; | ||||
|             } | ||||
|  | ||||
|             if (DateTime.TryParse(src, out dt)) | ||||
|             { | ||||
|                 data = dt.ToShortDateString(); | ||||
|                 return true; | ||||
|             } | ||||
|             else data = src; | ||||
|             return false; | ||||
|         } | ||||
|         public static void SetFormStatus(ref System.Windows.Forms.Form f, string formid, Boolean read) | ||||
|         { | ||||
|             var fi = new System.IO.FileInfo(info.Path + "formSetting\\" + formid + ".xml"); | ||||
|             if (fi.Directory.Exists == false) fi.Directory.Create(); | ||||
|             arUtil.XMLHelper xml = new arUtil.XMLHelper(fi.FullName); | ||||
|             if (!xml.Exist()) | ||||
|             { | ||||
|                 xml.CreateFile(); | ||||
|                 if (read) return; //읽기인데 파일이 없으므로 넘어간다. | ||||
|             } | ||||
|             if (read) | ||||
|             { | ||||
|                 var leftStr = xml.get_Data("position", "left"); | ||||
|                 var topStr = xml.get_Data("position", "top"); | ||||
|                 int l = 0; | ||||
|                 int t = 0; | ||||
|                 if (!int.TryParse(leftStr, out l)) l = 0; | ||||
|                 if (!int.TryParse(topStr, out t)) t = 0; | ||||
|                 if (l != 0 || t != 0) | ||||
|                 { | ||||
|                     f.Location = new System.Drawing.Point(l, t); | ||||
|                 } | ||||
|  | ||||
|                 var wStr = xml.get_Data("size", "width"); | ||||
|                 var hStr = xml.get_Data("size", "height"); | ||||
|                 int w = 0; | ||||
|                 int h = 0; | ||||
|                 if (!int.TryParse(wStr, out w)) w = 0; | ||||
|                 if (!int.TryParse(hStr, out h)) h = 0; | ||||
|                 if (w != 0 || h != 0) | ||||
|                 { | ||||
|                     f.Size = new System.Drawing.Size(w, h); | ||||
|                 } | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 xml.set_Data("position", "left", f.Left.ToString()); | ||||
|                 xml.set_Data("position", "top", f.Top.ToString()); | ||||
|                 xml.set_Data("size", "width", f.Width.ToString()); | ||||
|                 xml.set_Data("size", "height", f.Height.ToString()); | ||||
|                 xml.Save(); | ||||
|             } | ||||
|  | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -17,6 +17,16 @@ using System.Windows.Forms; | ||||
|  | ||||
| namespace FCOMMON | ||||
| { | ||||
|     public enum eGroupPermission | ||||
|     { | ||||
|         menu_purchase=0, | ||||
|         menu_project, | ||||
|         menu_history, | ||||
|         menu_jago, | ||||
|         menu_equipment, | ||||
|         menu_workday, | ||||
|     } | ||||
|    | ||||
|     public static class info | ||||
|     { | ||||
|         public struct sUserInfo | ||||
| @@ -31,6 +41,9 @@ namespace FCOMMON | ||||
|             public string dept; | ||||
|             public string email; | ||||
|             public int level; | ||||
|             public string gcode; | ||||
|             public int gpermission; | ||||
|             public int permission; | ||||
|         } | ||||
|  | ||||
|         public static sUserInfo Login; | ||||
|   | ||||
| @@ -17,16 +17,57 @@ using System.Windows.Forms; | ||||
|  | ||||
| namespace FCOMMON | ||||
| { | ||||
|     public  static  partial class Util | ||||
|     public static partial class Util | ||||
|     { | ||||
|         public static bool IsNumeric( string input) | ||||
|  | ||||
|         #region "flag" | ||||
|  | ||||
|     | ||||
|         //public static Boolean getBit(ref Int32 flag_, int idx) | ||||
|         //{ | ||||
|         //    return getBit(ref (UInt32)flag_, idx); | ||||
|         //} | ||||
|         public static Boolean getBit( Int32 flag_, int idx) | ||||
|         { | ||||
|             var offset = (UInt32)(1 << (int)idx); | ||||
|             return ((flag_ & offset) != 0); | ||||
|         } | ||||
|         public static void toggleBit(ref Int32 flag_, int idx) | ||||
|         { | ||||
|             var curValue = getBit( flag_, idx); | ||||
|             setBit(ref flag_, idx, !curValue); | ||||
|         } | ||||
|         // public static void setBit(ref Int32 flag_, int idx, Boolean value) | ||||
|         //{ | ||||
|         //    setBit(ref (UInt32)flag_, idx, value); | ||||
|         //} | ||||
|         public static void setBit(ref Int32 flag_, int idx, Boolean value) | ||||
|         { | ||||
|             UInt32 ovalue = (UInt32)flag_; | ||||
|             if (value) | ||||
|             { | ||||
|                 var offset = (UInt32)(1 << (int)idx); | ||||
|                 ovalue = ovalue | offset; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 var offset = (UInt32)(~(1 << (int)idx)); | ||||
|                 ovalue = ovalue & offset; | ||||
|             } | ||||
|             flag_ = (Int32)ovalue; | ||||
|         } | ||||
|  | ||||
|         #endregion | ||||
|  | ||||
|  | ||||
|         public static bool IsNumeric(string input) | ||||
|         { | ||||
|             double data; | ||||
|             return double.TryParse(input, out data); | ||||
|             //return Regex.IsMatch(input, @"^\d+$"); | ||||
|         } | ||||
|  | ||||
|         public static string MakeFilterString(string[] cols,string search) | ||||
|         public static string MakeFilterString(string[] cols, string search) | ||||
|         { | ||||
|  | ||||
|  | ||||
| @@ -36,9 +77,9 @@ namespace FCOMMON | ||||
|                 if (filterStr != "") filterStr += " OR "; | ||||
|                 filterStr += string.Format("isnull({0},'') like '%#%'", col); | ||||
|             } | ||||
|             return filterStr.Replace("#", search.Replace("'","''")); | ||||
|             return filterStr.Replace("#", search.Replace("'", "''")); | ||||
|         } | ||||
|         public static void CopyData(System.Data.DataRow drFrom,  System.Data.DataRow drTo) | ||||
|         public static void CopyData(System.Data.DataRow drFrom, System.Data.DataRow drTo) | ||||
|         { | ||||
|             for (int i = 0; i < drFrom.ItemArray.Length; i++) | ||||
|                 drTo[i] = drFrom[i]; | ||||
| @@ -246,7 +287,7 @@ namespace FCOMMON | ||||
|  | ||||
|         #endregion | ||||
|  | ||||
|       | ||||
|  | ||||
|  | ||||
|         public static void SaveBugReport(string content, string subdirName = "BugReport") | ||||
|         { | ||||
| @@ -463,9 +504,9 @@ namespace FCOMMON | ||||
|             si.Arguments = arg; | ||||
|             System.Diagnostics.Process.Start(si); | ||||
|         } | ||||
|         public static void RunDefaultMail(string to,string title,string content="",string cc="",string bcc="") | ||||
|         public static void RunDefaultMail(string to, string title, string content = "", string cc = "", string bcc = "") | ||||
|         { | ||||
|             string args = "mailto:" + to  + "?"; | ||||
|             string args = "mailto:" + to + "?"; | ||||
|             if (title != "") args += "subject=" + title; | ||||
|             args += "&IsBodyHtml=true"; | ||||
|             if (content != "") | ||||
| @@ -475,7 +516,7 @@ namespace FCOMMON | ||||
|             } | ||||
|             if (bcc != "") | ||||
|             { | ||||
|                 if (!args.EndsWith("?")) args += "&";  | ||||
|                 if (!args.EndsWith("?")) args += "&"; | ||||
|                 args += "bcc=" + bcc; | ||||
|             } | ||||
|             if (cc != "") | ||||
| @@ -488,9 +529,9 @@ namespace FCOMMON | ||||
|                 if (!args.EndsWith("?")) args += "&"; | ||||
|                 args += "bcc=" + bcc; | ||||
|             } | ||||
|             | ||||
|  | ||||
|              | ||||
|  | ||||
|  | ||||
|  | ||||
|             System.Diagnostics.Process.Start(args); | ||||
|         } | ||||
|   | ||||
| @@ -15,6 +15,7 @@ namespace FCOMMON | ||||
|         public fBase() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             this.KeyPreview = true; | ||||
|             UseFormSetting = true; | ||||
|             this.FormClosed += fBase_FormClosed; | ||||
|             this.KeyDown += fBase_KeyDown; | ||||
| @@ -40,8 +41,6 @@ namespace FCOMMON | ||||
|             { | ||||
|                 var form = this as Form; | ||||
|                 FCOMMON.Util.SetFormStatus(ref form, this.Name, true); | ||||
|                 this.Show(); | ||||
|                 Application.DoEvents(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
							
								
								
									
										72
									
								
								SubProject/FCOMMON/fSelectMonth.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								SubProject/FCOMMON/fSelectMonth.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| namespace FCOMMON | ||||
| { | ||||
|     partial class fSelectMonth | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// Required designer variable. | ||||
|         /// </summary> | ||||
|         private System.ComponentModel.IContainer components = null; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Clean up any resources being used. | ||||
|         /// </summary> | ||||
|         /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> | ||||
|         protected override void Dispose(bool disposing) | ||||
|         { | ||||
|             if (disposing && (components != null)) | ||||
|             { | ||||
|                 components.Dispose(); | ||||
|             } | ||||
|             base.Dispose(disposing); | ||||
|         } | ||||
|  | ||||
|         #region Windows Form Designer generated code | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Required method for Designer support - do not modify | ||||
|         /// the contents of this method with the code editor. | ||||
|         /// </summary> | ||||
|         private void InitializeComponent() | ||||
|         { | ||||
|             this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // tableLayoutPanel1 | ||||
|             //  | ||||
|             this.tableLayoutPanel1.ColumnCount = 3; | ||||
|             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); | ||||
|             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); | ||||
|             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); | ||||
|             this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.tableLayoutPanel1.Name = "tableLayoutPanel1"; | ||||
|             this.tableLayoutPanel1.RowCount = 4; | ||||
|             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F)); | ||||
|             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F)); | ||||
|             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F)); | ||||
|             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F)); | ||||
|             this.tableLayoutPanel1.Size = new System.Drawing.Size(284, 261); | ||||
|             this.tableLayoutPanel1.TabIndex = 0; | ||||
|             //  | ||||
|             // fSelectMonth | ||||
|             //  | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; | ||||
|             this.ClientSize = new System.Drawing.Size(284, 261); | ||||
|             this.Controls.Add(this.tableLayoutPanel1); | ||||
|             this.Font = new System.Drawing.Font("맑은 고딕", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.KeyPreview = true; | ||||
|             this.MaximizeBox = false; | ||||
|             this.MinimizeBox = false; | ||||
|             this.Name = "fSelectMonth"; | ||||
|             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | ||||
|             this.Text = "fSelectMonth"; | ||||
|             this.Load += new System.EventHandler(this.fSelectMonth_Load); | ||||
|             this.ResumeLayout(false); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         #endregion | ||||
|  | ||||
|         private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										41
									
								
								SubProject/FCOMMON/fSelectMonth.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								SubProject/FCOMMON/fSelectMonth.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace FCOMMON | ||||
| { | ||||
|     public partial class fSelectMonth : Form | ||||
|     { | ||||
|         public int selectmon = -1; | ||||
|         public fSelectMonth() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             this.KeyDown += (s1,e1)=>{ if (e1.KeyCode == Keys.Escape) this.Close(); }; | ||||
|         } | ||||
|  | ||||
|         private void fSelectMonth_Load(object sender, EventArgs e) | ||||
|         { | ||||
|              for(int i = 1 ; i <=12;i++) | ||||
|              { | ||||
|                  Button newbt = new Button(); | ||||
|                  newbt.Text = string.Format("{0}월",i); | ||||
|                  newbt.Tag = i; | ||||
|                  newbt.Click += newbt_Click; | ||||
|                  newbt.Dock = DockStyle.Fill; | ||||
|                  tableLayoutPanel1.Controls.Add(newbt); | ||||
|              } | ||||
|         } | ||||
|  | ||||
|         void newbt_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var bt = sender as Button; | ||||
|             selectmon = int.Parse(bt.Tag.ToString()); | ||||
|             DialogResult = System.Windows.Forms.DialogResult.OK; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										120
									
								
								SubProject/FCOMMON/fSelectMonth.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								SubProject/FCOMMON/fSelectMonth.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,120 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
| </root> | ||||
		Reference in New Issue
	
	Block a user