コード例 #1
0
 public static AttendanceRequest ConvertRespondentInfoFromDTO(AttendanceRequestDTO AttDTO)
 {
     Mapper.CreateMap <AttendanceRequestDTO, AttendanceRequest>().ConvertUsing(
         m => {
         return(new AttendanceRequest
         {
             RequestId = m.RequestId,
             RequestEmpCode = m.RequestEmpCode,
             ApproverEmpCode = m.ApproverEmpCode,
             ApproveStatus = m.ApproveStatus,
             ApproveStatusDate = m.ApproveStatusDate,
             RecommendarEmpCode = m.RecommendarEmpCode,
             RecommendStatus = m.RecommendStatus,
             RecommendStatusDate = m.RecommendStatusDate,
             CheckInDate = m.CheckInDate,
             CheckOutDate = m.CheckOutDate,
             RequestDescription = m.RequestDescription,
             RequestedDate = m.RequestedDate,
             RequestType = m.RequestType,
             RecommedarMessage = m.RecommedarMessage,
             ApproverMessage = m.ApproverMessage,
             RequestIPAddress = m.IpAddress,
             RequestCreatedDate = m.RequestCreatedDate
         });
     });
     return(Mapper.Map <AttendanceRequestDTO, AttendanceRequest>(AttDTO));
 }
コード例 #2
0
        public ActionResult RecommendAttendance(AttendanceRequestDTO att)

        {
            try
            {
                int id = Convert.ToInt32(att.RequestId);
                IEnumerable <AttendanceRequestsListViewModel> lst = _attendanceDailyServices.GetRequestAttendanceList(null, null, null, id, null);

                att.RequestDescription  = lst.FirstOrDefault().Description;
                att.RecommendStatusDate = DateTime.Now;
                att.RequestType         = lst.FirstOrDefault().RequestType;
                att.RecommendarEmpCode  = Convert.ToInt32(lst.FirstOrDefault().RecommenderEmpCode);
                att.ApproverEmpCode     = Convert.ToInt32(lst.FirstOrDefault().ApproverEmpCode);
                att.RequestEmpCode      = Convert.ToInt32(lst.FirstOrDefault().EmpCode);
                att.IpAddress           = lst.FirstOrDefault().IpAddress;
                ViewBag.id        = att.RecommendarEmpCode;
                att.ApproveStatus = 1;
                var chkindate  = lst.FirstOrDefault().CheckIn_Date;
                var chaoutdate = lst.FirstOrDefault().CheckOut_Date;
                if (chkindate == null || chkindate == "")
                {
                    att.CheckInDate = null;
                }
                else
                {
                    att.CheckInDate = Convert.ToDateTime(lst.FirstOrDefault().CheckIn_Date);
                }
                if (chaoutdate == null || chaoutdate == "")
                {
                    att.CheckOutDate = null;
                }
                else
                {
                    att.CheckOutDate = Convert.ToDateTime(lst.FirstOrDefault().CheckOut_Date);
                }

                att.RequestedDate = Convert.ToDateTime(lst.FirstOrDefault().RequestDate);
                _attendanceDailyServices.UpdateAttendanceRequest(att);
                NotificationRecommendAttendance(att);

                Session["recommend-status_message"] = " Recommend status has changed";
                return(RedirectToAction("RecommenderList", "User"));
            }

            catch (Exception Ex)
            {
                ViewBag.error = "Error while confirming the request !!" + Ex.Message;
                return(View());
            }
        }
