public IHttpActionResult PutClassifiedAd(int id, ClassifiedAd classifiedAd) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != classifiedAd.ClassifiedAdId) { return BadRequest(); } db.Entry(classifiedAd).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ClassifiedAdExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public IHttpActionResult Comments( ) { dynamic obj = Request.Content.ReadAsAsync <JObject>(); int classifiedAdId = obj.Result.comment.classifiedAdId; Comment comment = new Comment(); comment.Content = obj.Result.comment.content; comment.ClassifiedAd = db.ClassifiedAds.Where(c => c.ClassifiedAdId == classifiedAdId).FirstOrDefault(); db.Comments.Add(comment); db.SaveChanges(); return(Ok()); }
public ActionResult Create(ClassifiedAdViewModel classifiedAdVM) { ClassifiedAd classifiedAd = new ClassifiedAd(); if (ModelState.IsValid) { string[] images = null; if (classifiedAdVM.Image != null) { images = classifiedAdVM.Image.Split(';'); } classifiedAd.Title = classifiedAdVM.Title; classifiedAd.Description = classifiedAdVM.Description; classifiedAd.City = db.Cities.Find(Convert.ToInt32(Request.Form["City"])); classifiedAd.Category = db.Categories.Find(Convert.ToInt32(Request.Form["Category"])); classifiedAd.User = db.Users.Find(User.Identity.GetUserId()); classifiedAd.Images = new List <Image>(); if (images != null) { foreach (string image in images) { var img = db.Images.Where(i => i.Identifier == image).FirstOrDefault(); if (img != null) { classifiedAd.Images.Add(img); } } } db.ClassifiedAds.Add(classifiedAd); db.SaveChanges(); return(RedirectToAction("Index", "Home")); } return(View(classifiedAdVM)); }
public async Task <IHttpActionResult> PictureUploadPost() { var request = HttpContext.Current.Request; var validationRules = new FlowValidationRules(); validationRules.AcceptedExtensions.AddRange(new List <string> { "jpeg", "jpg", "png", "bmp" }); validationRules.MaxFileSize = 5000000; try { var status = _flowJs.PostChunk(request, Folder, validationRules); if (status.Status == PostChunkStatus.Done) { #region Amazon S3 // file uploade is complete. Below is an example of further file handling //var filePath = Path.Combine(Folder, status.FileName); //var file = File.ReadAllBytes(filePath); //var picture = await _fileManager.UploadPictureToS3(User.Identity.GetUserId(), file, status.FileName); //File.Delete(filePath); //return Ok(file); #endregion var filePath = Path.Combine(Folder, status.FileName); var file = File.ReadAllBytes(filePath); var enhancedIdentifier = status.Identifier.Substring(0, 5) + Math.Ceiling((DateTime.Now - DateTime.MinValue).TotalMilliseconds); Image image; using (ClassifiedContext _db = new ClassifiedContext()) { if (_db.Images.Where(i => i.Identifier == enhancedIdentifier).FirstOrDefault() != null) { return(Ok("Already Exist!")); } image = new Image(); image.Path = filePath; image.Identifier = enhancedIdentifier; _db.Images.Add(image); _db.SaveChanges(); } return(Ok(image.Identifier)); } if (status.Status == PostChunkStatus.PartlyDone) { return(Ok()); } status.ErrorMessages.ForEach(x => ModelState.AddModelError("file", x)); return(BadRequest(ModelState)); } catch (Exception) { ModelState.AddModelError("file", "exception"); return(BadRequest(ModelState)); } }