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); }
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); }
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); }
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); } } }