public IViewComponentResult Invoke() { var eventCookie = new EventCookieModel(); var eventInfo = new EventHeaderInfo(); var cookie = HttpContext.Request.Cookies.Where(q => q.Key.Contains(Constants.EventCookie)).LastOrDefault(); if (!string.IsNullOrEmpty(cookie.Value)) { eventCookie = JsonConvert.DeserializeObject <EventCookieModel>(cookie.Value); } else { var eventCode = HttpContext.User.FindFirstValue(ClaimTypes.Name); var eventLoadedInfo = _unitOfWork.MstEventRepository.LoadEventInfoByCode(eventCode); HttpContext.Response.Cookies.Append(Constants.EventCookie, eventLoadedInfo.Message, new CookieOptions { Expires = DateTimeOffset.Now.AddMonths(1) }); eventCookie = JsonConvert.DeserializeObject <EventCookieModel>(eventLoadedInfo.Message); } eventInfo.EventName = eventCookie.Name; eventInfo.Eventdate = eventCookie.EventTime; return(View("_LayoutHeaderPartial", eventInfo)); }
public AjaxResponseModel LoadEventInfoByCode(string eventCode) { eventCode = eventCode.Replace(Constants.SurveyUserName, "").Replace(Constants.SurveyUserName.ToLower(), ""); var entity = _context.MstEvents.Where(q => q.ApplicationUser.UserName == eventCode).FirstOrDefault(); if (entity == null) { return(new AjaxResponseModel(false, null)); } EventCookieModel eventVM = new EventCookieModel { Cd = entity.Cd, EventCode = entity.Code, StartDate = entity.StartDate.ToString(), EndDate = entity.EndDate.ToString(), EventTime = string.Format("初日 {0}({1})|最終日 {2}({3})", entity.StartDate?.ToString(Constants.ExactDateFormat) , Commons.GetDayOfWeekJP(entity.StartDate) , entity.EndDate?.ToString(Constants.ExactDateFormat) , Commons.GetDayOfWeekJP(entity.EndDate)), ApplicationUserId = entity.ApplicationUserId, Name = entity.Name }; string result = Newtonsoft.Json.JsonConvert.SerializeObject(eventVM); return(new AjaxResponseModel(true, result.ToString())); }