Files
Groupware/SubProject/FCM0000/Mail/fMailAutoAdd.cs
chikyun.kim 40946fb746 1910108 chi 열저장방식 변경(필드명으로 저장)
파트리스트 열 순서를 기존 사용 엑셀과 동일하게 정렬
   파트리스트 적용부위 납기일 항목 추가
   파트리스트 가져오기 메뉴에 적용부위, 납기일 항목 추가
   파트리스트 내보내기 기능 - 파일명을 프로젝트 명으로 자동 입력
2019-10-08 14:42:59 +09:00

223 lines
7.9 KiB
C#

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;
using YARTE.UI.Buttons;
namespace FCM0000
{
public partial class fMailAutoAdd : FCOMMON.fBase
{
DSMail.MailAutoRow dr = null;
public fMailAutoAdd(DSMail.MailAutoRow dr_)
{
InitializeComponent();
PredefinedButtonSets.SetupDefaultButtons(this.tbBody);
this.dr = dr_;
}
private void fMailform_Load(object sender, EventArgs e)
{
//시작일을 오늘로
this.dtSd.Value = DateTime.Now;
cmbDay.Items.Clear();
foreach (var i in Enumerable.Range(1, 31))
cmbDay.Items.Add(i.ToString("00"));
cmbHour.Items.Clear();
foreach (var i in Enumerable.Range(1, 24))
cmbHour.Items.Add(i.ToString("00"));
this.cmbMinute.Items.Clear();
foreach (var i in Enumerable.Range(0, 59))
cmbMinute.Items.Add(i.ToString("00"));
//메일양식
this.taf.Fill(this.dsMSSQL.MailForm, FCOMMON.info.Login.gcode);
dtSd.Value = DateTime.Parse(dr.sdate);
dtEd.Value = DateTime.Parse(dr.edate);
chkEnb.Checked = dr.enable;
if (dr.sday == null || dr.sday.Length < 2)
{
//아무것도 없다 매주 월요일로 한다
radWeek.Checked = true;
this.chkMon.Checked = true;
}
else
{
if (dr.sday[0] == 1)
{
radWeek.Checked = true;
var bitString = Convert.ToString(dr.sday[1], 2).PadLeft(8, '0').ToArray();
this.chkSun.Checked = bitString[1] == '1';
this.chkMon.Checked = bitString[2] == '1';
this.chkTue.Checked = bitString[3] == '1';
this.chkWend.Checked = bitString[4] == '1';
this.chkThjur.Checked = bitString[5] == '1';
this.chkFri.Checked = bitString[6] == '1';
this.chkSat.Checked = bitString[7] == '1';
}
else
{
radMon.Checked = true;
cmbDay.Text = dr.sday[1].ToString("00");
}
}
tbTo.Text = dr.tolist;
tbBcc.Text = dr.bcc;
tbCC.Text = dr.cc;
tbFrom.Text = dr.fromlist;
tbSubject.Text = dr.subject;
tbBody.Html = dr.body;
//전송시간
var buf = dr.stime.Split(':');
cmbHour.Text = buf[0];
cmbMinute.Text = buf[1];
//선택된 자료갸ㅏ 있다면 선택해준다.
// if (dr.fidx != -1) this.cmbMailForm.SelectedValue = dr.fidx;
// cmbMailForm_SelectedIndexChanged(null, null);
}
private void cmbMailForm_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
//메일폼이 선택되어이 있어야 함
if (chkEnb.Checked)
{
if (this.tbBody.Html=="")
{
FCOMMON.Util.MsgE("메일 내용을 입력하세요");
this.tbBody.Focus();
return;
}
if (tbTo.Text.Trim() == "")
{
FCOMMON.Util.MsgE("수신목록을 입력하세요");
this.tbBody.Focus();
return;
}
if (tbSubject.Text.Trim() == "")
{
FCOMMON.Util.MsgE("제목을 입력하세요");
this.tbBody.Focus();
return;
}
}
if(radMon.Checked && cmbDay.SelectedIndex < 0)
{
FCOMMON.Util.MsgE("전송간격의 [일]을 선택하세요");
cmbDay.Focus();
return;
}
if (tbFrom.Text.Trim() == "")
{
FCOMMON.Util.MsgE("발신 주소가 없습니다");
tbFrom.Focus();
return;
}
if(tbTo.Text.Trim() == "")
{
FCOMMON.Util.MsgE("수신 주소가 없습니다");
tbTo.Focus();
return;
}
if(tbSubject.Text.Trim() == "")
{
FCOMMON.Util.MsgE("메일 제목이 없습니다");
tbSubject.Focus();
return;
}
if(tbBody.Html.Trim() == "")
{
FCOMMON.Util.MsgE("메일 본문이 없습니다");
tbBody.Focus();
return;
}
this.dr.fromlist = tbFrom.Text.Trim();
this.dr.enable = chkEnb.Checked;
this.dr.sdate = dtSd.Value.ToShortDateString();
this.dr.edate = dtEd.Value.ToShortDateString();
this.dr.stime = string.Format("{0}:{1}",cmbHour.Text,cmbMinute.Text);
this.dr.tolist = tbTo.Text.Trim();
this.dr.bcc = tbBcc.Text.Trim();
this.dr.cc = tbCC.Text.Trim();
this.dr.subject = tbSubject.Text.Trim();
this.dr.body = tbBody.Html;
//this.dr.fidx = (int)(cmbMailForm.SelectedValue);
byte sendtype = 0;
if (radWeek.Checked) sendtype = 1;
byte sendvalue = 0;
if (radMon.Checked) sendvalue = byte.Parse(cmbDay.Text);
else
{
//체크박스를 비트로 처리한다.
var bitString = "0";
bitString += chkSun.Checked ? "1" : "0";
bitString += chkMon.Checked ? "1" : "0";
bitString += chkTue.Checked ? "1" : "0";
bitString += chkWend.Checked ? "1" : "0";
bitString += chkThjur.Checked ? "1" : "0";
bitString += chkFri.Checked ? "1" : "0";
bitString += chkSat.Checked ? "1" : "0";
sendvalue = Convert.ToByte(bitString, 2);
}
this.dr.sday = new byte[] { sendtype, sendvalue };
DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
dtEd.Value = dtSd.Value;
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
FCOMMON.Util.MsgE("양식 선택 준비중");
////메일폼이 선택되면 그 자료를 불러온다
////var drv = cmbMailForm.SelectedValue as DataRowView;
//if (cmbMailForm.SelectedIndex < 0)
//{
// tbSubject.Text = "";
// tbBody.ResetText();
// return;
//}
//var idx = (int)cmbMailForm.SelectedValue;// int.Parse(drv["idx"].ToString());
//var data = taf.GetByIdx(FCOMMON.info.Login.gcode, idx);
//if (data != null && data.Rows.Count > 0)
//{
// var dr = data.Rows[0] as DSMail.MailFormRow;
// tbSubject.Text = dr.subject;
// tbBody.Html = dr.body;
// if (tbTo.Text.Trim() == "") tbTo.Text = dr.tolist;
// if (tbBcc.Text.Trim() == "") tbBcc.Text = dr.bcc;
// if (tbCC.Text.Trim() == "") tbCC.Text = dr.cc;
//}
//else
//{
// tbSubject.Text = "";
// tbBody.ResetText();
//}
}
}
}