Пример #1
0
        public IActionResult ExcelInterview()
        {
            //string sWebRootFolder = iv_host.WebRootPath + @"\ExcelFile\";
            //string sFileName = $"User_{DateTime.Now.ToString("yyyyMMddHHssfff")}.xlsx";
            dbMyCompanyContext myHR = new dbMyCompanyContext();
            //select 要轉成 excel 的 model 資料
            var table = myHR.TInterViews;
            List <CInterviewListViewModel> data = new List <CInterviewListViewModel>();

            foreach (TInterView i in table)
            {
                data.Add(new CInterviewListViewModel(i));
            }

            Excel excelObj = new Excel();
            var   xlsx     = excelObj.Export(data);//轉換 model 的欄位跟資料
            //xlsx.SaveAs(Path.Combine(sWebRootFolder, sFileName));//存在特定路徑用
            MemoryStream excelStream = new MemoryStream();

            xlsx.SaveAs(excelStream);
            excelStream.Position = 0;
            string fileName = "面試資料清單.xlsx";

            return(File(excelStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName));
        }
Пример #2
0
        public JsonResult checklogin([FromBody] CLoginViewModel p)
        {
            //CLoginViewModel p = new CLoginViewModel();
            string Data = "";

            if (p.txtAccount != null && p.txtPassword != null)
            {
                using (dbMyCompanyContext db = new dbMyCompanyContext())
                {
                    var user = db.TUsers.Where(a => a.CEmployeeId == int.Parse(p.txtAccount)).FirstOrDefault();

                    if (user != null)
                    {
                        if (user.CPassWord != p.txtPassword)
                        {
                            Data = "密碼錯誤";
                        }
                        else if (user.CAccountEnable == 0 && user.COnBoardStatusId == 1)
                        {
                            Data = "帳號未啟用";
                        }
                        else if (user.COnBoardStatusId == 2)
                        {
                            Data = "員工已離職";
                        }
                    }
                    else
                    {
                        Data = "無此帳號";
                    }
                }
            }
            return(Json(Data));
        }
Пример #3
0
        //public IActionResult Excel<T>(List<T> data)

        public IActionResult Excel()
        {
            //string sWebRootFolder = iv_host.WebRootPath + @"\ExcelFile\";
            //string sFileName = $"User_{DateTime.Now.ToString("yyyyMMddHHssfff")}.xlsx";
            dbMyCompanyContext myHR = new dbMyCompanyContext();
            //select 要轉成 excel 的 model 資料
            var data = myHR.TInterViewProcesses
                       .Join(
                myHR.TInterViews.Where(n => n.CInterVieweeId == 6),
                p => p.CInterViewProcessId,
                i => i.CInterViewProcessId,
                (p, i) => new { P = p, I = i })
                       .Join(
                myHR.TUserDepartments,
                x => x.I.CDepartment,
                d => d.CDepartmentId,
                (x, d) => new { X = x, D = d }
                ).Select(s => new CInterviewDetailsViewModel
            {
                editor     = s.X.I.CInterVieweeName,
                process    = s.X.P.CInterViewProcess,
                departname = s.D.CDepartment,
            }).ToList();

            Excel excelObj = new Excel();
            var   xlsx     = excelObj.Export(data);//轉換 model 的欄位跟資料
            //xlsx.SaveAs(Path.Combine(sWebRootFolder, sFileName));//存在特定路徑用
            MemoryStream excelStream = new MemoryStream();

            xlsx.SaveAs(excelStream);
            excelStream.Position = 0;
            string fileName = "Report.xlsx";

            return(File(excelStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName));
        }
Пример #4
0
        public JsonResult DeleteEvent(int eventID)
        {
            var status = false;

            using (dbMyCompanyContext db = new dbMyCompanyContext())
            {
                var v = db.TEvents.Where(a => a.EventId == eventID).FirstOrDefault();
                if (v != null)
                {
                    db.TEvents.Remove(v);
                    db.SaveChanges();
                    status = true;
                }
            }
            var Data = status;

            //return new JsonResult { Data = new { status = status } };
            return(new JsonResult(Data));
        }
Пример #5
0
        public JsonResult check([FromBody] CPasswordTest p)
        {
            //CLoginViewModel p = new CLoginViewModel();
            string Data = "";

            if (p.txtaccount1 != null && p.txtpassword1 != null)
            {
                using (dbMyCompanyContext db = new dbMyCompanyContext())
                {
                    var user = db.TUsers.Where(a => a.CEmployeeEnglishName == p.txtaccount1).FirstOrDefault();

                    if (user != null)
                    {
                        if (user.CPassWord != p.txtpassword1)
                        {
                            Data = "密碼錯誤";
                        }
                        else
                        {
                            user.CAccountEnable = 1;
                            db.SaveChanges();
                            // interView 修改成已報到
                            var id        = db.TUsers.Where(n => n.CEmployeeEnglishName == p.txtaccount1).Select(n => n.CEmployeeId).FirstOrDefault();
                            var interview = db.TInterViews.Where(n => n.CInterViewerEmployeeId == id).FirstOrDefault();
                            if (interview != null)
                            {
                                interview.CInterViewStatusId = 6;
                            }
                            db.SaveChanges();
                            Data = $"報到成功,您的員工帳號為\"{id}\",請至登入頁面進入本系統。";
                        }
                    }
                    else
                    {
                        Data = "帳號錯誤";
                    }
                }
            }
            return(Json(Data));
        }
