Пример #1
0
        public static List <UserActionTrend> RetrieveICareUserIssue(Controller ctrl, string me, int month)
        {
            var uselist = RetrieveAllICareUser(me);
            var ret     = new List <UserActionTrend>();

            foreach (var item in uselist)
            {
                var tempuserdata = new UserActionTrend();
                tempuserdata.CurrentUser = item;
                IssueCountTrend(ctrl, tempuserdata, item, month);
                ret.Add(tempuserdata);
            }
            return(ret);
        }
Пример #2
0
        public static List <UserActionTrend> RetrieveMyRankSummary(Controller ctrl, string me, int month)
        {
            var uselist = new List <string>();

            uselist.Add(me);

            var ret = new List <UserActionTrend>();

            foreach (var item in uselist)
            {
                var tempuserdata = new UserActionTrend();
                tempuserdata.CurrentUser = item;
                RankTrend(ctrl, tempuserdata, item, month);
                ret.Add(tempuserdata);
            }
            return(ret);
        }
Пример #3
0
        private static void RankTrend(Controller ctrl, UserActionTrend uservm, string username, int month)
        {
            uservm.TotalRank = UserKPIVM.RetrieveTotalRank(username.ToUpper());

            var timeranklist = UserRankViewModel.RetrieveRankByMonth(username.ToUpper(), month);

            var ranklist = new List <int>();
            int sumrank  = 0;

            foreach (var item in timeranklist)
            {
                sumrank = sumrank + item.Rank;
                ranklist.Add(sumrank);
            }

            var ChartxAxisValues = "";
            var ChartSearies     = "";

            //xaxis
            foreach (var item in timeranklist)
            {
                ChartxAxisValues = ChartxAxisValues + "'" + item.UpdateDate.ToString("yyyy-MM-dd") + "',";
            }
            ChartxAxisValues = ChartxAxisValues.Substring(0, ChartxAxisValues.Length - 1);

            //yaxis
            ChartSearies = "{name:'User Rank',data:[<fvalue>]}";

            var tempvalue = "";

            foreach (var item in ranklist)
            {
                tempvalue = tempvalue + item.ToString() + ",";
            }
            tempvalue    = tempvalue.Substring(0, tempvalue.Length - 1);
            ChartSearies = ChartSearies.Replace("<fvalue>", tempvalue);

            var tempscript = System.IO.File.ReadAllText(ctrl.Server.MapPath("~/Scripts/AreaChart.xml"));

            uservm.UserRankTrend = tempscript.Replace("#ElementID#", (uservm.CurrentUser.Split(new char[] { '@' })[0]).Replace(".", "") + "userrankchart")
                                   .Replace("#Title#", "User Rank Trend")
                                   .Replace("#ChartxAxisValues#", ChartxAxisValues)
                                   .Replace("#NAMEVALUEPAIRS#", ChartSearies);
        }
Пример #4
0
        private static void IssueCountTrend(Controller ctrl, UserActionTrend uservm, string username, int month)
        {
            var edate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 07:30:00");
            var sdate = edate.AddMonths(0 - month);

            var allissue      = IssueViewModels.RetrieveIssueAllByUser(username, sdate.ToString(), ctrl);
            var pendingissues = IssueViewModels.RetrieveIssuePendingByUser(username, sdate.ToString());
            var workingissues = IssueViewModels.RetrieveIssueWorkingByUser(username, sdate.ToString());
            var solvedissues  = IssueViewModels.RetrieveIssueDoneByUser(username, sdate.ToString(), ctrl);

            uservm.PendingIssueCount = pendingissues.Count();
            uservm.WorkingIssueCount = workingissues.Count();
            uservm.DoneIssueCount    = solvedissues.Count();

            var datelist    = new List <string>();
            var pendinglist = new List <int>();
            var solvedlist  = new List <int>();
            var pendingsum  = 0;
            var slovedsum   = 0;

            for (var temptime = sdate; temptime < edate;)
            {
                var tempstime = temptime;
                temptime = temptime.AddDays(1);

                foreach (var item in allissue)
                {
                    if (item.ReportDate < temptime && item.ReportDate >= tempstime)
                    {
                        pendingsum = pendingsum + 1;
                    }
                }

                foreach (var item in solvedissues)
                {
                    if (item.ResolvedDate <= temptime && item.ResolvedDate >= tempstime)
                    {
                        slovedsum = slovedsum + 1;
                    }
                }

                datelist.Add(temptime.ToString());
                pendinglist.Add(pendingsum);
                solvedlist.Add(slovedsum);
            }

            var ChartxAxisValues = "";
            var ChartSearies     = "";

            //xaxis
            foreach (var item in datelist)
            {
                ChartxAxisValues = ChartxAxisValues + "'" + DateTime.Parse(item).ToString("yyyy-MM-dd") + "',";
            }
            ChartxAxisValues = ChartxAxisValues.Substring(0, ChartxAxisValues.Length - 1);


            //yaxis
            ChartSearies = "{name:'Task Increase',data:[<fvalue>]},{name:'Task Solved',data:[<cvalue>]}";

            var tempvalue = "";

            foreach (var item in pendinglist)
            {
                tempvalue = tempvalue + item.ToString() + ",";
            }
            tempvalue    = tempvalue.Substring(0, tempvalue.Length - 1);
            ChartSearies = ChartSearies.Replace("<fvalue>", tempvalue);

            tempvalue = "";
            foreach (var item in solvedlist)
            {
                tempvalue = tempvalue + item.ToString("0.00") + ",";
            }
            tempvalue    = tempvalue.Substring(0, tempvalue.Length - 1);
            ChartSearies = ChartSearies.Replace("<cvalue>", tempvalue);

            var tempscript = System.IO.File.ReadAllText(ctrl.Server.MapPath("~/Scripts/AreaChart.xml"));

            uservm.UserIssueTrend = tempscript.Replace("#ElementID#", (uservm.CurrentUser.Split(new char[] { '@' })[0]).Replace(".", "") + "issuetrendchart")
                                    .Replace("#Title#", "Task Count Trend")
                                    .Replace("#ChartxAxisValues#", ChartxAxisValues)
                                    .Replace("#NAMEVALUEPAIRS#", ChartSearies);
        }