224 lines
8.0 KiB
C#
224 lines
8.0 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();
|
|
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
|
|
|
|
PredefinedButtonSets.SetupDefaultButtons(this.tbBody);
|
|
this.dr = dr_;
|
|
}
|
|
private void fMailform_Load(object sender, EventArgs e)
|
|
{
|
|
EnsureVisibleAndUsableSize();
|
|
//시작일을 오늘로
|
|
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();
|
|
|
|
//}
|
|
}
|
|
|
|
}
|
|
}
|