コード例 #3
0
        public int RejectApprovedAttendance(AttendanceRequestDTO atd)
        {
            var conn = DbConnectHelper.GetConnection();

            conn.Open();
            SqlCommand cmd = new SqlCommand("sp_AttendanceRequestReject ", conn);

            cmd.Parameters.AddWithValue("@RequestID", atd.RequestId);
            cmd.Parameters.AddWithValue("@ApproveMessage", atd.ApproverMessage);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable      dt = new DataTable();

            da.Fill(dt);
            da.Dispose();
            cmd.Dispose();
            conn.Close();
            conn.Dispose();
            return(0);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        public ActionResult ApproveAttendance(AttendanceRequestDTO att)
        {
            try
            {
                int id = Convert.ToInt32(att.RequestId);
                IEnumerable <AttendanceRequestsListViewModel> lst = _attendanceDailyServices.GetRequestAttendanceList(null, null, null, id, null);
                att.ApproveStatusDate   = DateTime.Now;
                att.RequestDescription  = lst.FirstOrDefault().Description;
                att.RequestType         = lst.FirstOrDefault().RequestType;
                att.RecommendarEmpCode  = Convert.ToInt32(lst.FirstOrDefault().RecommenderEmpCode);
                att.ApproverEmpCode     = Convert.ToInt32(lst.FirstOrDefault().ApproverEmpCode);
                att.RequestEmpCode      = Convert.ToInt32(lst.FirstOrDefault().EmpCode);
                att.RecommendStatus     = Convert.ToByte(lst.FirstOrDefault().RecommendStatus);
                att.RequestCreatedDate  = DateTime.Now;
                att.RecommedarMessage   = lst.FirstOrDefault().RecommendMessage;
                att.IpAddress           = lst.FirstOrDefault().IpAddress;
                att.RecommendStatusDate = Convert.ToDateTime(lst.FirstOrDefault().RecommendeDate);
                att.RequestedDate       = Convert.ToDateTime(lst.FirstOrDefault().RequestDate);
                var chkindate  = lst.FirstOrDefault().CheckIn_Date;
                var chaoutdate = lst.FirstOrDefault().CheckOut_Date;
                int?status     = lst.FirstOrDefault().ApproverStatus;

                if (status != 2)
                {
                    if (String.IsNullOrEmpty(chkindate))
                    {
                        att.CheckInDate = null;
                    }
                    else
                    {
                        att.CheckInDate = Convert.ToDateTime(lst.FirstOrDefault().CheckIn_Date);
                    }
                    if (String.IsNullOrEmpty(chaoutdate))
                    {
                        att.CheckOutDate = null;
                    }
                    else
                    {
                        att.CheckOutDate = Convert.ToDateTime(lst.FirstOrDefault().CheckOut_Date);
                    }

                    att.RequestedDate = Convert.ToDateTime(lst.FirstOrDefault().RequestDate);

                    _attendanceDailyServices.UpdateAttendanceRequest(att);
                    _attendanceDailyServices.GetenareDailyAttendance(att.RequestId);
                    NotificationApproveAttendance(att);


                    Session["approver-status_message"] = " Approver status has changed";
                    return(RedirectToAction("ApproverList", "User"));
                }
                else
                {
                    if (att.ApproveStatus == 3)
                    {
                        _attendanceDailyServices.RejectApprovedAttendance(att);
                        NotificationApproveAttendance(att);

                        Session["approver-status_message"] = "Attendance Request Rejected Sucessfully !!!";
                        return(RedirectToAction("ApproverList", "User"));
                    }
                    else
                    {
                        Session["approver-status_message"] = " Attendance Request already been Approved !!";
                        return(RedirectToAction("ApproverList", "User"));
                    }
                }
            }



            catch (Exception Ex)
            {
                ViewBag.error = "Error while confirming the request !!" + Ex.Message;
                return(View());
            }
        }
コード例 #6
0
        public ActionResult RequestAttendance(AttendanceRequestDTO att)
        {
            if (att.CheckInDateNP != null)
            {
                att.CheckInDate = Convert.ToDateTime(NepEngDate.NepToEng(att.CheckInDateNP));
            }
            if (att.CheckOutDateNP != null)
            {
                att.CheckOutDate = Convert.ToDateTime(NepEngDate.NepToEng(att.CheckOutDateNP));
            }

            int id     = ViewBag.Empcode;
            int roleid = ViewBag.EmpRoleId;

            att.RequestEmpCode = id;
            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;
            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;
            }

            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;
            }
            att.RequestCreatedDate = DateTime.Now;
            att.RecommendStatus    = 1;
            att.ApproveStatus      = 1;

            if (ModelState.IsValid)
            {
                try
                {
                    AttendanceRequestDTO Atdo = new AttendanceRequestDTO();
                    Atdo = _attendanceDailyServices.InsertAttendanceRequest(att);
                    NotificationRequestAttendance(att);

                    Session["attendance_request"] = "New attendance requested sucessfully !!!";

                    return(RedirectToAction("IndividualAttendanceList", "User"));
                }
                catch (Exception ex)
                {
                    ViewBag.Error = "Error While Requesting Attendance Online!" + ex.Message;
                    return(View());
                }
            }

            else
            {
                ViewBag.Error = "Please Select required field below ";
                return(View());
            }
        }
コード例 #7
0
        public int UpdateAttendanceRequest(AttendanceRequestDTO attd)
        {
            AttendanceRequest att = AttendanceRequestFormatter.ConvertRespondentInfoFromDTO(attd);

            return(_unitOfWork.AttendanceRequestRepository.Update(att));
        }
コード例 #8
0
        public AttendanceRequestDTO InsertAttendanceRequest(AttendanceRequestDTO attenddances)
        {
            AttendanceRequest att = AttendanceRequestFormatter.ConvertRespondentInfoFromDTO(attenddances);

            return(AttendanceRequestFormatter.ConvertRespondentToDTO(_unitOfWork.AttendanceRequestRepository.Create(att)));
        }
コード例 #9
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);
        }
コード例 #10
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);
        }
コード例 #11
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());
            }
        }