레이아우슾로토 적용
This commit is contained in:
@@ -6,6 +6,7 @@ using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using static FPJ0000.Project.ctlLayout;
|
||||
using util = FCOMMON.Util;
|
||||
|
||||
namespace FPJ0000
|
||||
@@ -19,62 +20,106 @@ namespace FPJ0000
|
||||
fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
|
||||
this.dsMSSQL.Projects.TableNewRow += Projects_TableNewRow;
|
||||
this.FormClosed += __Closed;
|
||||
this.ctlLayout1.itemclick += CtlLayout1_itemclick;
|
||||
|
||||
}
|
||||
|
||||
int project = -1;
|
||||
int no = 0;
|
||||
private void CtlLayout1_itemclick(itemdata item, MouseEventArgs e)
|
||||
{
|
||||
project = item.project;
|
||||
no = item.no;
|
||||
|
||||
if (project < 1) return;
|
||||
|
||||
Console.WriteLine("project:" + project.ToString());
|
||||
}
|
||||
|
||||
void __Closed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
|
||||
this.ctlLayout1.itemclick -= CtlLayout1_itemclick;
|
||||
}
|
||||
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
refreshData();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void refreshData()
|
||||
{
|
||||
if (ctlLayout1.items == null || ctlLayout1.items.Count != 10)
|
||||
{
|
||||
for (int i = 1; i <= 10; i++)
|
||||
{
|
||||
ctlLayout1.items.Add(new itemdata()
|
||||
{
|
||||
no = i,
|
||||
body = "",
|
||||
champion = "",
|
||||
duedate = "미사용"
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
foreach (var item in ctlLayout1.items)
|
||||
{
|
||||
item.body = string.Empty;
|
||||
item.duedate = "미사용";
|
||||
item.champion = "--";
|
||||
item.bodyColor = ctlLayout1.BackColor;
|
||||
}
|
||||
ctlLayout1.Refresh();
|
||||
|
||||
|
||||
var db = new EEEntities();
|
||||
var list = db.EETGW_Project_Layout.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.no).ToList();
|
||||
var list = db.EETGW_Project_Layout.AsNoTracking().Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.no).ToList();
|
||||
var maxrow = list.Max(t => t.row);
|
||||
var maxcol = list.Max(t => t.col);
|
||||
if (list.Any())
|
||||
{
|
||||
this.cmsview1.GridCount = new Point(maxcol + 1, maxrow + 1);
|
||||
foreach (var item in list)
|
||||
//this.cmsview1.GridCount = new Point(maxcol + 1, maxrow + 1);
|
||||
foreach (var dr in list)
|
||||
{
|
||||
var newitem = (new CMSControl.Slot()
|
||||
var data = ctlLayout1.items[dr.no - 1];
|
||||
var drprj = db.vEETGW_Project_LayoutList.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.idx == dr.project).FirstOrDefault();
|
||||
if (drprj == null)
|
||||
{
|
||||
BackColor = Color.Lime,
|
||||
BorderColor = Color.Gray,
|
||||
BorderSize = 2f,
|
||||
Enable = true,
|
||||
ForeColor = Color.Black,
|
||||
Name = item.no.ToString(),
|
||||
Index = (byte)item.no,
|
||||
No = item.no.ToString(),
|
||||
Selected = false
|
||||
});
|
||||
|
||||
if (item.project != null)
|
||||
{
|
||||
var project = (int)item.project;
|
||||
if (project > 0)
|
||||
{
|
||||
var drp = db.Projects.Where(t => t.idx == item.project && t.gcode == item.gcode).FirstOrDefault();
|
||||
if (drp != null)
|
||||
{
|
||||
newitem.Name = drp.name;
|
||||
}
|
||||
}
|
||||
data.bodyColor = Color.DarkMagenta;
|
||||
data.body = string.Empty;
|
||||
data.champion = string.Empty;
|
||||
data.duedate = "미 할당";
|
||||
data.project = -1;
|
||||
data.reserve = string.Empty;
|
||||
}
|
||||
cmsview1.Slots.Add(newitem);
|
||||
else
|
||||
{
|
||||
data.reserve = dr.reserve;
|
||||
data.project = drprj.idx;
|
||||
data.body = "[" + drprj.status + "] " + drprj.name;
|
||||
data.champion = drprj.userManager;
|
||||
data.duedate = drprj.ddate;
|
||||
var isdate = DateTime.TryParse(drprj.ddate, out DateTime dt);
|
||||
if (isdate)
|
||||
{
|
||||
if (DateTime.Now >= dt) data.bodyColor = Color.Tomato;
|
||||
else data.bodyColor = ctlLayout1.BackColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
data.bodyColor = ctlLayout1.BackColor;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
this.cmsview1.Refresh();
|
||||
ctlLayout1.Refresh();
|
||||
}
|
||||
|
||||
|
||||
@@ -242,13 +287,24 @@ namespace FPJ0000
|
||||
}
|
||||
private void 엑셀파일로저장ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog sd = new SaveFileDialog();
|
||||
sd.Filter = ("excel|*.xls");
|
||||
var dlg = sd.ShowDialog();
|
||||
if (dlg == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
if (this.project < 1) return;
|
||||
|
||||
FCOMMON.Util.MsgI("파일생성 완료\n\n" + sd.FileName);
|
||||
var dt = ta.GetbyIDX(this.project);
|
||||
if (dt == null || dt.Rows.Count < 1)
|
||||
{
|
||||
util.MsgE("프로젝트가 존재하지 않습니다");
|
||||
return;
|
||||
}
|
||||
var dr = dt.Rows[0] as dsPRJ.ProjectsRow;
|
||||
var f = new fProjectData(dr);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
if (util.MsgQ("저장 할까요?") == DialogResult.Yes)
|
||||
{
|
||||
dr.EndEdit();
|
||||
ta.Update(dr);
|
||||
refreshData();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -320,20 +376,28 @@ namespace FPJ0000
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as dsPRJ.ProjectsRow;
|
||||
var f = new fProjectData(dr);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.project));
|
||||
if (curLevel < 5)
|
||||
{
|
||||
funcSave(false); //자동저장
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void 편집ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcEdit();
|
||||
var f = new FCM0000.fLovProject(string.Empty, "진행");
|
||||
if (f.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
var db = new EEEntities();
|
||||
var dr = db.EETGW_Project_Layout.Where(t => t.no == this.no && t.project == this.project).FirstOrDefault();
|
||||
if (dr == null)
|
||||
{
|
||||
util.MsgE("기존 레이아웃 자료를 확인 할 수 없습니다");
|
||||
}
|
||||
else
|
||||
{
|
||||
dr.project = f.Index;
|
||||
db.SaveChanges();
|
||||
util.MsgI("프로젝트를 변경했습니다");
|
||||
refreshData();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void tbRequest_KeyDown(object sender, KeyEventArgs e)
|
||||
@@ -497,5 +561,36 @@ namespace FPJ0000
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void 예약변경ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.no < 1) return;
|
||||
|
||||
var f = new Project.fLayoutEdit(this.no);
|
||||
if (f.ShowDialog() == DialogResult.OK)
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void 프로젝트해제ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(this.project < 1)
|
||||
{
|
||||
FCOMMON.Util.MsgE("선택된 프로젝트가 없습니다");
|
||||
return;
|
||||
}
|
||||
var dlg = FCOMMON.Util.MsgQ("슬롯 " + this.no.ToString() + "의 프로젝트를 해제 할까요?\n" +
|
||||
"해당 슬롯은 '미사용'이 됩니다");
|
||||
if(dlg == DialogResult.Yes)
|
||||
{
|
||||
var db = new EEEntities();
|
||||
var dr= db.EETGW_Project_Layout.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.no == this.no).FirstOrDefault();
|
||||
if(dr != null)
|
||||
{
|
||||
dr.project = -1;
|
||||
db.SaveChanges();
|
||||
refreshData();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user