Пример #1
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);
        }
Пример #2
0
        public static List <UserKPIVM> RetrieveRankByDate(string starttime)
        {
            var ret = new List <UserKPIVM>();
            var sql = "select RankKey,UserName,RankType,Summary,BackLink,Rank,ADMIRERank,UpdateTime from UserKPIVM where UpdateTime >= '<UpdateTime>' and RankType <> '<RankType1>' and RankType <> '<RankType2>' order by UserName,UpdateTime DESC";

            sql = sql.Replace("<UpdateTime>", starttime).Replace("<RankType1>", UserRankType.ADMIRE).Replace("<RankType2>", UserRankType.VOTE);
            var dbret = DBUtility.ExeLocalSqlWithRes(sql, null);

            foreach (var line in dbret)
            {
                var tempvm = new UserKPIVM();
                tempvm.RankKey    = Convert.ToString(line[0]);
                tempvm.UserName   = Convert.ToString(line[1]);
                tempvm.RankType   = Convert.ToString(line[2]);
                tempvm.Summary    = Convert.ToString(line[3]);
                tempvm.BackLink   = Convert.ToString(line[4]);
                tempvm.Rank       = Convert.ToInt32(line[5]);
                tempvm.ADMIRERank = Convert.ToInt32(line[6]);
                tempvm.UpdateTime = DateTime.Parse(Convert.ToString(line[7]));
                ret.Add(tempvm);
            }
            return(ret);
        }
Пример #3
0
        public static List <UserKPIVM> RetrieveRankItems(string rankkey, string ranktype)
        {
            var ret = new List <UserKPIVM>();
            var sql = "select RankKey,UserName,RankType,Summary,BackLink,Rank,ADMIRERank,UpdateTime from UserKPIVM where RankKey='<RankKey>' and RankType='<RankType>'";

            sql = sql.Replace("<RankKey>", rankkey).Replace("<RankType>", ranktype);
            var dbret = DBUtility.ExeLocalSqlWithRes(sql, null);

            foreach (var line in dbret)
            {
                var tempvm = new UserKPIVM();
                tempvm.RankKey    = Convert.ToString(line[0]);
                tempvm.UserName   = Convert.ToString(line[1]);
                tempvm.RankType   = Convert.ToString(line[2]);
                tempvm.Summary    = Convert.ToString(line[3]);
                tempvm.BackLink   = Convert.ToString(line[4]);
                tempvm.Rank       = Convert.ToInt32(line[5]);
                tempvm.ADMIRERank = Convert.ToInt32(line[6]);
                tempvm.UpdateTime = DateTime.Parse(Convert.ToString(line[7]));
                ret.Add(tempvm);
            }
            return(ret);
        }
