public async Task <ActionResult <PostFormModel> > GetForm(PostFormModel formModel) { if (string.IsNullOrEmpty(formModel.url) || formModel.url.Length != 6) { return(BadRequest()); } var form = await _formDomain.Get(formModel.url); if (form == null) { return(NotFound()); } if (form.Private) { var user = User.Claims.First(c => c.Type == "UserID").Value; if (user == null) { return(NotFound()); } } formModel = _mapper.Map <BLL.ViewModels.Form, PostFormModel>(form); return(formModel); }
public ActionResult AddEditorial(PostFormModel postFormModel) { if (Session["mode"].ToString() == "new") { postFormModel.DateOfPublishing = Convert.ToString(DateTime.UtcNow); postFormModel.UserID = Convert.ToInt32(Session["userID"]); // Finding ProblemID getProblemID(postFormModel); //Insert editorial in table //string sql = "insert into editorial values (" + postFormModel.UserID + ", " + postFormModel.ProblemID + ", " + postFormModel.TagID + ", '" + postFormModel.Rephrase + "', '" + postFormModel.Solution + "', '" + postFormModel.Details + "', 0, 0, '" + postFormModel.DateOfPublishing + "')"; string sql = "insert into editorial (userid, problemid, tagid, rephrase, solution, details) " + "values (" + postFormModel.UserID + ", " + postFormModel.ProblemID + ", " + postFormModel.TagID + ", '" + postFormModel.Rephrase + "', '" + postFormModel.Solution + "', '" + postFormModel.Details + "')"; new DBHelper().setTable(sql); } else if (Session["mode"].ToString() == "update") { getProblemID(postFormModel); string sql = "update Editorial set ProblemID=" + postFormModel.ProblemID + ", TagID=" + postFormModel.TagID + ", Rephrase='" + postFormModel.Rephrase + "', Solution='" + postFormModel.Solution + "', Details='" + postFormModel.Details + "' where EditorialID=" + Session["eid"]; Session.Remove("eid"); new DBHelper().setTable(sql); } return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult <BLL.ViewModels.Form> > PostForm(PostFormModel formModel) { if (string.IsNullOrEmpty(formModel.name)) { return(BadRequest()); } var userId = User.Claims.First(c => c.Type == "UserID").Value; if (userId == null) { return(NotFound()); } var form = _mapper.Map <PostFormModel, BLL.ViewModels.Form>(formModel); form.Url = Hash(DateTime.Now + formModel.name); form = await _formDomain.Create(form); var userForm = new BLL.ViewModels.User_form { Form_id = form.Id, User_id = userId, Can_edit = true }; await new User_form(_config).Create(userForm); return(Ok()); }
// GET: Post public ActionResult PostForm() { if (Session["UserID"] == null) { return(Content("<script language='javascript' type='text/javascript'>alert('Login to continue');</script>")); } int editorialId = 0; editorialId = Convert.ToInt32(Request.QueryString["eid"]); PostFormModel postEditorialModel; if (editorialId == 0) { postEditorialModel = new PostFormModel(); Session["mode"] = "new"; ViewBag.buttonName = "Submit"; } else { postEditorialModel = new PostFormModel(editorialId); if (postEditorialModel.ProblemTitle == null) { return(RedirectToAction("Index", "Warning")); } Session["mode"] = "update"; Session["eid"] = editorialId; ViewBag.buttonName = "Update"; } return(View(postEditorialModel)); // Return all tag and OJ list in a big outer list }
public ActionResult Create() { PostFormModel postFormModel = new PostFormModel(); if (albumService.AllAlbumsByUser(User.Identity.GetUserId()).Count == 0) { albumService.Create("Default Album", User.Identity.GetUserId(), "Your Default Album"); } postFormModel.Albums = this.albumService.AlbumsByUserForDD(User.Identity.GetUserId()); return(View(postFormModel)); }
public IActionResult Edit(int postId, PostFormModel model) { if (!this.postService.UserIsAuthorizedToEdit(postId, this.User.GetUserId())) { return(BadRequest()); } this.postService.Edit(postId, model.Feeling, model.Text, model.Photo); return(RedirectToAction("Index", "Profile", new { id = this.User.GetUserId() })); }
public IActionResult Create(PostFormModel model) { if (model.Photo != null) { if (model.Photo.Length > DataConstants.MaxPhotoLength) { ModelState.AddModelError(string.Empty, "Your photo should be a valid image file with max size 5MB!"); return(View(model)); } } this.postService.Create(this.User.GetUserId(), model.Feeling, model.Text, model.Photo); return(RedirectToAction("Index", "Profile")); }
public async Task <IActionResult> PutForm(PostFormModel formModel) { if (string.IsNullOrEmpty(formModel.name)) { return(BadRequest()); } var userId = User.Claims.First(c => c.Type == "UserID").Value; if (userId == null) { return(NotFound()); } var form = await _formDomain.Get(formModel.url); if (form == null) { return(NotFound()); } var uf = await _userFormDomain.Get(userId, form.Id); if (uf == null) { return(NotFound()); } if (!uf.Can_edit) { return(BadRequest()); } var formNew = _mapper.Map <BLL.ViewModels.Form>(formModel); await _formDomain.Update(formNew); (await _userFormDomain.Get(form.Id)).ForAll(usf => _userFormDomain.Delete(usf.Id)); var userForm = new BLL.ViewModels.User_form { Form_id = form.Id, User_id = userId, Can_edit = true }; await new User_form(_config).Create(userForm); return(Ok()); }
public IActionResult Delete(int postId) { if (!this.postService.Exists(postId)) { return(NotFound()); } var postInfo = this.postService.PostById(postId); ViewData["PostPhoto"] = postInfo.Photo; var postFormModel = new PostFormModel { Text = postInfo.Text, Feeling = postInfo.Feeling }; return(this.ViewOrNotFound(postFormModel)); }
protected void getProblemID(PostFormModel postFormModel) { // Finding ProblemID string subSql = ""; if (postFormModel.ProblemCode != null) { subSql = " and ProblemCode='" + postFormModel.ProblemCode + "'"; } string sql = "select ProblemID from Problem where OJID = " + postFormModel.OJID + " and Title ='" + postFormModel.ProblemTitle + "'" + subSql; var res = new DBHelper().getTable(sql); // If problemID already exist, otherwise 'else' part to generate problemID if (res.Rows.Count == 1) { postFormModel.ProblemID = Convert.ToInt32(res.Rows[0][0]); } else { if (postFormModel.ProblemCode == null) { subSql = ", NULL"; } else { subSql = ", '" + postFormModel.ProblemCode + "'"; } sql = "insert into Problem values (" + postFormModel.OJID + ", '" + postFormModel.ProblemTitle + "'" + subSql + ")"; new DBHelper().setTable(sql); subSql = ""; if (postFormModel.ProblemCode != null) { subSql = " and ProblemCode='" + postFormModel.ProblemCode + "'"; } sql = "select ProblemID from Problem where OJID = " + postFormModel.OJID + " and Title ='" + postFormModel.ProblemTitle + "'" + subSql; res = new DBHelper().getTable(sql); postFormModel.ProblemID = Convert.ToInt32(res.Rows[0][0]); } }
public ActionResult Edit(int id, [Bind(Exclude = "Photo")] PostFormModel model) { if (!this.postService.UserIsAuthorizedToEdit(id, this.User.Identity.GetUserId())) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Bad request")); } byte[] imageData = null; if (Request.Files.Count > 0) { HttpPostedFileBase poImgFile = Request.Files["Photo"]; using (var binary = new BinaryReader(poImgFile.InputStream)) { imageData = binary.ReadBytes(poImgFile.ContentLength); } } this.postService.Edit(id, model.Feeling, model.Text, imageData, model.AlbumId); return(RedirectToAction("AccountDetails", "Users", new { id = this.User.Identity.GetUserId() })); }
public async Task <ActionResult <List <string> > > Get(PostFormModel formModel) { if (string.IsNullOrEmpty(formModel.url) || formModel.url.Length != 6) { return(BadRequest()); } var form = await _form.Get(formModel.url); var uId = User.Claims.First(c => c.Type == "UserID").Value; var user = await _user.GetId(uId); var uf = await _uf.Get(user.Id, form.Id); if (uf == null) { return(NotFound()); } if (!uf.Can_edit) { return(BadRequest()); } var str = new List <string> { form.Name, !form.Anonym ? "Public" : "Anonym", form.Jform }; var answers = await _uf.Get(form.Id); foreach (var asnw in answers) { if (!form.Anonym) { var u = await _user.GetId(asnw.User_id); str.Add(u != null ? u.FullName : ""); } str.Add(asnw.jsonAnswer); } return(str); }
public ActionResult Edit(int id) { if (!this.postService.Exists(id)) { throw new HttpException(404, "Not found"); } var postInfo = this.postService.PostById(id); ViewData["PostPhoto"] = postInfo.Photo; var postFormModel = new PostFormModel { Text = postInfo.Text, Feeling = postInfo.Feeling }; postFormModel.Albums = this.albumService.AlbumsByUserForDD(User.Identity.GetUserId()); return(View(postFormModel)); }
public ActionResult Create([Bind(Exclude = "Photo")] PostFormModel model) { byte[] imageData = null; if (Request.Files.Count > 0) { HttpPostedFileBase poImgFile = Request.Files["Photo"]; using (var binary = new BinaryReader(poImgFile.InputStream)) { imageData = binary.ReadBytes(poImgFile.ContentLength); } } if (imageData.Length > DataConstants.MaxPhotoLength) { ModelState.AddModelError(string.Empty, "Your photo should be a valid image file with max size 5MB!"); return(View(model)); } int postId = this.postService.Create(this.User.Identity.GetUserId(), model.Feeling, model.Text, imageData, model.AlbumId); this.albumService.AddPost(model.AlbumId, postId); return(Redirect("/")); }