public void Consume(User record) { _genderCountDictionary.TryGetValue(record.Age, out GenderCount item); if (item == null) { item = new GenderCount(record.Age); _genderCountDictionary.Add(record.Age, item); _result.Add(item); } if (string.IsNullOrWhiteSpace(record.Gender)) { return; } if (MALE_ACRONYM.Contains(record?.Gender.ToUpper())) { item.MaleCount++; } else if (FEMALE_ACRONYM.Contains(record?.Gender.ToUpper())) { item.FemaleCount++; } }
// GET: Dashboard public ActionResult Index() { try { DateTime startDayOfYear = new DateTime(UTILITY.SINGAPORETIME.Year, 01, 01); if (ROLECODE == UTILITY.ROLE_SUPERADMIN) { using (var dbCntx = new HrDataContext()) { List <Branch> branches = dbCntx.Branches.ToList(); List <EmployeeDataVm> superadminGenderCount = new List <EmployeeDataVm>(); foreach (Branch branch in branches) { var count = dbCntx.EmployeePersonalDetails .Where(x => x.BranchId == branch.BranchID).Count(); if (count > 0) { EmployeeDataVm employeeDataVm = new EmployeeDataVm(); employeeDataVm.genderCount = new List <GenderCount>(); employeeDataVm.branchName = branch.BranchName; GenderCount malecount = new GenderCount(); malecount.name = "Male"; malecount.y = dbCntx.EmployeePersonalDetails .Where(x => x.Gender == 101 && x.BranchId == branch.BranchID).Count(); malecount.custom = malecount.y; employeeDataVm.genderCount.Add(malecount); GenderCount femalecount = new GenderCount(); femalecount.name = "Female"; femalecount.y = dbCntx.EmployeePersonalDetails .Where(x => x.Gender == 102 && x.BranchId == branch.BranchID).Count(); femalecount.custom = femalecount.y; employeeDataVm.genderCount.Add(femalecount); superadminGenderCount.Add(employeeDataVm); } } ViewData["BranchId"] = BRANCHID; return(View("index", superadminGenderCount)); } } else if (ROLECODE == UTILITY.ROLE_ADMIN) { using (var dbCntx = new HrDataContext()) { DashBoardVm obj = new DashBoardVm(); /* * obj.EmployeeCount = dbCntx.EmployeeHeaders * .Where(x => x.BranchId == BRANCHID) * .Count();*/ obj.EmployeeCount = dbCntx.usp_EmployeeDetail(BRANCHID, ROLECODE).Count(); obj.lineChartData = dbCntx.usp_EmployeeDateOfJoiningDate(UTILITY.SINGAPORETIME, BRANCHID) .ToList() .AsEnumerable(); Branch branch = dbCntx.Branches.Where(x => x.BranchID == BRANCHID).FirstOrDefault(); //List<EmployeeDataVm> employeeDataVm = new List<EmployeeDataVm>(); obj.employeeDataVm = new EmployeeDataVm(); obj.employeeDataVm.genderCount = new List <GenderCount>(); obj.employeeDataVm.branchName = branch.BranchName; GenderCount malecount = new GenderCount(); malecount.name = "Male"; malecount.y = dbCntx.EmployeePersonalDetails .Where(x => x.Gender == 101 && x.BranchId == branch.BranchID).Count(); malecount.custom = malecount.y; obj.employeeDataVm.genderCount.Add(malecount); GenderCount femalecount = new GenderCount(); femalecount.name = "Female"; femalecount.y = dbCntx.EmployeePersonalDetails .Where(x => x.Gender == 102 && x.BranchId == branch.BranchID).Count(); femalecount.custom = femalecount.y; obj.employeeDataVm.genderCount.Add(femalecount); //var query = dbCntx.EmployeeLeaveLists // .Where(x => x.EmployeeId == EMPLOYEEID && x.BranchId == BRANCHID); //var leaveStartTransactions = dbCntx.LeaveTrans // .Where(x => x.EmployeeId == EMPLOYEEID && x.BranchId == BRANCHID && x.CreatedOn >= startDayOfYear) // .OrderBy(x => x.TransactionId) // .FirstOrDefault(); //if (leaveStartTransactions != null) //{ // obj.totalPLs = leaveStartTransactions.CurrentLeaves; // obj.totalCLs = leaveStartTransactions.CurrentLeaves; // DateTime now = DateTime.Now; // var startDate = new DateTime(now.Year, now.Month, 1); // var endDate = startDate.AddMonths(1).AddDays(-1); // var SLPerMonth = dbCntx.Leaves.Where(x => x.BranchId == BRANCHID).FirstOrDefault().SickLeavesPerMonth; // var CurrentMonthSLs = query.Where(x => x.FromDate >= startDate && x.ToDate <= endDate && x.LeaveTypeId == 1031).ToList(); // foreach (var item in CurrentMonthSLs) // { // obj.totalSLs += item.Days.Value; // } // obj.totalSLs = SLPerMonth.Value - obj.totalSLs; //} ViewData["BranchId"] = BRANCHID; return(View("admindashboard", obj)); } } else if (ROLECODE == UTILITY.ROLE_EMPLOYEE) { using (var dbCntx = new HrDataContext()) { EmployeeDashBoardVm obj = new EmployeeDashBoardVm(); var empheader = dbCntx.EmployeeHeaders.Where(x => x.EmployeeId == EMPLOYEEID).FirstOrDefault(); var managername = dbCntx.EmployeeHeaders.Where(x => x.EmployeeId == empheader.ManagerId).FirstOrDefault(); if (empheader != null) { int managerId = empheader.ManagerId == null ? 0 : empheader.ManagerId.Value; if (managerId == 0) { ViewData["message"] = "You Don't Have Reporting Manger"; } else { ViewData["message"] = "Your Reporting manager is" + " " + managername.FirstName + " " + managername.LastName; } } var query = dbCntx.EmployeeLeaveLists .Where(x => x.EmployeeId == EMPLOYEEID && x.BranchId == BRANCHID); var empLeaveDetails = query.OrderByDescending(x => x.EmployeeLeaveID) .ThenByDescending(x => x.ApplyDate) .Take(5) .Select(x => new EmpLeaveDashBoard { FromDate = x.FromDate, ToDate = x.ToDate, ApplyDate = x.ApplyDate, LeaveTypeDesc = dbCntx.LookUps.Where(y => y.LookUpID == x.LeaveTypeId).FirstOrDefault().LookUpDescription, Status = x.Status, Days = x.Days.Value, Reason = x.Reason }) .ToList() .AsEnumerable(); LeaveMaster lMaster = new LeaveMaster(); var paidLeave = lMaster.ANNUALLEAVE(BRANCHID); var sickLeave = lMaster.MEDICALLEAVE(BRANCHID); LeaveReportVm vm = new LeaveReportVm(); vm.consReport = LEAVEREPORTYTD(BRANCHID, DateTime.Now.Year, EMPLOYEEID); List <OtherLeave> leavepolicy = dbCntx.OtherLeaves.Where(x => x.BranchId == BRANCHID && x.IsActive == true).ToList(); if (leavepolicy.Count != 0) { var annualLeaves = vm.consReport.Where(x => x.LeaveType.ToUpper() == "ANNUAL LEAVE"); var medicalLeaves = vm.consReport.Where(x => x.LeaveType.ToUpper() == "MEDICAL LEAVE"); var totalpaidleaves = annualLeaves.Sum(x => x.TotalLeaves) + (annualLeaves.FirstOrDefault() == null ? 0 : annualLeaves.FirstOrDefault().BalanceLeaves); var totalsickLeaves = medicalLeaves.Sum(x => x.TotalLeaves) + (medicalLeaves.FirstOrDefault() == null ? 0 : medicalLeaves.FirstOrDefault().BalanceLeaves); obj.empLeaveDashBoard = empLeaveDetails.ToList(); obj.totalPLs = totalpaidleaves; obj.totalSLs = totalsickLeaves; obj.currentpls = annualLeaves.Sum(x => x.TotalLeaves); obj.currentsls = medicalLeaves.Sum(x => x.TotalLeaves); obj.remainingpls = annualLeaves.FirstOrDefault() == null ? 0 : annualLeaves.FirstOrDefault().BalanceLeaves; obj.remainingsls = medicalLeaves.FirstOrDefault() == null ? 0 : medicalLeaves.FirstOrDefault().BalanceLeaves; obj.EmployeeId = EMPLOYEEID; obj.EmployeeName = empheader.FirstName + " " + empheader.LastName; ViewData["Alert"] = ""; } else { obj.empLeaveDashBoard = empLeaveDetails.ToList(); obj.totalPLs = 0; obj.totalSLs = 0; obj.currentpls = 0; obj.currentsls = 0; obj.EmployeeId = EMPLOYEEID; obj.EmployeeName = empheader.FirstName + " " + empheader.LastName; ViewData["Alert"] = UTILITY.MISSINGLEAVEPOLICYALERT; } return(View("employeedashboard", obj)); } } } catch (Exception ex) { //Session["ErrMsg"] = ex.Message + " " + // ex.StackTrace + " " + // ex.TargetSite + " " + // ex.Source; throw; } return(View()); }
protected string GetDetails(List<IMiniSimDescription> sims) { GenderBin teenSingles = new GenderBin(); GenderBin residentSingles = new GenderBin(); GenderBin serviceSingles = new GenderBin(); GenderBin adultMarried = new GenderBin(); GenderBin elderMarried = new GenderBin(); GenderBin steadyTeens = new GenderBin(); GenderBin steadyAdults = new GenderBin(); GenderBin singlePregnancy = new GenderBin(); GenderBin partnerPregnancy = new GenderBin(); GenderBin friends = new GenderBin(); GenderBin flirts = new GenderBin(); GenderBin dislikes = new GenderBin(); GenderBin enemies = new GenderBin(); GenderBin singleParents = new GenderBin(); GenderBin oneParent = new GenderBin(); GenderBin strandedCouples = new GenderBin(); GenderBin noFriends = new GenderBin(); GenderBin noFlirts = new GenderBin(); GenderBin noEnemies = new GenderBin(); GenderBin noDislikes = new GenderBin(); GenderCount flirtCount = new GenderCount(); GenderCount dislikeCount = new GenderCount(); GenderCount enemyCount = new GenderCount(); GenderCount friendCount = new GenderCount(); bool includesHuman = false; foreach (IMiniSimDescription miniSim in sims) { SimDescription member = miniSim as SimDescription; if (member == null) continue; if (member.IsHuman) { includesHuman = true; } if (NRaas.CommonSpace.Helpers.Relationships.GetParents(member).Count == 1) { oneParent.Add(member); } if (member.Partner == null) { if (member.Teen) { teenSingles.Add(member); } else if (member.YoungAdultOrAbove) { if ((member.Household == null) || (SimTypes.IsSpecial(member))) { serviceSingles.Add(member); } else { residentSingles.Add(member); } } foreach (SimDescription child in NRaas.CommonSpace.Helpers.Relationships.GetChildren(member)) { if (child.TeenOrBelow) { singleParents.Add(member); } } } else if (member.IsMarried) { if (member.Elder) { elderMarried.Add(member); } else { adultMarried.Add(member); } if (member.LotHome != member.Partner.LotHome) { if (((!member.IsDead) || (member.IsPlayableGhost)) && ((!member.Partner.IsDead) || (member.Partner.IsPlayableGhost))) { strandedCouples.Add(member); } } } else if (member.YoungAdultOrAbove) { steadyAdults.Add(member); } else { steadyTeens.Add(member); } if (member.IsPregnant) { if (member.Partner == null) { singlePregnancy.Add(member); } else { partnerPregnancy.Add(member); } } bool bFlirt = false, bFriend = false, bEnemy = false, bDislike = false; List<Relationship> relations = new List<Relationship>(Relationship.GetRelationships(member)); if (relations != null) { foreach (Relationship relation in relations) { if (member.TeenOrAbove) { if (relation.AreRomantic()) { flirts.Add(member); flirtCount.Add(member); bFlirt = true; } } if (member.ChildOrAbove) { if (relation.AreFriends()) { friends.Add(member); friendCount.Add(member); bFriend = true; } else if ((relation.LTR.Liking < -75) || (relation.AreEnemies())) { enemies.Add(member); enemyCount.Add(member); bEnemy = true; } else if (relation.LTR.Liking < 0) { dislikes.Add(member); dislikeCount.Add(member); bDislike = true; } } } } if (member.TeenOrAbove) { if (!bFlirt) { noFlirts.Add(member); } } if (member.ChildOrAbove) { if (!bFriend) { noFriends.Add(member); } if (!bEnemy) { noEnemies.Add(member); } if (!bDislike) { noDislikes.Add(member); } } } string msg = Common.Localize("Relationships:BodyHeader"); List<object> objects = new List<object>(); if (includesHuman) { objects.Add(teenSingles.ToString()); msg += Common.Localize("Relationships:TeenSingle", false, objects.ToArray()); } objects.Clear(); objects.Add(residentSingles.ToString()); objects.Add(serviceSingles.ToString()); msg += Common.Localize("Relationships:Single", false, objects.ToArray()); objects.Clear(); objects.Add(adultMarried.ToString()); objects.Add(elderMarried.ToString()); msg += Common.Localize("Relationships:Married", false, objects.ToArray()); if (includesHuman) { objects.Clear(); objects.Add(steadyTeens.ToString()); objects.Add(steadyAdults.ToString()); msg += Common.Localize("Relationships:Steady", false, objects.ToArray()); } objects.Clear(); objects.Add(singlePregnancy.ToString()); objects.Add(partnerPregnancy.ToString()); msg += Common.Localize("Relationships:Pregnant", false, objects.ToArray()); if (includesHuman) { objects.Clear(); objects.Add(strandedCouples.ToString()); objects.Add(singleParents.ToString()); objects.Add(oneParent.ToString()); msg += Common.Localize("Relationships:Family", false, objects.ToArray()); } objects.Clear(); objects.Add(friends.ToString()); objects.Add(noFriends.ToString()); objects.Add(friendCount.ToString(friends)); msg += Common.Localize("Relationships:Friends", false, objects.ToArray()); objects.Clear(); objects.Add(dislikes.ToString()); objects.Add(noDislikes.ToString()); objects.Add(dislikeCount.ToString(friends)); msg += Common.Localize("Relationships:Dislikes", false, objects.ToArray()); objects.Clear(); objects.Add(flirts.ToString()); objects.Add(noFlirts.ToString()); objects.Add(flirtCount.ToString(flirts)); msg += Common.Localize("Relationships:Flirts", false, objects.ToArray()); objects.Clear(); objects.Add(enemies.ToString()); objects.Add(noEnemies.ToString()); objects.Add(enemyCount.ToString(enemies)); msg += Common.Localize("Relationships:Enemies", false, objects.ToArray()); return msg; }
protected string GetDetails(List <IMiniSimDescription> sims) { GenderBin teenSingles = new GenderBin(); GenderBin residentSingles = new GenderBin(); GenderBin serviceSingles = new GenderBin(); GenderBin adultMarried = new GenderBin(); GenderBin elderMarried = new GenderBin(); GenderBin steadyTeens = new GenderBin(); GenderBin steadyAdults = new GenderBin(); GenderBin singlePregnancy = new GenderBin(); GenderBin partnerPregnancy = new GenderBin(); GenderBin friends = new GenderBin(); GenderBin flirts = new GenderBin(); GenderBin dislikes = new GenderBin(); GenderBin enemies = new GenderBin(); GenderBin singleParents = new GenderBin(); GenderBin oneParent = new GenderBin(); GenderBin strandedCouples = new GenderBin(); GenderBin noFriends = new GenderBin(); GenderBin noFlirts = new GenderBin(); GenderBin noEnemies = new GenderBin(); GenderBin noDislikes = new GenderBin(); GenderCount flirtCount = new GenderCount(); GenderCount dislikeCount = new GenderCount(); GenderCount enemyCount = new GenderCount(); GenderCount friendCount = new GenderCount(); bool includesHuman = false; foreach (IMiniSimDescription miniSim in sims) { SimDescription member = miniSim as SimDescription; if (member == null) { continue; } if (member.IsHuman) { includesHuman = true; } if (NRaas.CommonSpace.Helpers.Relationships.GetParents(member).Count == 1) { oneParent.Add(member); } if (member.Partner == null) { if (member.Teen) { teenSingles.Add(member); } else if (member.YoungAdultOrAbove) { if ((member.Household == null) || (SimTypes.IsSpecial(member))) { serviceSingles.Add(member); } else { residentSingles.Add(member); } } foreach (SimDescription child in NRaas.CommonSpace.Helpers.Relationships.GetChildren(member)) { if (child.TeenOrBelow) { singleParents.Add(member); } } } else if (member.IsMarried) { if (member.Elder) { elderMarried.Add(member); } else { adultMarried.Add(member); } if (member.LotHome != member.Partner.LotHome) { if (((!member.IsDead) || (member.IsPlayableGhost)) && ((!member.Partner.IsDead) || (member.Partner.IsPlayableGhost))) { strandedCouples.Add(member); } } } else if (member.YoungAdultOrAbove) { steadyAdults.Add(member); } else { steadyTeens.Add(member); } if (member.IsPregnant) { if (member.Partner == null) { singlePregnancy.Add(member); } else { partnerPregnancy.Add(member); } } bool bFlirt = false, bFriend = false, bEnemy = false, bDislike = false; List <Relationship> relations = new List <Relationship>(Relationship.GetRelationships(member)); if (relations != null) { foreach (Relationship relation in relations) { if (member.TeenOrAbove) { if (relation.AreRomantic()) { flirts.Add(member); flirtCount.Add(member); bFlirt = true; } } if (member.ChildOrAbove) { if (relation.AreFriends()) { friends.Add(member); friendCount.Add(member); bFriend = true; } else if ((relation.LTR.Liking < -75) || (relation.AreEnemies())) { enemies.Add(member); enemyCount.Add(member); bEnemy = true; } else if (relation.LTR.Liking < 0) { dislikes.Add(member); dislikeCount.Add(member); bDislike = true; } } } } if (member.TeenOrAbove) { if (!bFlirt) { noFlirts.Add(member); } } if (member.ChildOrAbove) { if (!bFriend) { noFriends.Add(member); } if (!bEnemy) { noEnemies.Add(member); } if (!bDislike) { noDislikes.Add(member); } } } string msg = Common.Localize("Relationships:BodyHeader"); List <object> objects = new List <object>(); if (includesHuman) { objects.Add(teenSingles.ToString()); msg += Common.Localize("Relationships:TeenSingle", false, objects.ToArray()); } objects.Clear(); objects.Add(residentSingles.ToString()); objects.Add(serviceSingles.ToString()); msg += Common.Localize("Relationships:Single", false, objects.ToArray()); objects.Clear(); objects.Add(adultMarried.ToString()); objects.Add(elderMarried.ToString()); msg += Common.Localize("Relationships:Married", false, objects.ToArray()); if (includesHuman) { objects.Clear(); objects.Add(steadyTeens.ToString()); objects.Add(steadyAdults.ToString()); msg += Common.Localize("Relationships:Steady", false, objects.ToArray()); } objects.Clear(); objects.Add(singlePregnancy.ToString()); objects.Add(partnerPregnancy.ToString()); msg += Common.Localize("Relationships:Pregnant", false, objects.ToArray()); if (includesHuman) { objects.Clear(); objects.Add(strandedCouples.ToString()); objects.Add(singleParents.ToString()); objects.Add(oneParent.ToString()); msg += Common.Localize("Relationships:Family", false, objects.ToArray()); } objects.Clear(); objects.Add(friends.ToString()); objects.Add(noFriends.ToString()); objects.Add(friendCount.ToString(friends)); msg += Common.Localize("Relationships:Friends", false, objects.ToArray()); objects.Clear(); objects.Add(dislikes.ToString()); objects.Add(noDislikes.ToString()); objects.Add(dislikeCount.ToString(friends)); msg += Common.Localize("Relationships:Dislikes", false, objects.ToArray()); objects.Clear(); objects.Add(flirts.ToString()); objects.Add(noFlirts.ToString()); objects.Add(flirtCount.ToString(flirts)); msg += Common.Localize("Relationships:Flirts", false, objects.ToArray()); objects.Clear(); objects.Add(enemies.ToString()); objects.Add(noEnemies.ToString()); objects.Add(enemyCount.ToString(enemies)); msg += Common.Localize("Relationships:Enemies", false, objects.ToArray()); return(msg); }