public JsonResult AllData() { var vm = new List <LinkVM>(); var ckdict = CookieUtility.UnpackCookie(this); if (!ckdict.ContainsKey("reqmachine")) { string IP = Request.UserHostName; string compName = DetermineCompName(IP); if (!string.IsNullOrEmpty(compName)) { var tempdict = new Dictionary <string, string>(); tempdict.Add("reqmachine", compName); CookieUtility.SetCookie(this, tempdict); } //end if vm = LinkVM.RetrieveLinks(); } //end else { vm = RetrieveAllLinks(ckdict["reqmachine"]); } var res = new JsonResult(); res.Data = new { data = vm }; res.JsonRequestBehavior = JsonRequestBehavior.AllowGet; return(res); }
//========== #region auto log in public override void OnActionExecuting(ActionExecutingContext context) { var provider = ServiceCollectionExtension.Get <IActionDescriptorCollectionProvider>(); var desc1 = (context.ActionDescriptor as ControllerActionDescriptor); var desc2 = provider.ActionDescriptors.Items.Cast <ControllerActionDescriptor>() .Where(t => t.MethodInfo.GetCustomAttribute <ActionAttribute>() != null && t.DisplayName == desc1.DisplayName).FirstOrDefault(); var desc3 = desc2 ?? desc1; var action = desc3.MethodInfo.GetCustomAttribute <ActionAttribute>(); if (action != null) { var actions = ServiceCollectionExtension.Get <IPermissionService>(); if (actions != null && !actions.HasPermission(context, desc3.Id)) { return; } } if (desc3.ActionName == "Index" && desc3.ControllerName == "Home") { if (User.Identity.IsAuthenticated) { string path = HttpContext.Request.Query["from"]; if (string.IsNullOrEmpty(path)) { path = CookieUtility.GetCookie(TbConstant.LAST_LOGIN_PATH); } if (!string.IsNullOrEmpty(path) && path != "/") { context.Result = Redirect(path); } } } base.OnActionExecuting(context); }
/// <summary> /// 用户退出 /// </summary> /// <returns></returns> public ResponsResult LogoutUser() { ResponsResult result = new ResponsResult(); CookieUtility.RemoveCookie(TbConstant.WEBSITE_AUTHENTICATION_SCHEME); return(result); }
public ActionResult UserBookedReport(string username) { var ck = new Dictionary <string, string>(); ck.Add("logonuser", username); CookieUtility.SetCookie(this, ck); return(RedirectToAction("ViewReport")); }
/// <summary> /// 获取后台用户登录Cookie信息 /// </summary> /// <returns></returns> public BackstageCookie GetUserCook() { string cookie = ServiceCollectionExtension.Decrypt(CookieUtility.GetCookie(TbConstant.WEBSITE_AUTHENTICATION_SCHEME)); BackstageCookie back = new BackstageCookie(); back = cookie.GetModel <BackstageCookie>(); return(back); }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (string.IsNullOrEmpty(CookieUtility.GetCookie("loginuser"))) { Response.Redirect("~/login/index"); } base.OnActionExecuting(filterContext); }
public IActionResult ValidateCode() { ValidateCode _vierificationCodeServices = new ValidateCode(); string code = ""; System.IO.MemoryStream ms = _vierificationCodeServices.Create(out code); CookieUtility.AppendCookie(TbConstant.WEBSITE_VERIFICATION_CODE, ServiceCollectionExtension.Encrypt(code)); return(File(ms.ToArray(), @"image/png")); }
public ActionResult IBookPost() { var ckdict = CookieUtility.UnpackCookie(this); var updater = ckdict["logonuser"].Split(new char[] { '|' })[0]; var vm = new PJReportViewModels(); vm.username = updater; for (var i = 0; i < 20; i++) { if (Request.Form["pckbox" + i] != null && string.Compare(Request.Form["pckbox" + i], "true", true) == 0) { vm.ProjectList.Add(Request.Form["PJKEY" + i]); } } for (var i = 0; i < 20; i++) { if (Request.Form["rckbox" + i] != null && string.Compare(Request.Form["rckbox" + i], "true", true) == 0) { vm.ReportTypeList.Add(Request.Form["RPType" + i]); } } vm.reporttime = Request.Form["ReportTimeList"].ToString(); vm.lastupdatetime = DateTime.Now; vm.StoreBookReportRecord(); ViewBag.PJList = ProjectViewModels.RetrieveAllProjectKey(); var temptypelist = new List <string>(); temptypelist.Add(PJReportType.YieldTrend); temptypelist.Add(PJReportType.IssueTrend); temptypelist.Add(PJReportType.FailureTrend); temptypelist.Add(PJReportType.MonthlyPareto); ViewBag.RepTypeList = temptypelist; vm = PJReportViewModels.RetrieveBookReportRecord(updater); var rsilist = new List <string>(); string[] rlist = { ReportSelectTime.MON, ReportSelectTime.TUE, ReportSelectTime.WEN, ReportSelectTime.THU, ReportSelectTime.FRI, ReportSelectTime.SAT, ReportSelectTime.SUN, ReportSelectTime.EVE }; rsilist.AddRange(rlist); if (vm != null) { ViewBag.ReportTimeList = CreateSelectList(rsilist, vm.reporttime); } else { ViewBag.ReportTimeList = CreateSelectList(rsilist, ""); } return(RedirectToAction("ViewReport")); }
/// <summary> /// 后端用户登录操作 /// </summary> /// <param name="model">AccountViewModel实体</param> /// <returns></returns> public ResponsResult Login(BackstageUserAdd model) { ResponsResult result = new ResponsResult(); string sessionCode = string.Empty; try { var code = CookieUtility.GetCookie(TbConstant.WEBSITE_VERIFICATION_CODE); if (code != null) { sessionCode = ServiceCollectionExtension.Decrypt(code); } } catch (Exception ex) { Log4Net.Debug(ex); } if (model.ErrCount >= 3) { if (!model.VerCode.ToString().ToLower().Equals(sessionCode.ToLower())) { return(result.SetStatus(ErrorCode.NotFound, "验证码输入不正确!")); } } BackstageUser account = this.First <BackstageUser>(t => t.LoginName == model.LoginName); if (account == null) { return(result.SetStatus(ErrorCode.NotFound, "账号不存在!")); } string pwd = Security.MD5(model.Password); if (!account.Password.Equals(pwd, StringComparison.OrdinalIgnoreCase)) { return(result.SetStatus(ErrorCode.InvalidPassword)); } switch (account.AccountStatus) { case (int)AccountStatus.Disabled: return(result.SetStatus(ErrorCode.AccountDisabled, "账号不可用!")); } account.LastLoginTime = DateTime.Now; account.LastLoginIp = ""; this.Update(account, true); MvcIdentity identity = new MvcIdentity(account.Id, account.LoginName, account.LoginName, account.Email, (int)account.AccountType, null, account.LastLoginTime); identity.Login(TbConstant.WEBSITE_AUTHENTICATION_SCHEME, x => { x.Expires = DateTime.Now.AddHours(25);//滑动过期时间 x.HttpOnly = true; }); return(result); }
public async Task <IActionResult> CreatUser([FromBody] UserModel userModel) { if (userModel.IsValid()) { // add to the db UserAPI.CreateUser(this._settings.Value.API.UserAPI, userModel); // set the cookie CookieUtility.SetEmail(this.HttpContext, userModel.Email); } return(Json(userModel)); }
public async Task <ActionResult> Refresh() { // Retrieve the application_token from cookies string expiredJwt = Request.Cookies.SingleOrDefault(cookie => cookie.Key == TokenOptionsStrings.ApplicationToken).Value; ClaimsPrincipal principal = this._token.GetPrincipalFromExpiredToken(expiredJwt); string userName = principal.Identity.Name; ApplicationUser user = _userManager.Users.SingleOrDefault(u => u.UserName == userName); if (user == null) { return(BadRequest(Errors.AddErrorToModelState(ErrorCodes.UserNotFound, ErrorDescriptions.UserNotFoundFailure, ModelState))); } string refreshToken = await _userManager.GetAuthenticationTokenAsync(user, TokenOptionsStrings.RefreshTokenProvider, TokenOptionsStrings.RefreshToken); // if the refresh token is invalid, I don't have a nice way of handling it on the client. For now we will ignore and assume its always valid // Validate Refresh Token is still valid //bool isValid = await _userManager.VerifyUserTokenAsync(user, TokenOptionsStrings.RefreshTokenProvider, TokenOptionsStrings.RefreshToken, refreshToken); //if (!isValid) //{ // return BadRequest(Errors.AddErrorToModelState(ErrorCodes.RefreshToken, ErrorDescriptions.RefreshTokenFailure, ModelState)); //} ClaimsIdentity identity = await _getIdentity.GenerateClaimsIdentity(user); if (identity == null) { return(BadRequest(Errors.AddErrorToModelState(ErrorCodes.RefreshToken, ErrorDescriptions.RefreshTokenFailure, ModelState))); } // Remove old refresh token from the database await _userManager.RemoveAuthenticationTokenAsync(user, TokenOptionsStrings.RefreshTokenProvider, TokenOptionsStrings.RefreshToken); // Generate a new one string newRefreshToken = await _userManager.GenerateUserTokenAsync(user, TokenOptionsStrings.RefreshTokenProvider, TokenOptionsStrings.RefreshToken); // Set it in the database await _userManager.SetAuthenticationTokenAsync(user, TokenOptionsStrings.RefreshTokenProvider, TokenOptionsStrings.RefreshToken, newRefreshToken); // Generate new jwt ApplicationToken token = await Token.GenerateJwt(user.UserName, identity, this._jwtFactory, this._jwtOptions, this._jsonSerializerSettings); CookieUtility.RemoveCookie(Response, TokenOptionsStrings.ApplicationToken); CookieUtility.GenerateHttpOnlyCookie(Response, TokenOptionsStrings.ApplicationToken, token); return(new OkObjectResult(token)); }
public JsonResult NeverShowIE8Modal() { var ckdict = CookieUtility.UnpackCookie(this); if (ckdict.ContainsKey("reqmachine")) { var ReqMachine = ckdict["reqmachine"]; MachineLink.NeverShowIE8Modal(ReqMachine); } var res = new JsonResult(); res.Data = new { success = true }; return(res); }
public override void OnActionExecuted(ActionExecutedContext context) { if (context.Filters.Any(item => item is IAllowAnonymousFilter)) { base.OnActionExecuted(context); return; } var action = context.ActionDescriptor as ControllerActionDescriptor; if (!context.HttpContext.IsAjaxRequest() && !action.ActionName.Equals("Index", StringComparison.OrdinalIgnoreCase) && !action.ControllerName.Equals("webapi", StringComparison.OrdinalIgnoreCase)) { CookieUtility.AppendCookie(TbConstant.LAST_LOGIN_PATH, HttpContext.Request.Path); } base.OnActionExecuted(context); }
public void ToCookie() { StringBuilder builder = new StringBuilder(); builder.Append(this.UserId); builder.Append(Seperator.FirstChar); builder.Append(this.UserName); builder.Append(Seperator.FirstChar); builder.Append(this.Role); builder.Append(Seperator.FirstChar); builder.Append(this.Status); builder.Append(Seperator.FirstChar); builder.Append(this.CreateDate); CookieUtility.Set(CookieNames.USERINFO, builder.ToString()); }
public override async Task InitAsync() { await base.InitAsync(); var cookies = new List <string>(); for (int i = 1; i < CookieCount; i++) { var result = await $"{BaseUrl}/login/cookie?uid=testuser{i}".CreateHttpRequest().TryGetAsStringAsync(); var cookie = CookieUtility.Clean(result.ResponseMessage.GetCookie()); cookies.Add(cookie); } _cookies = cookies.ToArray(); }
public JsonResult RemoveCustomLink() { var linkname = Request.Form["link_name"]; var vm = new List <LinkVM>(); var machine = string.Empty; var ckdict = CookieUtility.UnpackCookie(this); if (!ckdict.ContainsKey("reqmachine")) { string IP = Request.UserHostName; string compName = DetermineCompName(IP); if (!string.IsNullOrEmpty(compName)) { var tempdict = new Dictionary <string, string>(); tempdict.Add("reqmachine", compName); machine = compName; CookieUtility.SetCookie(this, tempdict); } //end if vm = LinkVM.RetrieveLinks(); } //end else { vm = RetrieveAllLinks(ckdict["reqmachine"]); machine = ckdict["reqmachine"]; } var validlink = string.Empty; foreach (var item in vm) { if (string.Compare(linkname, item.LinkName) == 0) { validlink = item.Link; if (!string.IsNullOrEmpty(machine)) { MachineLink.RemoveCustomLink(item.LinkName, item.Link, item.Logo, item.Comment, machine); } break; } } var res = new JsonResult(); res.Data = new { success = true }; return(res); }
// GET: DashBoard public ActionResult SystemBoard() { var systemeventlist = ProjectEvent.RetrieveEvent(30); ViewBag.assignedtasklist = new List <IssueViewModels>(); var ckdict = CookieUtility.UnpackCookie(this); if (ckdict.ContainsKey("logonuser") && !string.IsNullOrEmpty(ckdict["logonuser"])) { var usernm = ckdict["logonuser"].Split(new char[] { '|' })[0]; ViewBag.assignedtasklist = IssueViewModels.RetrieveIssueByAssignee(usernm, Resolute.Pending, 60); } return(View(systemeventlist)); }
public ActionResult Index() { if (User.Identity.IsAuthenticated) { string path = HttpContext.Request.Query["from"]; if (string.IsNullOrEmpty(path)) { path = CookieUtility.GetCookie(TbConstant.LAST_LOGIN_PATH); } if (!string.IsNullOrEmpty(path) && path != "/") { return(Redirect(System.Web.HttpUtility.UrlDecode(path))); } } return(View()); }
public static string IsSingleLogin() { string result = string.Empty; Hashtable hOnline = (Hashtable)HttpContext.Current.Application["Online"]; bool isHaveGuid = true; string strGUId = string.Empty; if (HttpContext.Current.Session[Config.sessionUserGUID] == null) { if (CookieUtility.Get(Config.cookiesUserGUID) == null) { result = "请重新登录"; isHaveGuid = false; } else { strGUId = CookieUtility.GetValue(Config.cookiesUserGUID); } } else { strGUId = HttpContext.Current.Session[Config.sessionUserGUID].ToString(); } if (hOnline != null && isHaveGuid) { IDictionaryEnumerator idE = hOnline.GetEnumerator(); while (idE.MoveNext()) { if (idE.Key != null && idE.Key.ToString().Equals(strGUId)) { //already login if (idE.Value != null && "XXXXXX".Equals(idE.Value.ToString())) { hOnline.Remove(strGUId); HttpContext.Current.Application.Lock(); HttpContext.Current.Application["Online"] = hOnline; HttpContext.Current.Application.UnLock(); result = "你的帐号已在别处登陆,你被强迫下线!"; } break; } } } return(result); }
/// <summary> /// Gets if the user is in the cookie and is in the db /// </summary> /// <returns></returns> private async Task <string> GetUserEmail() { // check if the cookie exists and whats the email in the cookie string result = CookieUtility.GetEmail(this.HttpContext); if (!String.IsNullOrEmpty(result)) { UserModel user = await UserAPI.GetUserByEmail(this._settings.Value.API.UserAPI, result); // if the user dosnt exists we set the result as empy as the cookie user is not a valid user if (user == null) { result = String.Empty; } } return(result); }
// GET: PJReport public ActionResult ITag() { var ckdict = CookieUtility.UnpackCookie(this); if (ckdict.ContainsKey("logonuser") && !string.IsNullOrEmpty(ckdict["logonuser"])) { } else { var ck = new Dictionary <string, string>(); ck.Add("logonredirectctrl", "PJReport"); ck.Add("logonredirectact", "ITag"); CookieUtility.SetCookie(this, ck); return(RedirectToAction("LoginUser", "User")); } ViewBag.PJList = ProjectViewModels.RetrieveAllProjectKey(); var temptypelist = new List <string>(); temptypelist.Add(PJReportType.YieldTrend); temptypelist.Add(PJReportType.IssueTrend); temptypelist.Add(PJReportType.FailureTrend); temptypelist.Add(PJReportType.MonthlyPareto); ViewBag.RepTypeList = temptypelist; var username = ckdict["logonuser"].Split(new char[] { '|' })[0]; var vm = PJReportViewModels.RetrieveBookReportRecord(username); var rsilist = new List <string>(); string[] rlist = { ReportSelectTime.MON, ReportSelectTime.TUE, ReportSelectTime.WEN, ReportSelectTime.THU, ReportSelectTime.FRI, ReportSelectTime.SAT, ReportSelectTime.SUN, ReportSelectTime.EVE }; rsilist.AddRange(rlist); if (vm != null) { ViewBag.ReportTimeList = CreateSelectList(rsilist, vm.reporttime); } else { ViewBag.ReportTimeList = CreateSelectList(rsilist, ""); } return(View(vm)); }
internal static async Task <HttpResponseMessage> InternalExecuteWithAutoRedirectCoreAsync(this HttpMessageInvoker messageInvoker, IHttpRequest request, CancellationToken token) { Uri?redirectUri; HttpResponseMessage tmpResponse = null !; var innerRequest = request.GetHttpRequestMessage(); for (int i = 0; i <= request.MaxAutomaticRedirections; i++) { tmpResponse = await messageInvoker.SendAsync(innerRequest, token).ConfigureAwait(false); if ((redirectUri = tmpResponse.GetUriForRedirect(request.RequestUri)) != null) { var redirectRequest = new HttpRequestMessage(HttpMethod.Get, redirectUri); foreach (var item in innerRequest.Headers) { redirectRequest.Headers.Add(item.Key, item.Value); } if (tmpResponse.TryGetCookie(out var setCookie)) { if (innerRequest.TryGetCookie(out var cookie) && !string.IsNullOrWhiteSpace(cookie)) { cookie = CookieUtility.Merge(cookie, setCookie); } else { cookie = CookieUtility.Clean(setCookie); } redirectRequest.Headers.Remove(HttpHeaderDefinitions.Cookie); redirectRequest.Headers.TryAddWithoutValidation(HttpHeaderDefinitions.Cookie, cookie); } innerRequest.Dispose(); tmpResponse.Dispose(); innerRequest = redirectRequest; continue; } innerRequest.Dispose(); break; }
// GET: Login public ActionResult Index(UserInfo user) { if (!string.IsNullOrEmpty(CookieUtility.GetCookie("loginuser"))) { return(RedirectToAction("list", "business")); } if (user != null && user.UserName != null) { string userName = ConfigurationManager.AppSettings["UserName"]; string password = ConfigurationManager.AppSettings["Password"]; if (user.UserName.Trim() == userName && user.Password.Trim() == password) { CookieUtility.SetCookie("loginuser", userName, true); return(RedirectToAction("list", "business")); } } return(View()); }
protected void Page_Load(object sender, EventArgs e) { pnLogin.Visible = true; pnUserInfo.Visible = false; if (CookieUtility.GetCookie("Member_Email") != null) { if (MemberDB.GetIDByEmail(CookieUtility.GetCookie("Member_Email")) != 0) { MemberInfo info = MemberDB.GetInfoByEmail(CookieUtility.GetCookie("Member_Email")); if (info != null) { pnLogin.Visible = false; pnUserInfo.Visible = true; lnkMemberInfo.Text = info.Member_Fullname; lnkMemberInfo.NavigateUrl = lnkUserCP.NavigateUrl = AppEnv.WEB_CMD + "memberinfo&id=" + info.Member_ID; } } } }
public JsonResult AddCustomLink() { var mvm = new MachineLink(); mvm.Link = Request.Form["link"]; mvm.LinkName = Request.Form["link_name"]; mvm.Comment = Request.Form["comment"]; mvm.Logo = Request.Form["image_url"]; var ckdict = CookieUtility.UnpackCookie(this); if (ckdict.ContainsKey("reqmachine")) { mvm.ReqMachine = ckdict["reqmachine"]; MachineLink.StoreLink(mvm.LinkName, mvm.Link, mvm.Logo, mvm.Comment, mvm.ReqMachine); } var res = new JsonResult(); res.Data = new { success = true }; return(res); }
protected override void OnInit(EventArgs e) { //base.OnInit(e); //string returnUrl = Server.UrlEncode(Request.RawUrl); //if (AuthenticateUtility.IsAuthenticated()) //{ // if (UserDB.GetIDByEmail(AuthenticateUtility.GetUserEmail()) != 0) // { // if (CurrentAdminInfo == null) CurrentAdminInfo = UserDB.GetInfoByEmail(AuthenticateUtility.GetUserEmail()); // } // else Response.Redirect(AppEnv.ADMIN_PATH + "Login.aspx?returnurl=" + returnUrl); //} //else Response.Redirect(AppEnv.ADMIN_PATH + "Login.aspx?returnurl=" + returnUrl); base.OnInit(e); string returnUrl = Server.UrlEncode(Request.RawUrl); if (CookieUtility.GetCookie("User_Email") != null) { if (UserDB.GetIDByEmail(CookieUtility.GetCookie("User_Email")) != 0) { if (CurrentAdminInfo == null) { CurrentAdminInfo = UserDB.GetInfoByEmail(CookieUtility.GetCookie("User_Email")); } } else { Response.Redirect(AppEnv.ADMIN_PATH + "Login.aspx?returnurl=" + returnUrl); } } else { Response.Redirect(AppEnv.ADMIN_PATH + "Login.aspx?returnurl=" + returnUrl); } }
public void Logout(string scheme) { CookieUtility.RemoveCookie(scheme, true, ""); }
public virtual async Task OnAuthorizationAsync(AuthorizationFilterContext context) { if (context == null) { throw new ArgumentNullException("context"); } AuthorizationPolicy effectivePolicy = Policy; if (effectivePolicy == null) { if (PolicyProvider == null) { throw new InvalidOperationException("An AuthorizationPolicy cannot be created without a valid instance of IAuthorizationPolicyProvider."); } effectivePolicy = await AuthorizationPolicy.CombineAsync(PolicyProvider, AuthorizeData); } if (effectivePolicy != null) { MvcPrincipal newPrincipal = null; string currentScheme = effectivePolicy.AuthenticationSchemes.FirstOrDefault(); if (!string.IsNullOrEmpty(currentScheme)) { if (!(context.HttpContext.User.Identity is MvcIdentity) || !context.HttpContext.User.Identity.IsAuthenticated) { string cookie = CookieUtility.GetCookie(currentScheme, true); if (!string.IsNullOrEmpty(cookie)) { try { string value = ServiceCollectionExtension.Decrypt(cookie); MvcIdentity identity = JsonExtensions.GetModel <MvcIdentity>(value, ""); if (identity != null) { newPrincipal = identity.GetPrincipal(); } } catch { } } } else { newPrincipal = (context.HttpContext.User as MvcPrincipal); } } if (newPrincipal == null) { context.HttpContext.User = MvcIdentity.Instance.GetPrincipal(); } else { context.HttpContext.User = newPrincipal; } if (!context.Filters.Any((IFilterMetadata item) => item is IAllowAnonymousFilter)) { if (context.HttpContext.User.Identity.IsAuthenticated) { if (AuthorizeFilter == null) { AuthorizeFilter = ServiceProviderServiceExtensions.GetService <IAuthorizeFilter>(context.HttpContext.RequestServices); } if (AuthorizeFilter != null) { await AuthorizeFilter.OnAuthorizedAsync(context, currentScheme); } } else { context.Result = new ChallengeResult(effectivePolicy.AuthenticationSchemes.ToArray()); } } } }
public void Login(string scheme, Action <CookieOptions> options = null) { CookieUtility.AppendCookie(scheme, ServiceCollectionExtension.Encrypt(JsonConvert.SerializeObject(this)), true, options); }
public ActionResult ViewReport() { var ckdict = CookieUtility.UnpackCookie(this); if (ckdict.ContainsKey("logonuser") && !string.IsNullOrEmpty(ckdict["logonuser"])) { } else { var ck = new Dictionary <string, string>(); ck.Add("logonredirectctrl", "PJReport"); ck.Add("logonredirectact", "ViewReport"); CookieUtility.SetCookie(this, ck); return(RedirectToAction("LoginUser", "User")); } var updater = ckdict["logonuser"].Split(new char[] { '|' })[0]; var vm = PJReportViewModels.RetrieveBookReportRecord(updater); if (vm == null) { return(RedirectToAction("ITag")); } var pjreportdict = new Dictionary <string, PJReportItem>(); foreach (var pjkey in vm.ProjectList) { foreach (var reptype in vm.ReportTypeList) { if (string.Compare(reptype, PJReportType.YieldTrend) == 0) { ProjectController.ProjectWeeklyTrend(this, pjkey, 14); var reportitem = new PJReportItem(); if (!string.IsNullOrEmpty(this.ViewBag.chartscript)) { reportitem.YieldTrend = this.ViewBag.chartscript.Replace("weeklyyield", pjkey + "weeklyyield"); this.ViewBag.chartscript = null; if (!pjreportdict.ContainsKey(pjkey)) { pjreportdict.Add(pjkey, reportitem); } else { pjreportdict[pjkey].YieldTrend = reportitem.YieldTrend; } } } if (string.Compare(reptype, PJReportType.MonthlyPareto) == 0) { MonthlyPareto(pjkey); if (!string.IsNullOrEmpty(this.ViewBag.rparetoscript)) { if (pjreportdict.ContainsKey(pjkey)) { pjreportdict[pjkey].MonthlyPareto = ViewBag.rparetoscript.Replace("rparetochart", pjkey + "rparetochart"); ViewBag.rparetoscript = null; } else { var reportitem = new PJReportItem(); reportitem.MonthlyPareto = ViewBag.rparetoscript.Replace("rparetochart", pjkey + "rparetochart"); ViewBag.rparetoscript = null; pjreportdict.Add(pjkey, reportitem); } } } if (string.Compare(reptype, PJReportType.IssueTrend) == 0) { IssueCountTrend(pjkey); if (!string.IsNullOrEmpty(this.ViewBag.issuetrendscript)) { if (pjreportdict.ContainsKey(pjkey)) { pjreportdict[pjkey].IssueTrend = ViewBag.issuetrendscript.Replace("issuetrendchart", pjkey + "issuetrendchart"); ViewBag.issuetrendscript = null; } else { var reportitem = new PJReportItem(); reportitem.IssueTrend = ViewBag.issuetrendscript.Replace("issuetrendchart", pjkey + "issuetrendchart"); ViewBag.issuetrendscript = null; pjreportdict.Add(pjkey, reportitem); } } } if (string.Compare(reptype, PJReportType.FailureTrend) == 0) { var chartlist = PJFailureTrend(pjkey); for (var idx = 0; idx < chartlist.Count; idx++) { chartlist[idx] = chartlist[idx].Replace("#ElementID#", pjkey + "failuretrend" + idx); } if (pjreportdict.ContainsKey(pjkey)) { pjreportdict[pjkey].FailureTrends = chartlist; } else { var reportitem = new PJReportItem(); reportitem.FailureTrends = chartlist; pjreportdict.Add(pjkey, reportitem); } } } } ViewBag.ReportDict = pjreportdict; return(View()); }