Beispiel #1
0
        public ViewResult employeedirectory()
        {
            using (var dbCntx = new HrDataContext())
            {
                ViewData["BranchId"] = BRANCHID;
                var empDirectoryVm = new EmpDirectoryVm
                {
                    empSearch = new EmpSearch {
                    }
                };

                return(View("employeedirectory", empDirectoryVm));
            }
        }
Beispiel #2
0
        public ActionResult empsearchajax(EmpSearch empSearch)
        {
            int offSet   = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["appTableOffSet"]);
            int skipRows = (empSearch.pageNumber - 1) * offSet;

            using (var dbCntx = new HrDataContext())
            {
                var list = dbCntx.EmployeeHeaders.AdvSearchEmpHeaderWhere(empSearch.EmployeeName, empSearch.EmployeeType)
                           .Join(dbCntx.EmployeePersonalDetails,
                                 a => a.EmployeeId, b => b.EmployeeId,
                                 (a, b) => new { A = a, B = b })
                           .Join(dbCntx.EmployeeWorkDetails.AdvSearchEmpWorkDetailWhere(empSearch.DOJ, empSearch.Designation, BRANCHID, ROLECODE),
                                 c => c.A.EmployeeId, d => d.EmployeeId,
                                 (c, d) => new { C = c, D = d })
                           //.Join(dbCntx.Users,
                           //e => e.C.A.EmployeeId, f => f.EmployeeId,
                           //(e, f) => new { E = e, F = f })
                           //.Join(dbCntx.EmployeeDocumentDetails,
                           //g => g.E.C.A.EmployeeId, h => h.EmployeeId,
                           //(g, h) => new { G = g, H = h })
                           .Select(x => new EmployeeListVm
                {
                    EmployeeId   = x.C.A.EmployeeId,
                    EmployeeNo   = x.C.A.IDNumber,
                    EmployeeName = x.C.A.FirstName,
                    JoiningDate  = x.D.JoiningDate,
                    JobTitle     = dbCntx.LookUps
                                   .Where(y => y.LookUpID == x.D.DesignationId)
                                   .FirstOrDefault().LookUpDescription,
                    ContactNo        = x.C.B.EmergencyContactNumber,
                    PersonalEmailId  = x.C.A.UserEmailId,
                    OfficialEmailId  = x.C.A.UserEmailId,
                    DocumentDetailID = dbCntx.EmployeeDocumentDetails
                                       .Where(z => z.DocumentType == UTILITY.DOCUMENTTYPEID && z.EmployeeId == x.C.A.EmployeeId).FirstOrDefault() == null ? 0 :
                                       dbCntx.EmployeeDocumentDetails
                                       .Where(z => z.DocumentType == UTILITY.DOCUMENTTYPEID && z.EmployeeId == x.C.A.EmployeeId).FirstOrDefault().DocumentDetailID,//x.H.DocumentDetailID,
                    DateOfBirth = x.C.B.DOB,
                    branchid    = x.C.A.BranchId,
                    ProfilePic  = dbCntx.EmployeeDocumentDetails
                                  .Where(a => a.DocumentType == UTILITY.DOCUMENTTYPEID && a.EmployeeId == x.C.A.EmployeeId).FirstOrDefault() == null ? "" :
                                  dbCntx.EmployeeDocumentDetails
                                  .Where(a => a.DocumentType == UTILITY.DOCUMENTTYPEID && a.EmployeeId == x.C.A.EmployeeId).FirstOrDefault().FileName
                });
                var emplist = list.Where(x => x.branchid == BRANCHID).ToList();
                var query   = emplist.OrderByDescending(x => x.EmployeeId).Skip(skipRows).Take(offSet).ToList().AsEnumerable();

                var totalCount = emplist.Count();

                decimal pagerLength    = decimal.Divide(Convert.ToDecimal(totalCount), Convert.ToDecimal(offSet));
                decimal pagnationRound = Math.Ceiling(Convert.ToDecimal(pagerLength));

                var empDirectoryVm = new EmpDirectoryVm
                {
                    employeeVm  = query,
                    empSearch   = empSearch,
                    count       = totalCount,
                    PagerLength = pagnationRound
                };
                return(Json(empDirectoryVm, JsonRequestBehavior.AllowGet));
            }
        }