public ActionResult LeaveStatement(leavedetail viewData) { leavedetail data = new leavedetail(); HumanResourceContext context = new HumanResourceContext(); return(View(viewData)); }
public ActionResult sendmail(int id) { HumanResourceContext context = new HumanResourceContext(); leavedetail data = new leavedetail(); Salary customer = context.SalaryCheckSet.FirstOrDefault(c => c.salaryid == id); var casual = 0; var paid = 0; var sick = 0; var unpaid = 0; var result1 = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Casual Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault(); var result2 = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Paid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault(); var result3 = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Sick Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault(); var result4 = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Unpaid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault(); if (result1 != null) { casual = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Casual Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days); } if (result2 != null) { paid = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Paid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days); } if (result3 != null) { sick = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Sick Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days); } if (result4 != null) { unpaid = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Unpaid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days); } data.casual = casual; data.paid = paid; data.sick = sick; data.unpaid = unpaid; var email = context.Employeeset.Where(e => e.EmpId == customer.EmpId).Select(b => b.EmailAddress).FirstOrDefault(); String renderedHTML = Controllers.PayslipController.RenderViewToString("Payslip", "SendPaySlip", customer); String textBody = Controllers.PayslipController.RenderViewToString1("Payslip", "LeaveStatement", data); SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential("*****@*****.**", "minhtet13579"); string body = renderedHTML + textBody; using (var message = new MailMessage("*****@*****.**", email)) { message.Subject = "PaySlip"; message.Body = body; message.IsBodyHtml = true; smtp.Send(message); } return(View(customer)); }
public static string RenderViewToString1(string controllerName, string viewName, leavedetail viewData) { using (var writer = new StringWriter()) { var routeData = new RouteData(); routeData.Values.Add("controller", controllerName); var fakeControllerContext = new ControllerContext(new HttpContextWrapper(new HttpContext(new HttpRequest(null, "http://google.com", null), new HttpResponse(null))), routeData, new PayslipController()); var razorViewEngine = new RazorViewEngine(); var razorViewResult = razorViewEngine.FindView(fakeControllerContext, viewName, "", false); var viewContext = new ViewContext(fakeControllerContext, razorViewResult.View, new ViewDataDictionary(viewData), new TempDataDictionary(), writer); razorViewResult.View.Render(viewContext, writer); return(writer.ToString()); } }