public ActionResult NewzSpotz() { ViewBag.NewGuid = Guid.NewGuid(); var vm = new AddSpotzViewModel(); return(View(vm)); }
public ActionResult NewSpotz(AddSpotzViewModel vm) { if (!ModelState.IsValid) { return(View("AddSpotzError")); } if (vm.Latitude == null || vm.Longitude == null) { return(Json(new { status = "error", message = "No coordinates" })); } HttpContext httpContext = System.Web.HttpContext.Current; var spotz = _dbRepository.AddSpotz(vm, httpContext); if (spotz == null) { return(Json(new { status = "error", message = "No saving!" })); } return(RedirectToAction("Index")); }
// Lagrer ny spotz public Spotz AddSpotz(AddSpotzViewModel vm, HttpContext httpContext) { var user = _db.Users.Find(httpContext.User.Identity.GetUserId()); var spotz = new Spotz { SpotzId = Guid.NewGuid(), Title = vm.Title, Description = vm.Description ?? "", User = user, Timestamp = DateTime.Now, Latitude = vm.Latitude ?? "", Longitude = vm.Longitude ?? "" }; var listOfTags = new List <Tag>(); // Lager liste med tags fra kommaseparert string som skal legges i Spotz if (vm.TagNames != null) { var listOfTagNames = vm.TagNames.TrimEnd(',').Split(',').ToList(); foreach (var tag in listOfTagNames) { var currentTag = _db.Tags.FirstOrDefault(t => t.TagName == tag); // Hvis tag IKKE fins fra før: if (currentTag == null) { currentTag = new Tag { TagName = tag, TagId = Guid.NewGuid() }; listOfTags.Add(currentTag); currentTag.Spotzes.Add(spotz); _db.Tags.Add(currentTag); _db.Entry(currentTag).State = EntityState.Added; } else { listOfTags.Add(currentTag); currentTag.Spotzes.Add(spotz); _db.Entry(currentTag).State = EntityState.Modified; } } } spotz.Tags = listOfTags; var request = httpContext.Request; var file = request.Files[0]; var title = request.Form["title"]; var imageId = Guid.NewGuid(); try { var newImage = new Image { Data = _helperMethods.ConvertToByteArray(file.InputStream), Timestamp = DateTime.Now, Filename = title, ImageId = imageId, ImageUrl = string.Format($"/Images/{imageId}"), Spotz = spotz }; spotz.Images.Add(newImage); _db.Spotzes.Add(spotz); _db.Images.Add(newImage); _db.Entry(spotz).State = EntityState.Added; _db.Entry(newImage).State = EntityState.Added; _db.SaveChanges(); return(spotz); } catch (Exception e) { Console.WriteLine(e.Message); return(null); } }