public ActionResult _DiscussionReply() { var model = new DiscussionView(); ModelState.Clear(); return(PartialView(model)); }
DiscussionView EnsureView(View convertView) { DiscussionView view = convertView as DiscussionView; if (view == null) { view = new DiscussionView(context); } return(view); }
public async Task <ActionResult> View(int id) { var model = new DiscussionView(); model.NewDiscussionReply = new CreateCourseDiscussionPostModel(); model.Post = new List <DiscussionPostModel>(); model.Attachment = new List <DiscussionAttachment>(); model.Discussion = new Discussion(); var DiscussionResponse = await WepApiMethod.SendApiAsync <Discussion>(HttpVerbs.Get, $"eLearning/CourseDiscussion/GetDiscussion?id={id}"); if (DiscussionResponse.isSuccess) { model.Discussion = DiscussionResponse.Data; var PostResponse = await WepApiMethod.SendApiAsync <List <DiscussionPostModel> >(HttpVerbs.Get, $"eLearning/CourseDiscussion/GetPost?id={id}"); if (PostResponse.isSuccess) { model.Post = PostResponse.Data; } else { TempData["ErrorMessage"] = "Failed Load Discussion Thread"; return(RedirectToAction("List")); } var AttachmentResponse = await WepApiMethod.SendApiAsync <List <DiscussionAttachment> >(HttpVerbs.Get, $"eLearning/CourseDiscussion/GetAttachment?id={id}"); if (AttachmentResponse.isSuccess) { model.Attachment = AttachmentResponse.Data; } else { TempData["ErrorMessage"] = "Failed Load Discussion Thread"; return(RedirectToAction("List")); } model.NewDiscussionReply.DiscussionId = id; model.NewDiscussionReply.IsDeleted = false; model.NewDiscussionReply.Message = ""; model.NewDiscussionReply.UserId = CurrentUser.UserId; return(View(model)); } else { TempData["ErrorMessage"] = "Failed Load Discussion Thread"; return(RedirectToAction("List")); } }
public async Task <ActionResult> CreateNewComment(DiscussionView NewPost) { if (NewPost != null) { if (NewPost.NewDiscussionReply != null) { var DiscussionResponse = await WepApiMethod.SendApiAsync <DiscussionPost>(HttpVerbs.Get, $"eLearning/CourseDiscussion/GetParentPost?id={NewPost.NewDiscussionReply.ParentId}"); if (DiscussionResponse.isSuccess) { var parentPost = DiscussionResponse.Data; if (NewPost.NewDiscussionReply != null) { DateTime _now = DateTime.Now; DiscussionPost _post = new DiscussionPost(); _post.DiscussionId = parentPost.DiscussionId; _post.ParentId = parentPost.Id; _post.Topic = parentPost.Topic; _post.Message = NewPost.NewDiscussionReply.Message; _post.IsDeleted = false; _post.UserId = CurrentUser.UserId.Value; _post.CreatedBy = CurrentUser.UserId.Value; _post.CreatedDate = _now; _post.UpdatedBy = CurrentUser.UserId.Value; db.DiscussionPosts.Add(_post); db.SaveChanges(); return(RedirectToAction("View", new { id = parentPost.DiscussionId })); } } else { } } } return(RedirectToAction("List")); }
void FetchAvatar(string url, DiscussionView view, long version) { var data = faceCache.GetOrAdd(url, u => Task.Run(() => { u = ResizeUrl(u); var client = new WebClient(); try { return(client.DownloadData(u)); } catch { return(null); } })); if (data.IsCompleted && data.Result != null) { var avatar = view.FindViewById <ImageView> (Resource.Id.PostAvatar); var bmp = BitmapFactory.DecodeByteArray(data.Result, 0, data.Result.Length); bmp = ResizeBitmap(bmp); avatar.SetImageDrawable(new VignetteDrawable(bmp, withEffect: false)); } else { data.ContinueWith(t => { if (t.Result != null && view.VersionNumber == version) { var bmp = BitmapFactory.DecodeByteArray(data.Result, 0, data.Result.Length); bmp = ResizeBitmap(bmp); context.RunOnUiThread(() => { if (view.VersionNumber == version) { var avatar = view.FindViewById <ImageView> (Resource.Id.PostAvatar); avatar.SetImageDrawable(new VignetteDrawable(bmp, withEffect: false)); } }); } }); } }
public async Task <ActionResult> CreateNewReply(DiscussionView NewPost) { if (NewPost != null) { if (NewPost.NewDiscussionReply != null) { DateTime _now = DateTime.Now; int _attachmentId = 0; //int attachmentId = SaveAttachment(_now, Request.Files).Result; foreach (string file in Request.Files)// set 1 only { for (int i = 0; i < Request.Files.Count; i++) { var filex = Request.Files[i]; if (!String.IsNullOrEmpty(filex.FileName)) { var fileName = Path.GetFileName(filex.FileName); var fileId = _now.Ticks.ToString() + "_" + fileName; var fullPath = Path.Combine(StorageRoot, fileId); try { System.IO.Directory.CreateDirectory(StorageRoot); filex.SaveAs(fullPath); var attachment = new CreateCourseDiscussionAttachmentModel() { Id = 0, FileName = fileName, FileSize = filex.ContentLength, FileType = filex.ContentType, FilePath = @"~\App_Data\DiscussionAttachment\" + fileId, FileTag = "", FileNameOnStorage = fileId, CreatedBy = CurrentUser.UserId.Value, CreatedDate = _now, }; var attachmentresponse = await WepApiMethod.SendApiAsync <int>(HttpVerbs.Post, $"eLearning/CourseDiscussion/CreateAttachment", attachment); if (attachmentresponse.isSuccess) { _attachmentId = attachmentresponse.Data; } } catch { TempData["ErrorMessage"] = "Error save attachment"; //return RedirectToAction("List"); } } } } // add attachment // add reply (attach attachment id if any) DiscussionPost _post = new DiscussionPost(); _post.DiscussionId = NewPost.NewDiscussionReply.DiscussionId; _post.ParentId = null; _post.Topic = ""; _post.Message = NewPost.NewDiscussionReply.Message; _post.IsDeleted = false; _post.UserId = CurrentUser.UserId.Value; _post.CreatedBy = CurrentUser.UserId.Value; _post.CreatedDate = _now; _post.UpdatedBy = CurrentUser.UserId.Value; //db.DiscussionPosts.Add(_post); //db.SaveChanges(); var addNewReply = await WepApiMethod.SendApiAsync <DiscussionPost>(HttpVerbs.Post, $"eLearning/CourseDiscussion/AddDiscussionReply", _post); if (addNewReply.isSuccess) { var addedReply = addNewReply.Data; if (_attachmentId > 0) { var linkAttachment = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Post, $"eLearning/CourseDiscussion/AddAttachmentToDisccusion?pid={addedReply.Id}&aid={_attachmentId}"); if (linkAttachment.isSuccess) { } else { } //DiscussionAttachment _attachment = new DiscussionAttachment() //{ // AttachmentId = _attachmentId, // PostId = _post.Id, //}; //db.DiscussionAttachment.Add(_attachment); //db.SaveChanges(); } } else { //error } } } return(RedirectToAction("View", new { id = NewPost.NewDiscussionReply.DiscussionId })); }
void FetchAvatar (string url, DiscussionView view, long version) { var data = faceCache.GetOrAdd (url, u => Task.Run (() => { u = ResizeUrl (u); var client = new WebClient (); try { return client.DownloadData (u); } catch { return null; } })); if (data.IsCompleted && data.Result != null) { var avatar = view.FindViewById<ImageView> (Resource.Id.PostAvatar); var bmp = BitmapFactory.DecodeByteArray (data.Result, 0, data.Result.Length); bmp = ResizeBitmap (bmp); avatar.SetImageDrawable (new VignetteDrawable (bmp, withEffect: false)); } else { data.ContinueWith (t => { if (t.Result != null && view.VersionNumber == version) { var bmp = BitmapFactory.DecodeByteArray (data.Result, 0, data.Result.Length); bmp = ResizeBitmap (bmp); context.RunOnUiThread (() => { if (view.VersionNumber == version) { var avatar = view.FindViewById<ImageView> (Resource.Id.PostAvatar); avatar.SetImageDrawable (new VignetteDrawable (bmp, withEffect: false)); } }); } }); } }
DiscussionView EnsureView (View convertView) { DiscussionView view = convertView as DiscussionView; if (view == null) view = new DiscussionView (context); return view; }