コード例 #1
0
        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++;
            }
        }
コード例 #2
0
ファイル: DashboardController.cs プロジェクト: 6624465/HREZY
        // 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());
        }
コード例 #3
0
ファイル: Relationships.cs プロジェクト: Robobeurre/NRaas
        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;
        }
コード例 #4
0
        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);
        }