Exemplo n.º 1
0
        public ActionResult NewzSpotz()
        {
            ViewBag.NewGuid = Guid.NewGuid();

            var vm = new AddSpotzViewModel();

            return(View(vm));
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        // 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);
            }
        }