241 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			241 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using FCOMMON;
 | |
| 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 FPJ0000.Note
 | |
| {
 | |
|     public partial class fNote_Add : fBase
 | |
|     {
 | |
|         int idx = -1;
 | |
|         Boolean copyMOde = false;
 | |
|        // Boolean bInit = false;
 | |
|         string sGUID = string.Empty;
 | |
|         public fNote_Add(int idx_, Boolean copy = false)
 | |
|         {
 | |
|             InitializeComponent();
 | |
|             this.idx = idx_;
 | |
|             this.KeyPreview = true;
 | |
|             this.StartPosition = FormStartPosition.CenterScreen;
 | |
|             this.KeyDown += (s1, e1) =>
 | |
|             {
 | |
|                 if (e1.KeyCode == Keys.Escape) this.Close();
 | |
|             };
 | |
| 
 | |
|             foreach (Control ctl in this.panel1.Controls)
 | |
|             {
 | |
|                 if (ctl.GetType() == typeof(TextBox) || ctl.GetType() == typeof(ComboBox))
 | |
|                 {
 | |
|                     ctl.KeyDown += ctl_KeyDown;
 | |
|                 }
 | |
|             }
 | |
|             copyMOde = copy;
 | |
|         }
 | |
| 
 | |
|        
 | |
|         private void fJobReport_Add_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             EnsureVisibleAndUsableSize();
 | |
|             //담당자목록
 | |
|             var dt_users = FCOMMON.DBM.getActiveUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false);
 | |
|             this.cmbUser.DisplayMember = "dispName";
 | |
|             this.cmbUser.ValueMember = "id";
 | |
|             this.cmbUser.DataSource = dt_users;
 | |
|             if (FCOMMON.info.Login.level < 5) cmbUser.Enabled = false;
 | |
| 
 | |
| 
 | |
|             //사용자목록
 | |
|             //해당 자료를 불러온다.
 | |
|             if (this.idx == -1)
 | |
|             {
 | |
|                 //신규추가임
 | |
|                 this.dtPdate.Value = DateTime.Now;
 | |
|                 cmbUser.SelectedValue = FCOMMON.info.Login.no;
 | |
|                 checkBox1.Checked = false;
 | |
|                 richTextBoxEx1.Text = string.Empty;
 | |
|                 sGUID = string.Empty;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 var db = new EEEntities();
 | |
|                 var dr = db.EETGW_Note.Where(t => t.idx == this.idx).FirstOrDefault();
 | |
|                 dtPdate.Value = DateTime.Parse(dr.pdate);
 | |
|                 cmbUser.SelectedValue = dr.uid;
 | |
|                 checkBox1.Checked = (bool)dr.share;
 | |
|                 tbTitle.Text = dr.title;
 | |
|                 sGUID = dr.guid;
 | |
| 
 | |
|                 //내가 작성한 글이 아니면 공유를 지정할 수 없게 한다.
 | |
|                 if (dr.uid != FCOMMON.info.Login.no)
 | |
|                 {
 | |
|                     checkBox1.Enabled = false;
 | |
|                 }
 | |
|                     
 | |
|                 if (string.IsNullOrEmpty(dr.description2))
 | |
|                 {
 | |
|                     this.richTextBoxEx1.Text = dr.description;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     try
 | |
|                     {
 | |
|                         this.richTextBoxEx1.Rtf = dr.description2;
 | |
|                     }
 | |
|                     catch 
 | |
|                     {
 | |
|                         this.richTextBoxEx1.Text = dr.description;
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|             if (String.IsNullOrEmpty(sGUID))
 | |
|                 sGUID = Guid.NewGuid().ToString();
 | |
| 
 | |
|             this.Show();
 | |
|             Application.DoEvents();
 | |
|             this.richTextBoxEx1.Focus();
 | |
| 
 | |
|           //  bInit = true;
 | |
|         }
 | |
|     //    editform.editor ed;
 | |
|         void ctl_KeyDown(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             if (e.KeyCode == Keys.Enter)
 | |
|             {
 | |
|                 Control ctl = sender as Control;
 | |
|                 string nm = ctl.Name.ToLower();
 | |
|                 string search = ctl.Text.Trim();
 | |
| 
 | |
|                 Console.WriteLine("inner keydown " + nm + ":" + search);
 | |
| 
 | |
|                 switch (nm)
 | |
|                 {
 | |
|                     //case "cmbrequest":
 | |
| 
 | |
|                     //    //요청자가 마지막으로 입력한 자료의 process 를 찾아서 기입해준다.
 | |
|                     //    var lastprocess = FCOMMON.DBM.getFirstValue("process", "purchase", "request like '%" + this.cmbUser.Text + "%'", "pdate desc");
 | |
|                     //    if (lastprocess != "") cbProcess.Text = lastprocess;
 | |
|                     //    tbSID.Focus();
 | |
|                     //    break;
 | |
|                     case "tbdescription":
 | |
|                         if (e.Control)
 | |
|                         {
 | |
|                             btSave.Focus();
 | |
|                         }
 | |
|                         break;
 | |
|                     
 | |
|                     default:
 | |
|                         SendKeys.Send("{TAB}");
 | |
|                         break;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 | |
|         {
 | |
|             FCM0000.fSelectDate f = new FCM0000.fSelectDate(this.dtPdate.Value.ToShortDateString());
 | |
|             if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
 | |
|             dtPdate.Value = f.dtSelect;
 | |
|         }
 | |
| 
 | |
|         private void button1_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             this.Invalidate();
 | |
|           
 | |
|             if (cmbUser.SelectedIndex < 0)
 | |
|             {
 | |
|                 FCOMMON.Util.MsgE("담당자가 선택되지 않았습니다.");
 | |
|                 cmbUser.Focus();
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             //바로저장한다.
 | |
|             var db = new EEEntities();
 | |
|             if(idx == -1)
 | |
|             {
 | |
|                 //신규
 | |
|                 var dr = new EETGW_Note();
 | |
|                 dr.wuid = FCOMMON.info.Login.no;
 | |
|                 dr.wdate = DateTime.Now;
 | |
|                 dr.pdate = dtPdate.Value.ToShortDateString();
 | |
|                 dr.uid = cmbUser.SelectedValue.ToString();
 | |
|                 dr.description = richTextBoxEx1.Text;
 | |
|                 dr.description2 = richTextBoxEx1.Rtf;
 | |
|                 dr.share = checkBox1.Checked;
 | |
|                 dr.title = tbTitle.Text;
 | |
|                 dr.guid = this.sGUID;
 | |
|                 dr.gcode = FCOMMON.info.Login.gcode;
 | |
|                 db.EETGW_Note.Add(dr);
 | |
|                 db.SaveChanges();
 | |
| 
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 //기존
 | |
|                 var dr = db.EETGW_Note.Where(t => t.idx == this.idx).FirstOrDefault();
 | |
|                 if(dr != null)
 | |
|                 {
 | |
|                     dr.wuid = FCOMMON.info.Login.no;
 | |
|                     dr.wdate = DateTime.Now;
 | |
|                     dr.pdate = dtPdate.Value.ToShortDateString();
 | |
|                     dr.uid = cmbUser.SelectedValue.ToString();
 | |
|                     dr.description = richTextBoxEx1.Text;
 | |
|                     dr.description2 = richTextBoxEx1.Rtf;
 | |
|                     dr.share = checkBox1.Checked;
 | |
|                     dr.guid = this.sGUID;
 | |
|                     dr.title = tbTitle.Text;
 | |
|                     db.SaveChanges();
 | |
|                 }
 | |
|             }
 | |
|             DialogResult = System.Windows.Forms.DialogResult.OK;
 | |
|         }
 | |
| 
 | |
|        
 | |
|         private void dtPdate_ValueChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             var myCI = new System.Globalization.CultureInfo("ko-KR");
 | |
|             var myCal = myCI.Calendar;
 | |
|             var myCWR = myCI.DateTimeFormat.CalendarWeekRule;
 | |
|             DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
 | |
|             var dat = myCal.GetWeekOfYear(dtPdate.Value, myCWR, myFirstDOW);
 | |
|             tbWW.Text = "ww" + dat.ToString();
 | |
| 
 | |
|         }
 | |
|        
 | |
|         private void cmbUser_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|            
 | |
|         }
 | |
| 
 | |
|         private void button1_Click_1(object sender, EventArgs e)
 | |
|         {
 | |
|             var serverpath = FCOMMON.DBM.getCodeSvalue("55", "01");
 | |
|            // var serverpath = FCOMMON.info.datapath;  // @"\\10.131.32.29\Data\Project";
 | |
|             if (System.IO.Directory.Exists(serverpath) == false)
 | |
|             {
 | |
|                 FCOMMON.Util.MsgE("프로젝트 기본경로가 존재하지 않아 진행할 수 없습니다\n\n" +
 | |
|                     serverpath);
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             var path = serverpath + "\\Note\\"  + this.sGUID;
 | |
|             if (System.IO.Directory.Exists(path) == false)
 | |
|             {
 | |
|                 try
 | |
|                 {
 | |
|                     System.IO.Directory.CreateDirectory(path);
 | |
|                 }
 | |
|                 catch (Exception eX)
 | |
|                 {
 | |
|                     FCOMMON.Util.MsgE("프로젝트 저장소 생성실패\n" + eX.Message);
 | |
|                     return;
 | |
|                 }
 | |
|             } 
 | |
|             FCOMMON.Util.RunExplorer(path);
 | |
|         }
 | |
|     }
 | |
| }
 | 
