public int NotificationRequestAttendance(AttendanceRequestDTO atd) { EmployeeDetailsViewModel user = _employeeService.GetEmployeeDetails(atd.RequestEmpCode); EmployeeDetailsViewModel recomend = _employeeService.GetEmployeeDetails(Convert.ToInt32(atd.RecommendarEmpCode)); #region Notification NotificationsDTOs ntd = new NotificationsDTOs(); ntd.NotificationDate = DateTime.Now; ntd.NotificationReceiverId = Convert.ToInt32(atd.RecommendarEmpCode); ntd.NotificationSubject = "Recommender for Attendance request"; ntd.NotificationReceiverType = "E"; ntd.NotificationMessage = user.Name + " Selected you as a Recommender. Please confirm the request"; ntd.NotificationDetailURL = "/user/attendancerequest/recommendlist"; ntd.NotificationReadDate = null; _notifications.InsertNotification(ntd); #endregion #region Email string emailType = "Email"; EmailServices.Message msg = new EmailServices.Message(); htmlReader reader = new htmlReader(); List <string> recipient = new List <string>() { recomend.Email }; msg.Subject = "Attendnace request Recommend"; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = recomend.Name, Descriptions = user.Name + " has requested attendance for " + atd.RequestType + " on " + atd.RequestedDate + ". Please visit the link below and confirm the request ", FullName = user.Name, Title = "Attendance Request for recommendation", Url = baseUrl + "/user/attendancerequest/recommendlist" }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailType); EmailServices.Notify(recipient, msg); #endregion return(0); }
public int NotificationApproveAttendance(AttendanceRequestDTO atd) { EmployeeDetailsViewModel user = _employeeService.GetEmployeeDetails(atd.RequestEmpCode); EmployeeDetailsViewModel recomend = _employeeService.GetEmployeeDetails(Convert.ToInt32(atd.RecommendarEmpCode)); EmployeeDetailsViewModel approver = _employeeService.GetEmployeeDetails(Convert.ToInt32(atd.ApproverEmpCode)); if (atd.ApproveStatus == 2) { #region NotificationUser NotificationsDTOs ntd = new NotificationsDTOs(); ntd.NotificationDate = DateTime.Now; ntd.NotificationReceiverId = Convert.ToInt32(user.Code); ntd.NotificationSubject = "Approver approve your Attendnace"; ntd.NotificationMessage = "Attendance you requested on " + atd.RequestedDate + " is Approved by " + approver.Name; ntd.NotificationReceiverType = "E"; ntd.NotificationDetailURL = "/user/attendancerequest/AttendanceDetail/" + atd.RequestId; ntd.NotificationReadDate = null; _notifications.InsertNotification(ntd); #endregion #region Notificationrecommender NotificationsDTOs ntf = new NotificationsDTOs(); ntf.NotificationDate = DateTime.Now; ntf.NotificationReceiverId = recomend.Code; ntf.NotificationSubject = "Approved attendance request"; ntf.NotificationMessage = "Attendance requested by" + user.Name + " on " + atd.RequestedDate + "is aproved by" + approver.Name; ntf.NotificationReceiverType = "E"; ntf.NotificationDetailURL = "/user/attendancerequest/recommend/" + atd.RequestId; ntf.NotificationReadDate = null; _notifications.InsertNotification(ntf); #endregion } else if (atd.ApproveStatus == 3) { #region NotificationUser NotificationsDTOs ntd = new NotificationsDTOs(); ntd.NotificationDate = DateTime.Now; ntd.NotificationReceiverId = Convert.ToInt32(user.Code); ntd.NotificationSubject = "Approver reject your Attendnace request"; ntd.NotificationMessage = "Attendance requested by" + user.Name + " on " + atd.RequestedDate + "is rejected by" + approver.Name; ntd.NotificationReceiverType = "E"; ntd.NotificationDetailURL = "/user/attendancerequest/AttendanceDetail/" + atd.RequestId; ntd.NotificationReadDate = null; _notifications.InsertNotification(ntd); #endregion #region Notificationrecommender NotificationsDTOs ntf = new NotificationsDTOs(); ntf.NotificationDate = DateTime.Now; ntf.NotificationReceiverId = recomend.Code; ntf.NotificationSubject = "Approver Rejected attendance request of " + user.Name; ntf.NotificationMessage = "Attendance requested for " + atd.RequestType + "requested on " + atd.RequestedDate + " is rejected by" + approver.Name; ntf.NotificationReceiverType = "E"; ntf.NotificationDetailURL = "/user/attendancerequest/recommend/" + atd.RequestId; ntf.NotificationReadDate = null; _notifications.InsertNotification(ntf); #endregion } #region Emailuser string emailType = "Email"; EmailServices.Message msg = new EmailServices.Message(); htmlReader reader = new htmlReader(); List <string> recipient = new List <string>() { user.Email }; if (atd.ApproveStatus == 2) { msg.Subject = "Approver confirm Attendnace request"; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = user.Name, Descriptions = "Attendance requested on " + atd.RequestedDate + " for " + atd.RequestType + " is approved by " + approver.Name + " for more detail follow the link below", FullName = recomend.Name, Title = "Approver confirm Attendnace request for " + atd.RequestType, Url = baseUrl + "user/attendancerequest/AttendanceDetail/" + atd.RequestId.ToString() }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailType); EmailServices.Notify(recipient, msg); } else if (atd.ApproveStatus == 3) { msg.Subject = "Approver Rejected Attendnace request"; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = user.Name, Descriptions = "Attendance requested on " + atd.RequestedDate + " for " + atd.RequestType + " is rejected by " + approver.Name + " for more detail follow the link below", FullName = recomend.Name, Title = "Rejected Attendnace request for " + atd.RequestType, Url = baseUrl + "/user/attendancerequest/AttendanceDetail/" + atd.RequestId.ToString() }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailType); EmailServices.Notify(recipient, msg); } #endregion #region Emailapprover string emailTypeapprover = "Email"; EmailServices.Message msgapprover = new EmailServices.Message(); htmlReader readerapprover = new htmlReader(); List <string> listapprover = new List <string>() { recomend.Email }; if (atd.RecommendStatus == 2) { msg.Subject = "Attendnace request approved of " + user.Name; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = user.Name, Descriptions = "Attendnace you recommended on " + atd.RecommendStatusDate + " of " + user.Name + " is aproved by " + approver.Name + " on " + DateTime.Now + ". Please visit link below for details", FullName = recomend.Name, Title = "Attendnace request of " + user.Name + " for " + atd.RequestType + " is approved ", Url = baseUrl + "/user/attendancerequest/recommend/" + atd.RequestId.ToString() }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailTypeapprover); EmailServices.Notify(listapprover, msgapprover); } else if (atd.RecommendStatus == 3) { msg.Subject = " Attendnace request rejected of " + user.Name; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = recomend.Name, Descriptions = "Attendnace you recommended on " + atd.RecommendStatusDate + " of " + user.Name + " is rejected by " + approver.Name + " on " + DateTime.Now + ". Please visit link below for details", FullName = recomend.Name, Title = "Attendnace request of " + user.Name + " for " + atd.RequestType + " is approved ", Url = baseUrl + "/user/attendancerequest/recommend/" + atd.RequestId.ToString() }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailTypeapprover); EmailServices.Notify(listapprover, msgapprover); } #endregion return(0); }
public int NotificationRecommendAttendance(AttendanceRequestDTO atd) { EmployeeDetailsViewModel user = _employeeService.GetEmployeeDetails(atd.RequestEmpCode); EmployeeDetailsViewModel recomend = _employeeService.GetEmployeeDetails(Convert.ToInt32(atd.RecommendarEmpCode)); EmployeeDetailsViewModel approver = _employeeService.GetEmployeeDetails(Convert.ToInt32(atd.ApproverEmpCode)); if (atd.RecommendStatus == 2) { #region NotificationUser NotificationsDTOs ntd = new NotificationsDTOs(); ntd.NotificationDate = DateTime.Now; ntd.NotificationReceiverId = Convert.ToInt32(atd.RequestEmpCode); ntd.NotificationSubject = "Recommender approve your Attendnace"; ntd.NotificationMessage = "Your attendnace request on " + atd.RequestedDate + " is Recommended by " + recomend.Name; ntd.NotificationReceiverType = "E"; ntd.NotificationDetailURL = "/user/attendancerequest/AttendanceDetail/" + atd.RequestId; ntd.NotificationReadDate = null; _notifications.InsertNotification(ntd); #endregion #region Notificationapprover NotificationsDTOs ntf = new NotificationsDTOs(); ntf.NotificationDate = DateTime.Now; ntf.NotificationReceiverId = approver.Code; ntf.NotificationSubject = "Attendnace Requested to approve"; ntf.NotificationMessage = user.Name + " Slected you as Approver as this request is already been recommened by " + recomend.Name + ".Please confirm the request "; ntf.NotificationReceiverType = "E"; ntf.NotificationDetailURL = "/user/attendancerequest/recommend/" + atd.RequestId; ntf.NotificationReadDate = null; _notifications.InsertNotification(ntf); #endregion #region Emailapprover string emailTypeapprover = "Email"; EmailServices.Message mgs_r = new EmailServices.Message(); htmlReader reader_r = new htmlReader(); List <string> receiver = new List <string>() { approver.Email }; mgs_r.Subject = "Attendnace request for Approve "; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = approver.Name, Descriptions = user.Name + " has request attendance for" + atd.RequestType + " on " + atd.RequestedDate + ". Please confirm the request as this request is already been recommended by " + recomend.Name + " on " + DateTime.Now + " Please follow the link below for more detail.", FullName = recomend.Name, Title = "Attendance Request for approve", Url = baseUrl + "/user/attendancerequest/approved/" + atd.RequestId.ToString() }; mgs_r.Body = reader_r.GetHtmlBodyTemplate(emailTemplateData, emailTypeapprover); EmailServices.Notify(receiver, mgs_r); #endregion } else if (atd.RecommendStatus == 3) { #region NotificationUser NotificationsDTOs ntd = new NotificationsDTOs(); ntd.NotificationDate = DateTime.Now; ntd.NotificationReceiverId = Convert.ToInt32(user.Code); ntd.NotificationSubject = "Attendance request rejected by " + recomend.Name; ntd.NotificationMessage = "Sorry!! Your attendnace request on " + atd.RequestedDate + " is rejected by " + recomend.Name; ntd.NotificationReceiverType = "E"; ntd.NotificationDetailURL = "/user/attendancerequest/AttendanceDetail/" + atd.RequestId; ntd.NotificationReadDate = null; _notifications.InsertNotification(ntd); #endregion } #region Emailuser string emailType = "Email"; EmailServices.Message msg = new EmailServices.Message(); htmlReader reader = new htmlReader(); List <string> recipient = new List <string>() { user.Email }; if (atd.RecommendStatus == 2) { msg.Subject = "Recommender for Attendnace request"; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = user.Name, Descriptions = "Attendance you requested on " + atd.RequestedDate + " for " + atd.RequestType + " has been accepted by " + recomend.Name + " on " + DateTime.Now + ". Please visit the link below for details", FullName = recomend.Name, Title = "Recommend Attendance Request", Url = baseUrl + "user/attendancerequest/AttendanceDetail/" + atd.RequestId.ToString() }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailType); EmailServices.Notify(recipient, msg); } else if (atd.RecommendStatus == 3) { msg.Subject = "Attendance request rejected by Recommender"; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = user.Name, Descriptions = "Attendance you requested on " + atd.RequestedDate + " for " + atd.RequestType + " has been rejected by " + recomend.Name + " on " + DateTime.Now + ". Please visit the link below for details", FullName = recomend.Name, Title = "Recommend Attendance Request", Url = baseUrl + "user/attendancerequest/AttendanceDetail/" + atd.RequestId.ToString() }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailType); EmailServices.Notify(recipient, msg); } #endregion return(0); }
public ActionResult ApplyAttendance(AttendanceRequestDTO att) { att.CheckInDate = !String.IsNullOrEmpty(att.CheckInDateNP) ? Convert.ToDateTime(NepEngDate.NepToEng(att.CheckInDateNP)) : att.CheckInDate; att.CheckOutDate = !String.IsNullOrEmpty(att.CheckOutDateNP) ? Convert.ToDateTime(NepEngDate.NepToEng(att.CheckOutDateNP)) : att.CheckOutDate; int id = ViewBag.Empcode; int roleid = ViewBag.EmpRoleId; ViewBag.EmployeeList = _employeeServices.GetEmployeeList(id); EmployeeDetailsViewModel emp = _employeeServices.GetEmployeeDetails(id); ViewBag.Approver = _employeeServices.GetAttendanceApprover(id); ViewBag.Recommande = _employeeServices.GetAttendanceRecommander(id); if (att.CheckInTime != null) { att.CheckInDate = att.CheckInDate + att.CheckInTime; } if (att.CheckOutTime != null) { att.CheckOutDate = att.CheckOutDate + att.CheckOutTime; } IPHostEntry host; string localIP = "?"; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily.ToString() == "InterNetwork") { localIP = ip.ToString(); } } att.IpAddress = localIP; att.RequestCreatedDate = DateTime.Now; att.RecommendStatus = 1; att.ApproveStatus = 1; att.RecommendStatus = 1; att.ApproveStatus = 1; if (ModelState.IsValid) { try { if (att.RequestType == "CheckIn") { att.RequestedDate = att.CheckInDate; att.CheckOutDate = null; } if (att.RequestType == "CheckOut") { att.RequestedDate = att.CheckOutDate; att.CheckInDate = null; } else { att.RequestedDate = att.CheckInDate; } if (att.RequestEmpCode > 0) { AttendanceRequestDTO Atdo = new AttendanceRequestDTO(); Atdo = _attendanceDailyServices.InsertAttendanceRequest(att); Session["attendance_request"] = "New attendance requested sucessfully !!!"; #region // email sender test string emailType = "Email"; EmailServices.Message msg = new EmailServices.Message(); htmlReader reader = new htmlReader(); List <string> recipient = new List <string>() { "*****@*****.**" }; msg.Subject = "Attendance Requested for " + att.RequestType + "on " + att.RequestedDate; EmailTemplateModel emailTemplateData = new EmailTemplateModel() { UserName = att.ApproverEmpCode.ToString(), Descriptions = "Password Changed", FullName = "Young Mind Creation", Title = "Password Changed", Url = "" }; msg.Body = reader.GetHtmlBodyTemplate(emailTemplateData, emailType); EmailServices.Notify(recipient, msg); #endregion TempData["Success"] = "Attendance Request applied successfully"; return(RedirectToAction("Index")); } else { ModelState.AddModelError("EmployeeCode", "Please select Employee from dropdown list !!"); return(View()); } } catch (Exception ex) { ViewBag.Error = "Error While Requesting Attendance Online!" + ex.Message; return(View()); } } else { ViewBag.Error = "Please fill required field below "; return(View()); } }