Exemple #1
0
        public IHttpActionResult AddTag(UpdateSimpleTextDto dto)
        {
            if (dto == null)
            {
                return(Json(new { status = "error", message = "Tag null!" }));
            }

            var tagName = dto.Text.CapitalizeFirstLetter().Trim();

            // Current spotz:
            var spotz = _db.Spotzes.Find(Guid.Parse(dto.Id));

            // Hvis tag på current Spotz eksisterer, send ut!:
            if (spotz != null && spotz.Tags.Any(t => t.TagName == tagName))
            {
                return(Json(new { status = "tagextists", message = "Tag exists on Spotz!" }));
            }

            Tag addedTag;

            // Hvis tag med det samme navnet fins i databasen:
            if (_db.Tags.Any(t => t.TagName == tagName))
            {
                addedTag = _db.Tags.FirstOrDefault(t => t.TagName == tagName);
            }
            // Tag er helt ny:
            else
            {
                //var listOfSpotz = new List<Spotz> { spotz };

                addedTag = new Tag
                {
                    TagName = tagName,
                    //Spotzes = listOfSpotz,
                    TagId = Guid.NewGuid()
                };

                // Legger til tag i databasen

                _db.Tags.Add(addedTag);
                _db.Entry(addedTag).State = EntityState.Added;
            }

            // Legger til tagen på spotz
            spotz?.Tags.Add(addedTag);
            try
            {
                _db.Entry(spotz).State = EntityState.Modified;
                _db.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(Json(new { status = "success", message = "Tag added!", text = tagName, tagid = addedTag.TagId.ToString() }));
        }
        public IHttpActionResult UpdateTitleText(UpdateSimpleTextDto updateTitleText)
        {
            if (updateTitleText.Text == "")
            {
                return(Json(new { status = "error", message = "No text updated!" }));
            }

            var spotz = _db.Spotzes.Find(Guid.Parse(updateTitleText.Id));

            try
            {
                if (spotz != null)
                {
                    spotz.Title            = updateTitleText.Text;
                    _db.Entry(spotz).State = EntityState.Modified;
                }
                _db.SaveChanges();
                return(Json(new { status = "success", message = "Updated!", text = updateTitleText.Text }));
            }
            catch (Exception e)
            {
                return(Json(new { status = "error", message = "Error updating!" + e.Message }));
            }
        }