Пример #4
0
        public static void LikeDoc(string DOCKey, string DOCCreator, string updater, Controller ctrl)
        {
            var sql = "select DOCFavor from UserLearn where DOCKey = N'<DOCKey>' and DOCCreator = '<DOCCreator>' and UserName = '******'";

            sql = sql.Replace("<DOCKey>", DOCKey).Replace("<DOCCreator>", DOCCreator).Replace("<UserName>", updater);
            var dbret2 = DBUtility.ExeLocalSqlWithRes(sql, null);

            if (dbret2.Count == 0)
            {
                return;
            }
            if (!string.IsNullOrEmpty(Convert.ToString(dbret2[0][0])))
            {
                return;
            }

            var ret = new List <ShareDocVM>();

            sql = "select a.DOCPJK,a.DOCType,a.DOCKey,a.DOCTag,a.DOCCreator,a.DOCDate,b.DOCPusher,b.DOCFavor,a.DOCFavorTimes,a.APVal1,a.BackLink from ShareDoc a left join UserLearn b ON a.DOCKey = b.DOCKey "
                  + " where  a.DOCKey = N'<DOCKey>' and a.DOCCreator = '<DOCCreator>'  and b.UserName='******'";
            sql = sql.Replace("<DOCKey>", DOCKey).Replace("<DOCCreator>", DOCCreator).Replace("<UserName>", updater);
            var dbret = DBUtility.ExeLocalSqlWithRes(sql, null);

            foreach (var line in dbret)
            {
                var tempvm = new ShareDocVM();
                tempvm.DOCPJK        = Convert.ToString(line[0]);
                tempvm.DOCType       = Convert.ToString(line[1]);
                tempvm.DOCKey        = Convert.ToString(line[2]);
                tempvm.DOCTag        = Convert.ToString(line[3]);
                tempvm.DOCCreator    = Convert.ToString(line[4]);
                tempvm.DOCDate       = DateTime.Parse(Convert.ToString(line[5]));
                tempvm.DOCPusher     = Convert.ToString(line[6]);
                tempvm.DOCFavor      = Convert.ToString(line[7]);
                tempvm.DOCFavorTimes = Convert.ToInt32(line[8]);
                tempvm.DocID         = Convert.ToString(line[9]);
                tempvm.BACKLink      = Convert.ToString(line[10]);
                ret.Add(tempvm);
            }

            if (ret.Count > 0)
            {
                var sql1 = "Update ShareDoc set DOCFavorTimes = <DOCFavorTimes> where DOCKey = N'<DOCKey>' and DOCCreator = '<DOCCreator>'";
                sql1 = sql1.Replace("<DOCKey>", DOCKey).Replace("<DOCCreator>", DOCCreator).Replace("<DOCFavorTimes>", (ret[0].DOCFavorTimes + 1).ToString());
                DBUtility.ExeLocalSqlNoRes(sql1);
            }


            var sql2 = "Update UserLearn set DOCFavor='LIKE' where DOCKey = N'<DOCKey>' and DOCCreator = '<DOCCreator>' and UserName='******'";

            sql2 = sql2.Replace("<DOCKey>", DOCKey).Replace("<DOCCreator>", DOCCreator).Replace("<UserName>", updater);
            DBUtility.ExeLocalSqlNoRes(sql2);

            if (ret.Count > 0)
            {
                if (string.Compare(ret[0].DOCType, ShareDocType.ISSUE, true) == 0)
                {
                    var issue = IssueViewModels.RetrieveIssueByIssueKey(ret[0].DOCKey, ctrl);
                    if (issue != null)
                    {
                        var Summary = issue.Summary;
                        var DocURL  = "/Issue/UpdateIssue?issuekey=" + ret[0].DOCKey;
                        UserKPIVM.AddUserDailyRank(ret[0].DOCKey, issue.Assignee, UserRankType.VOTE, "Like your task analyse: " + Summary, DocURL, 1);
                    }
                }
                else if (string.Compare(ret[0].DOCType, ShareDocType.DEBUG, true) == 0)
                {
                    var debugtree = ProjectErrorViewModels.RetrieveErrorByErrorKey(ret[0].DOCKey, ctrl);
                    var Summary   = debugtree[0].ProjectKey + "-" + debugtree[0].OrignalCode;
                    var DocURL    = "/Project/UpdateProjectError?ErrorKey=" + ret[0].DOCKey;

                    UserKPIVM.AddUserDailyRank(ret[0].DOCKey, ret[0].DOCCreator, UserRankType.VOTE, "Like your Debug Tree analyse: " + Summary, DocURL, 1);
                }
                else if (string.Compare(ret[0].DOCType, ShareDocType.DOCUMENT, true) == 0)
                {
                    var Summary = ret[0].DOCKey;

                    var DocURL = "/User/WebDoc?DocKey=" + ret[0].DOCKey + "&Creator=" + ret[0].DOCCreator;
                    if (!string.IsNullOrEmpty(ret[0].BACKLink))
                    {
                        UserKPIVM.AddUserAttachDailyRank(ret[0].DocID, ret[0].DOCCreator, UserRankType.VOTE, "Like your technical document: " + Summary, ret[0].BACKLink, 1, ret[0].DOCKey, ctrl);
                    }
                    else
                    {
                        UserKPIVM.AddUserAttachDailyRank(ret[0].DocID, ret[0].DOCCreator, UserRankType.VOTE, "Like your technical document: " + Summary, DocURL, 1, ret[0].DOCKey, ctrl);
                    }
                }
                else if (string.Compare(ret[0].DOCType, ShareDocType.BLOG, true) == 0)
                {
                    var vm     = UserBlogVM.RetrieveBlogDoc(ret[0].DOCKey, ctrl);
                    var DocURL = "/User/WebDoc?DocKey=" + ret[0].DOCKey;
                    UserKPIVM.AddUserDailyRank(ret[0].DOCKey, ret[0].DOCCreator, UserRankType.VOTE, "Like your blog: " + vm.Title, DocURL, 1);
                }
            }
        }