c# - 在同一日期和时间插入多个函数调用
问题描述
我正在创建一个“休假管理系统”。
当用户申请休假然后离开插入数据库然后通知邮件发送特定的人。
问题:有时在相同的日期和时间多次插入相同的请假请求。
为了防止这种情况,我添加了
if (flag2 == true)
首先,添加然后发送邮件,但我仍然有这个问题 - 但不是每次,而是几次。
我认为这可能是因为发送邮件需要更多时间。
protected void duration_Click(object sender, EventArgs e)
{
srcLeaveDetails.InsertParameters["Leave_Id"].DefaultValue = txtleaveid.Text;
srcLeaveDetails.InsertParameters["Leave_EmpId"].DefaultValue = txtempid.Text;
srcLeaveDetails.InsertParameters["Leave_EmpName"].DefaultValue = TextBox11.Text + " (" + Label20.Text + ")";
srcLeaveDetails.InsertParameters["Leave_ReportingOfficer"].DefaultValue = TextBox23.Text;
srcLeaveDetails.InsertParameters["Leave_Department"].DefaultValue = TextBox21.Text + '-' + TextBox24.Text;
srcLeaveDetails.InsertParameters["Leave_Type"].DefaultValue = DropDownList1.Text;
srcLeaveDetails.InsertParameters["Leave_StartDate"].DefaultValue = txtStartDate.Text;
srcLeaveDetails.InsertParameters["Leave_EndDate"].DefaultValue = txtEndDate.Text;
srcLeaveDetails.InsertParameters["Leave_Duration"].DefaultValue = txtduration.Text;
srcLeaveDetails.InsertParameters["Leave_Remarks"].DefaultValue = txtremarks.Text;
//srcLeaveDetails.InsertParameters["Leave_ApplicationDate"].DefaultValue = TextBox2.Text;
srcLeaveDetails.InsertParameters["Leave_ApplicationDate"].DefaultValue = app_date_time;
srcLeaveDetails.InsertParameters["Leave_Location"].DefaultValue = Label21.Text; ;
srcLeaveDetails.InsertParameters["Emp_Centre"].DefaultValue = Labe_mainlocation.Text;
bool flag = false;
try
{
srcLeaveDetails.Insert();
flag = true;
Label14.Text = "Your Leave Request has been recorded";
}
catch (SqlException s)
{
// Response.Write(s.Message);
Label14.Text = " Error! Please Try Again";
}
if(flag==true)
sendMail();
}
邮件功能
public void sendMail()
{
try
{
using (MailMessage mm = new MailMessage(" ", " "))
{
mm.Subject = "Email-Notification of Leave for approval ";
mm.Body = ""
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.office365.com";
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential("", "");
smtp.UseDefaultCredentials = false;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Timeout = 2000000;
smtp.Send(mm);
}catch(exception ex){} }
解决方案
推荐阅读
- r - 特定类别意味着什么?
- google-apps-script - Google App 脚本(制作受保护的按钮)
- asp.net - 我有 web.config 文件。我也想将我制定的 url 规则应用于子文件夹。该代码仅在根目录中有效
- php - WordPress SQL 按用户角色获取特定用户
- c - 具有交替彩色行的半金字塔
- powerbi - POWER BI 对所有值求和,但仅在最后一个日期显示
- identityserver4 - IdentityServer4 一分钟后不断取消令牌请求
- json - electron-builder 生成 latest.json 而不是 latest.yml
- javascript - 未选中复选框时从数组中删除项目在反应中未按预期工作
- r - 有没有办法在 R 中的数据间隙之间对列中的值进行分组?