public new void OnClick(View v) { if (v.Tag != null) { NewsActivity.Start(context, Convert.ToInt32(v.Tag.ToString())); } }
public IActionResult Favorite() { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(RedirectToAction("Login", "Accounts")); } string idParam = this.RouteData.Values["id"].ToString(); NewsActivity model = null; if (idParam != null && idParam != string.Empty) { int recordId = Int32.Parse(idParam); model = this._context.NewsActivities.Where(a => a.ID == recordId).FirstOrDefault(); if (model == null) { ModelState.AddModelError("Error", "ไม่พบข้อมูล"); } else { model.IsFavorite = !model.IsFavorite; this._context.SaveChanges(); } } return(RedirectToAction("Index")); }
public void OnClick(View v) { if (v.Tag != null) { switch (position) { case 0: ArticleActivity.Start(context, Convert.ToInt32(v.Tag.ToString())); break; case 1: NewsActivity.Start(context, Convert.ToInt32(v.Tag.ToString())); break; case 2: KbArticleActivity.Start(context, Convert.ToInt32(v.Tag.ToString())); break; case 3: var tag = v.Tag.ToString(); var id = tag.Substring(tag.LastIndexOf("/") + 1); QuestionActivity.Start(context, Convert.ToInt32(id)); break; default: break; } } }
private void CreateLayout() { double num = 0.0; for (int index = 0; index < this._activityItems.Count; ++index) { NewsActivity activityItem = this._activityItems[index]; bool flag = index == this._activityItems.Count - 1; num += this.CreateActivityItem(activityItem, !flag); } this._height = num; }
public IActionResult Create() { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(RedirectToAction("Login", "Accounts")); } var model = new NewsActivity(); model.Status = StatusType.Active; ViewBag.ListGroup = this._context.NewsActivityGroups.Where(w => w.Status == StatusType.Active).OrderBy(o => o.Index); return(View("NewsActivityInfo", model)); }
public async Task <JsonResult> Image(NewsActivity model, IFormFile file) { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(Json(new { responseCode = "-403", responseDesc = "คุณไม่มีสิทธิ์เข้าถึงระบบ", })); } if (file != null && model.ID > 0) { var news = this._context.NewsActivities.Where(w => w.ID == model.ID).FirstOrDefault(); if (news != null) { var dateformat = DateUtil.ToInternalDateTime(DateUtil.Now()); var webRoot = Directory.GetCurrentDirectory() + "\\wwwroot\\images\\NewsActivityGallery\\" + model.ID + "\\"; if (!Directory.Exists(webRoot)) { Directory.CreateDirectory(webRoot); } if (file.Length > 0) { var img = new NewsActivityImage() { NewsActivityID = model.ID, }; this._context.NewsActivityImages.Add(img); this._context.SaveChanges(); string extension = Path.GetExtension(file.FileName); var filename = webRoot + img.ID + dateformat + extension; using (var fileStream = new FileStream(Path.Combine(webRoot, filename), FileMode.Create)) { await file.CopyToAsync(fileStream); } filename = filename.Replace(Directory.GetCurrentDirectory() + "\\wwwroot", "~"); filename = filename.Replace("\\", "/"); img.Url = filename; this._context.SaveChanges(); } } } return(Json(new { responseCode = "200", responseDesc = "SUCCESS", })); }
public IActionResult MoveUp() { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(RedirectToAction("Login", "Accounts")); } string idParam = this.RouteData.Values["id"].ToString(); NewsActivity model = null; if (idParam != null && idParam != string.Empty) { int recordId = Int32.Parse(idParam); model = this._context.NewsActivities.Where(a => a.ID == recordId).FirstOrDefault(); if (model == null) { ModelState.AddModelError("Error", "ไม่พบข้อมูล"); } else { var latestindex = this._context.NewsActivities.Where(w => w.Index < model.Index).OrderByDescending(o => o.Index).FirstOrDefault(); var i = 1; foreach (var item in this._context.NewsActivities.OrderBy(o => o.Index)) { if (latestindex != null && latestindex.ID == item.ID) { latestindex.Index = i + 1; } else if (latestindex != null && model.ID == item.ID) { item.Index = i; i += 2; } else { item.Index = i; i++; } } this._context.SaveChanges(); } } return(RedirectToAction("Index")); }
public IActionResult Delete() { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(RedirectToAction("Login", "Accounts")); } string idParam = this.RouteData.Values["id"].ToString(); NewsActivity model = null; if (idParam != null && idParam != string.Empty) { int recordId = Int32.Parse(idParam); model = this._context.NewsActivities.Include(i => i.NewsActivityImages).Where(a => a.ID == recordId).FirstOrDefault(); if (model == null) { ModelState.AddModelError("Error", "ไม่พบข้อมูล"); } else { if (model.NewsActivityImages.Count() > 0) { this._context.NewsActivityImages.RemoveRange(model.NewsActivityImages); var webRoot = Directory.GetCurrentDirectory() + "\\wwwroot\\images\\NewsActivityGallery\\" + model.ID + "\\"; if (Directory.Exists(webRoot)) { DirectoryInfo dir = new DirectoryInfo(webRoot); foreach (FileInfo fi in dir.GetFiles()) { fi.IsReadOnly = false; fi.Delete(); } Directory.Delete(webRoot); } } this._context.NewsActivities.Remove(model); this._context.SaveChanges(); var mwebRoot = Directory.GetCurrentDirectory() + "\\wwwroot"; var filename = model.ImgUrl; if (!string.IsNullOrEmpty(filename)) { filename = filename.Replace("~", mwebRoot); filename = filename.Replace("/", "\\"); if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } } filename = model.VideoUrl; if (!string.IsNullOrEmpty(filename)) { filename = filename.Replace("~", mwebRoot); filename = filename.Replace("/", "\\"); if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } } var i = 1; foreach (var item in this._context.NewsActivities.OrderBy(o => o.Index)) { item.Index = i; i++; } this._context.SaveChanges(); } } return(RedirectToAction("Index")); }
public async Task <IActionResult> Modify(NewsActivity model, IFormFile file, IFormFile video) { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(RedirectToAction("Login", "Accounts")); } if (ModelState.IsValid) { model.StartDate = DateUtil.ToDate(model.sDate); model.EndDate = DateUtil.ToDate(model.eDate); var dateformat = DateUtil.ToInternalDateTime(DateUtil.Now()); if (model.ID <= 0) { model.Create_On = DateUtil.Now(); model.Create_By = this.HttpContext.User.Identity.Name; model.Update_On = DateUtil.Now(); model.Update_By = this.HttpContext.User.Identity.Name; model.Index = 1; if (this._context.NewsActivities.Count() > 0) { var lastindex = this._context.NewsActivities.Max(s => s.Index); if (lastindex > 0) { model.Index = lastindex + 1; } } this._context.NewsActivities.Add(model); this._context.SaveChanges(); if (file != null) { var webRoot = Directory.GetCurrentDirectory() + "\\wwwroot\\images\\NewsActivity\\"; string extension = Path.GetExtension(file.FileName); var filename = webRoot + model.ID + dateformat + extension; using (var fileStream = new FileStream(Path.Combine(webRoot, filename), FileMode.Create)) { await file.CopyToAsync(fileStream); } filename = filename.Replace(Directory.GetCurrentDirectory() + "\\wwwroot", "~"); filename = filename.Replace("\\", "/"); model.ImgUrl = filename; } if (video != null) { var webRoot = Directory.GetCurrentDirectory() + "\\wwwroot\\images\\NewsActivity\\"; string extension = Path.GetExtension(video.FileName); var filename = webRoot + "video" + model.ID + dateformat + extension; using (var fileStream = new FileStream(Path.Combine(webRoot, filename), FileMode.Create)) { await video.CopyToAsync(fileStream); } filename = filename.Replace(Directory.GetCurrentDirectory() + "\\wwwroot", "~"); filename = filename.Replace("\\", "/"); model.VideoUrl = filename; } this._context.SaveChanges(); return(RedirectToAction("Update", new { id = model.ID, imgfocus = true })); } else { model.Update_On = DateUtil.Now(); model.Update_By = this.HttpContext.User.Identity.Name; if (file != null) { if (!string.IsNullOrEmpty(model.ImgUrl)) { var mwebRoot = Directory.GetCurrentDirectory() + "\\wwwroot"; var mfilename = model.ImgUrl.Replace("~", mwebRoot); mfilename = mfilename.Replace("/", "\\"); if (System.IO.File.Exists(mfilename)) { System.IO.File.Delete(mfilename); } } var webRoot = Directory.GetCurrentDirectory() + "\\wwwroot\\images\\NewsActivity\\"; string extension = Path.GetExtension(file.FileName); var filename = webRoot + model.ID + dateformat + extension; using (var fileStream = new FileStream(Path.Combine(webRoot, filename), FileMode.Create)) { await file.CopyToAsync(fileStream); } filename = filename.Replace(Directory.GetCurrentDirectory() + "\\wwwroot", "~"); filename = filename.Replace("\\", "/"); model.ImgUrl = filename; } if (video != null) { var webRoot = Directory.GetCurrentDirectory() + "\\wwwroot\\images\\NewsActivity\\"; if (!string.IsNullOrEmpty(model.VideoUrl)) { var mwebRoot = Directory.GetCurrentDirectory() + "\\wwwroot"; var mfilename = model.VideoUrl.Replace("~", mwebRoot); mfilename = mfilename.Replace("/", "\\"); if (System.IO.File.Exists(mfilename)) { System.IO.File.Delete(mfilename); } } string extension = Path.GetExtension(video.FileName); var filename = webRoot + "video" + model.ID + dateformat + extension; using (var fileStream = new FileStream(Path.Combine(webRoot, filename), FileMode.Create)) { await video.CopyToAsync(fileStream); } filename = filename.Replace(Directory.GetCurrentDirectory() + "\\wwwroot", "~"); filename = filename.Replace("\\", "/"); model.VideoUrl = filename; } this._context.Update(model); this._context.SaveChanges(); return(RedirectToAction("Index")); } } ViewBag.ListGroup = this._context.NewsActivityGroups.Where(w => w.Status == StatusType.Active).OrderBy(o => o.Index); return(View("NewsActivityInfo", model)); }
private double CreateActivityItem(NewsActivity activity, bool addSeparator) { VirtualizableItemBase virtualizableItemBase = (VirtualizableItemBase)null; switch (activity.Type) { case NewsActivityType.likes: virtualizableItemBase = this._createdItems.FirstOrDefault <KeyValuePair <NewsActivity, VirtualizableItemBase> >((Func <KeyValuePair <NewsActivity, VirtualizableItemBase>, bool>)(i => { if (i.Key.likes != null) { return(i.Key.likes == activity.likes); } return(false); })).Value; break; case NewsActivityType.comment: virtualizableItemBase = this._createdItems.FirstOrDefault <KeyValuePair <NewsActivity, VirtualizableItemBase> >((Func <KeyValuePair <NewsActivity, VirtualizableItemBase>, bool>)(i => { if (i.Key.comment != null) { return(i.Key.comment == activity.comment); } return(false); })).Value; break; } if (virtualizableItemBase == null) { switch (activity.Type) { case NewsActivityType.likes: virtualizableItemBase = (VirtualizableItemBase) new UCItem(this.Width, new Thickness(), (Func <UserControlVirtualizable>)(() => { VKClient.Common.UC.NewsActivityLikesUC newsActivityLikesUc = new VKClient.Common.UC.NewsActivityLikesUC(); double width = this.Width; NewsActivityLikes likes = activity.likes; List <User> users = this._users; int num = addSeparator ? 1 : 0; newsActivityLikesUc.Initialize(width, likes, users, num != 0); EventHandler <System.Windows.Input.GestureEventArgs> eventHandler = (EventHandler <System.Windows.Input.GestureEventArgs>)((sender, e) => { e.Handled = (true); Action likesTapAction = this._likesTapAction; if (likesTapAction == null) { return; } likesTapAction(); }); ((UIElement)newsActivityLikesUc).Tap += (eventHandler); return((UserControlVirtualizable)newsActivityLikesUc); }), (Func <double>)(() => VKClient.Common.UC.NewsActivityLikesUC.CalculateHeight(this.Width, activity.likes, this._users)), null, 0.0, false); break; case NewsActivityType.comment: virtualizableItemBase = (VirtualizableItemBase) new UCItem(this.Width, new Thickness(), (Func <UserControlVirtualizable>)(() => { VKClient.Common.UC.NewsActivityCommentUC activityCommentUc = new VKClient.Common.UC.NewsActivityCommentUC(); NewsActivityComment comment = activity.comment; List <User> users = this._users; List <Group> groups = this._groups; int num = addSeparator ? 1 : 0; activityCommentUc.Initialize(comment, (IEnumerable <User>)users, (IEnumerable <Group>)groups, num != 0); EventHandler <System.Windows.Input.GestureEventArgs> eventHandler = (EventHandler <System.Windows.Input.GestureEventArgs>)((sender, e) => { e.Handled = (true); Action commentsTapAction = this._commentsTapAction; if (commentsTapAction == null) { return; } commentsTapAction(); }); ((UIElement)activityCommentUc).Tap += (eventHandler); return((UserControlVirtualizable)activityCommentUc); }), (Func <double>)(() => VKClient.Common.UC.NewsActivityCommentUC.CalculateHeight(activity.comment)), null, 0.0, false); break; default: return(0.0); } this.VirtualizableChildren.Add((IVirtualizable)virtualizableItemBase); if (!this._createdItems.ContainsKey(activity)) { this._createdItems.Add(activity, virtualizableItemBase); } else { this._createdItems[activity] = virtualizableItemBase; } } return(virtualizableItemBase.FixedHeight); }