Пример #6
0
        public IActionResult ConfirmPassword(CSalaryLoginViewModel p)
        {
            int UserId = int.Parse(HttpContext.Session.GetString(CDictionary.CURRENT_LOGINED_USERID));


            string Password1 = Request.Form["Password"].ToString();

            if (string.IsNullOrEmpty(Password1))
            {
                return(RedirectToAction("ConfirmPassword"));
            }
            else
            {
                using (dbMyCompanyContext MyHR = new dbMyCompanyContext())
                {
                    int CurrentUserID = int.Parse(HttpContext.Session.GetString("CURRENT_LOGINED_USERID"));

                    var user = MyHR.TUsers.AsEnumerable().FirstOrDefault(x => x.CPassWord.ToString() == Password1.ToString() && x.CEmployeeId == CurrentUserID);

                    if (user != null)
                    {
                        if (UserId == 7)
                        {
                            return(RedirectToAction("SalaryList_supervisor"));
                        }

                        else
                        {
                            return(RedirectToAction("Salary_Search"));
                        }
                    }
                    else
                    {
                        return(RedirectToAction("ConfirmPassword"));
                    }
                }
            }
        }
Пример #7
0
        public JsonResult SaveEvent(CalendarViewModel e)
        {
            var status = false;

            using (dbMyCompanyContext db = new dbMyCompanyContext())
            {
                int userId = int.Parse(HttpContext.Session.GetString(CDictionary.CURRENT_LOGINED_USERID));
                ViewData["userId"] = userId;
                if (e.EventId > 0)
                {
                    //Update the event
                    var v = db.TEvents.Where(a => a.EventId == e.EventId).FirstOrDefault();
                    if (v != null)
                    {
                        v.EmployeeId  = userId;
                        v.Subject     = e.Subject;
                        v.Start       = e.Start;
                        v.End         = e.End;
                        v.Description = e.Description;
                        v.IsFullDay   = e.IsFullDay;
                        v.ThemeColor  = e.ThemeColor;
                    }
                }
                else
                {
                    db.TEvents.Add(e.tevents);
                }

                db.SaveChanges();
                status = true;
            }
            var Data = status;

            //return new JsonResult { Data = new { status = status } };
            return(new JsonResult(Data));
        }
Пример #8
0
        public JsonResult GetEvents()
        {
            using (dbMyCompanyContext db = new dbMyCompanyContext())
            {
                int userId = int.Parse(HttpContext.Session.GetString(CDictionary.CURRENT_LOGINED_USERID));

                var events = db.TEvents.Where(c => c.EmployeeId == userId).Select(n => new
                {
                    EventId     = n.EventId,
                    EmployeeId  = userId,
                    Subject     = n.Subject,
                    Start       = n.Start,
                    Description = n.Description,
                    End         = n.End,
                    IsFullDay   = n.IsFullDay,
                    ThemeColor  = n.ThemeColor,
                }).ToList();

                //var leave = db.TLeaveApplications.Select(n => new
                //{
                //    EventId = 0,
                //    EmployeeId=userId,
                //    Subject = ((eLeaveCategory)n.CLeaveCategory).ToString(),
                //    Start = DateTime.Parse(n.CLeaveStartTime),
                //    Description = n.CReason,
                //    End = DateTime.Parse(n.CLeaveEndTime),
                //    IsFullDay = false,
                //    ThemeColor = "red",

                //});

                var travel = db.TTravelExpenseApplications.Where(c => c.CEmployeeId == userId).Select(n => new
                {
                    EventId     = 0,
                    EmployeeId  = n.CEmployeeId,
                    Subject     = n.CReason,
                    Start       = n.CTravelStartTime,
                    Description = n.CReason,
                    End         = n.CTravelEndTime,
                    IsFullDay   = false,
                    ThemeColor  = "green",
                }).ToList();

                var Data =
                    (
                        from n in events
                        select new
                {
                    EventId = n.EventId,
                    EmployeeId = n.EmployeeId,
                    Subject = n.Subject,
                    Start = n.Start,
                    Description = n.Description,
                    End = n.End,
                    IsFullDay = (bool)n.IsFullDay,
                    ThemeColor = n.ThemeColor,
                }

                    )
                    .Concat
                    (
                        from l in travel
                        select new
                {
                    EventId     = l.EventId,
                    EmployeeId  = l.EventId,
                    Subject     = l.Subject,
                    Start       = l.Start,
                    Description = l.Description,
                    End         = l.End,
                    IsFullDay   = l.IsFullDay,
                    ThemeColor  = l.ThemeColor,
                }

                    );

                // var Data =
                //    (
                //    from n in events
                //    select n
                //)
                //.Concat
                //(
                //    from l in travel
                //    select l
                //);



                return(new JsonResult(Data));
            }
        }