c# - 在编辑中进行特定更改时调用操作
问题描述
我创建了一个 Crud 对象来跟踪员工假期,在我的 HTTP Post EDIT 方法中,我想在经理编辑将布尔状态从 更改为 的请求时使用电子邮件操作(已经有效pending
)approved
。
这是我尝试过的,但我的 c# 还没有达到标准。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "RequestID,EmployeeID,StartDate,FinishDate,HoursTaken,Comments,YearCreated,MonthCreated,DayCreated,YearOfHoliday,Approved,SubmittedBy,ApprovedBy")] HolidayRequestForm holidayRequestForm)
{
if (ModelState.IsValid)
{
if (Session["Name"] == null)
{
TempData["msg"] = "Your Session Expired - Please Login";
return RedirectToAction("Login", "Account");
}
string name = Session["Name"].ToString();
var approvedby = db.Employees.Where(s => s.Email.Equals(name)).Select(s => s.Email).FirstOrDefault();
holidayRequestForm.ApprovedBy = approvedby;
db.Entry(holidayRequestForm).State = EntityState.Modified;
db.SaveChanges();
var ApprovedStatus = db.HolidayRequestForms.Select(h => h.Approved) ;
if ( ApprovedStatus = true){
SendMailToManager();
}
return RedirectToAction("Index");
}
ViewBag.EmployeeID = new SelectList(db.Employees, "EmployeeID", "FullName", holidayRequestForm.EmployeeID);
return View(holidayRequestForm);
}
当经理将请求的状态编辑为 true 时,如何让它发送电子邮件(调用 SendMailToManager() 操作)?
解决方案
让它适用于任何偶然发现此问题的人。简直就是
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "RequestID,EmployeeID,StartDate,FinishDate,HoursTaken,Comments,YearCreated,MonthCreated,DayCreated,YearOfHoliday,Approved,SubmittedBy,ApprovedBy")] HolidayRequestForm holidayRequestForm)
{
if (ModelState.IsValid)
{
if (Session["Name"] == null)
{
TempData["msg"] = "Your Session Expired - Please Login";
return RedirectToAction("Login", "Account");
}
string name = Session["Name"].ToString();
var approvedby = db.Employees.Where(s => s.Email.Equals(name)).Select(s => s.Email).FirstOrDefault();
holidayRequestForm.ApprovedBy = approvedby;
db.Entry(holidayRequestForm).State = EntityState.Modified;
db.SaveChanges();
if ( holidayRequestForm.Approved == true){
SendMailToAreaManager();
SendMailToManager();
SendMailToAdmin();
}
推荐阅读
- php - 如何在javascript代码中插入php代码
- database - 使用 where 子句在 mongo 中加入 2 个集合
- android - 使用 teamcity 使用 gradle 构建 android 项目时出错
- reactjs - 如何使表头工具提示与启用的排序一起使用?
- php - 我的函数中的“无法解析时间字符串”错误以查找两个日期 PHP 之间的差异
- c# - 使用 c# 将 Postgres DB 导出到 excel
- c++ - 为什么 C 风格的代码比 C++ 风格的代码快
- java - com.fasterxml.jackson.databind.JsonMappingException 同时发送 Json
- ibm-cloud - 如何在 html 中加载/配置 IBM Daeja ViewONE?
- java - 在另一个应用程序中读取/捕获标准输出消息