public void CreateOrUpdate(BlogBindingModel model)
 {
     using (var context = new DatabaseContext())
     {
         Blog element;
         element = context.Blogs.FirstOrDefault(rec => rec.Name == model.Name &&
                                                rec.Id != model.Id);
         if (element != null)
         {
             throw new Exception("Блог с таким названием уже существует");
         }
         if (model.Id.HasValue)
         {
             element = context.Blogs.FirstOrDefault(rec => rec.Id == model.Id);
             if (element == null)
             {
                 throw new Exception("Элемент не найден");
             }
         }
         else
         {
             element = new Blog();
             context.Blogs.Add(element);
         }
         element.Author       = model.Author;
         element.CreationDate = model.CreationDate;
         element.Name         = model.Name;
         context.SaveChanges();
     }
 }
 public List <BlogViewModel> Read(BlogBindingModel model)
 {
     using (var context = new DatabaseContext())
     {
         return(context.Blogs
                .Where(rec => model == null || rec.Id == model.Id)
                .Select(rec => new BlogViewModel
         {
             Id = rec.Id,
             Name = rec.Name,
             Author = rec.Author,
             CreationDate = rec.CreationDate
         })
                .ToList());
     }
 }
 public void Delete(BlogBindingModel model)
 {
     using (var context = new DatabaseContext())
     {
         var element = context.Blogs.FirstOrDefault(rec => rec.Id == model.Id);
         if (element != null)
         {
             context.Blogs.Remove(element);
             context.SaveChanges();
         }
         else
         {
             throw new Exception("Элемент не найден");
         }
     }
 }
Exemple #4
0
        public IHttpActionResult Put(int id, [FromBody] BlogBindingModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (model != null)
                {
                    using (BloggingDBEntities entities = new BloggingDBEntities())
                    {
                        var entity = entities.Blogs.FirstOrDefault(b => b.Id == id);
                        if (entity == null)
                        {
                            return(Content(HttpStatusCode.NotFound, "Blog with id = " + id.ToString() + " not found to update"));
                        }
                        else
                        {
                            entity.Title     = model.Title;
                            entity.Body      = model.Body;
                            entity.Location  = model.Location;
                            entity.UpdatedOn = DateTime.Now;
                            entity.UpdatedBy = User.Identity.GetUserName();
                            if (model.IsActive != null)
                            {
                                entity.IsActive = model.IsActive;
                            }
                            entities.SaveChanges();
                            var blogViewModel = BlogModelMapper.GetBlogView(entity);
                            return(Ok(blogViewModel));
                        }
                    }
                }
                else
                {
                    return(Content(HttpStatusCode.BadRequest, "Data is required"));
                }
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.BadRequest, ex));
            }
        }
Exemple #5
0
        public IHttpActionResult Post([FromBody] BlogBindingModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (model != null)
                {
                    var blog = new Blog()
                    {
                        Title = model.Title, Body = model.Body, Location = model.Location
                    };
                    blog.CreatedBy = User.Identity.GetUserName();
                    blog.CreatedOn = DateTime.Now;
                    if (blog.IsActive != true)
                    {
                        blog.IsActive = false;
                    }
                    using (BloggingDBEntities entities = new BloggingDBEntities())
                    {
                        entities.Blogs.Add(blog);
                        entities.SaveChanges();
                        var blogViewModel = BlogModelMapper.GetBlogView(blog);
                        return(Created(new Uri(Request.RequestUri + blog.Id.ToString()), blogViewModel));
                    }
                }
                else
                {
                    return(Content(HttpStatusCode.BadRequest, "Data is required"));
                }
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.BadRequest, ex));
            }
        }