Пример #1
0
        public async Task <Category> GetAsync(long id)
        {
            var categories = await _context.Categories
                             .AsNoTracking()
                             .FirstOrDefaultAsync(x => x.Id == id);

            if (categories == null)
            {
                return(null);
            }

            _context.Entry(categories).State = EntityState.Detached;
            return(categories);
        }
Пример #2
0
        public async Task <News> GetAsync(long id)
        {
            var news = await _context.News
                       .AsNoTracking()
                       .FirstOrDefaultAsync(x => x.Id == id);

            if (news == null)
            {
                return(null);
            }

            _context.Entry(news).State = EntityState.Detached;
            return(news);
        }
        public IHttpActionResult PutWeeklySchedule(int id, WeeklySchedule weeklySchedule)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != weeklySchedule.Id)
            {
                return(BadRequest());
            }

            db.Entry(weeklySchedule).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!WeeklyScheduleExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #4
0
        public async Task <int> ArticleCommentPostComment(ArticleComment model)
        {
            CmsContext.Entry(model).State = EntityState.Added;
            await CmsContext.SaveChangesAsync();

            return(model.Id);
        }
Пример #5
0
        public async Task ArticleUpdate(Article model, string userId, int articleStatusId, List <int> articleCategoryArticle)
        {
            try
            {
                var items = CmsContext.Article.FirstOrDefault(p => p.Id == model.Id);
                if (items != null)
                {
                    model.LastEditBy   = userId;
                    model.LastEditDate = DateTime.Now;

                    if (string.IsNullOrEmpty(items.Url))
                    {
                        items.Url = await CreateArticleURL(items.Id);
                    }
                    CmsContext.Entry(items).CurrentValues.SetValues(model);
                    await CmsContext.SaveChangesAsync();

                    //Insert articleCategoryArticle
                    await ArticleSetArticleCategory(model.Id, articleCategoryArticle);
                }
            }
            catch
            {
            }
        }
Пример #6
0
        public IHttpActionResult PutPropertyTaskList(int id, PropertyTaskList propertyTaskList)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != propertyTaskList.Id)
            {
                return(BadRequest());
            }

            db.Entry(propertyTaskList).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PropertyTaskListExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #7
0
        public async Task <int> PostSetting(Setting model)
        {
            CmsContext.Entry(model).State = EntityState.Modified;
            await CmsContext.SaveChangesAsync();

            return(model.Id);
        }
Пример #8
0
        public async Task ProductUpdate(Product model, string userId, int productStatusId, List <int> productCategoryProduct)
        {
            try
            {
                await CmsContext.SaveChangesAsync();

                var items = CmsContext.Product.FirstOrDefault(p => p.Id == model.Id);
                if (items != null)
                {
                    model.LastEditBy   = userId;
                    model.LastEditDate = DateTime.Now;
                    if (string.IsNullOrEmpty(items.Url))
                    {
                        items.Url = await CreateProductURL(items.Id);
                    }
                    CmsContext.Entry(items).CurrentValues.SetValues(model);
                    await CmsContext.SaveChangesAsync();

                    //Insert productCategoryProduct
                    await ProductSetProductCategory(model.Id, productCategoryProduct);
                }
            }
            catch (Exception ex)
            {
            }
        }
Пример #9
0
        public async Task <int> ArticleCommentStaffPostComment(ArticleCommentStaff model)
        {
            CmsContext.Entry(model).State = model.Id > 0 ? EntityState.Modified : EntityState.Added;
            await CmsContext.SaveChangesAsync();

            CmsContext.ChangeTracker.Clear();

            return(model.Id);
        }
Пример #10
0
        public bool Delete <TEntity>(TEntity entity) where TEntity : class
        {
            Logger.DebugFormat("Delete<TEntity>(entity) - TEntity[{0}]", typeof(TEntity).Name);

            try
            {
                cmsCtx.Entry <TEntity>(entity).State = EntityState.Deleted;
                cmsCtx.SaveChanges();
            }
            catch (Exception ex)
            {
                Logger.Error("", ex);
                errMsg = ex.Message;
                return(false);
            }

            return(true);
        }
Пример #11
0
 public ActionResult Edit([Bind(Include = "BookId,BookName,BookContent")] Book book)
 {
     if (ModelState.IsValid)
     {
         db.Entry(book).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(book));
 }
Пример #12
0
 public ActionResult Edit([Bind(Include = "Id,name,position,visible")] Subject subject)
 {
     if (ModelState.IsValid)
     {
         db.Entry(subject).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(subject));
 }
Пример #13
0
        public TEntity Find(int key, bool isDetached)
        {
            TEntity entity = Find(key);

            if (entity != null && isDetached)
            {
                context.Entry(entity).State = EntityState.Detached;
            }
            return(entity);
        }
Пример #14
0
 public ActionResult Edit([Bind(Include = "PostId,PostTitle,PostContent")] Post post)
 {
     if (ModelState.IsValid)
     {
         db.Entry(post).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(post));
 }
Пример #15
0
        public async Task <ActionResult <Page> > PutPage(int id, Page page)
        {
            if (id != page.Id)
            {
                return(BadRequest());
            }

            context.Entry(page).State = EntityState.Modified;
            await context.SaveChangesAsync();

            return(NoContent());
        }
Пример #16
0
        public async Task <int> UserNotiCreateNew(UserNotify model)
        {
            model.UserNotifyTypeId        = 1;
            model.CreateDate              = DateTime.Now;
            model.Readed                  = false;
            model.ReadCount               = 0;
            model.ImageUrl                = model.ImageUrl ?? "/assets/images/notidefault.jpg";
            CmsContext.Entry(model).State = EntityState.Added;
            await CmsContext.SaveChangesAsync();

            return(model.Id);
        }
Пример #17
0
 /// <summary>
 /// Edits the specified key.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <param name="entity">The entity.</param>
 /// <param name="saveChanges">if set to <c>true</c> [save changes].</param>
 /// <returns>`1.</returns>
 /// <exception cref="System.NotImplementedException"></exception>
 public TEntity Edit(TKey key, TEntity entity, bool saveChanges = true)
 {
     if (this.Exists(key))
     {
         Entities.Attach(entity);
         _context.Entry <TEntity>(entity).State = EntityState.Modified;
         if (saveChanges)
         {
             this.SaveChanges();
         }
         return(entity);
     }
     return(null);
 }
Пример #18
0
        // 傳入 (emps)
        // Bind 是用來指定欲異動的欄位, 以防止 Over-Posting 攻擊
        public ActionResult Edit([Bind(Include = "Id, Name, Mobile, Email, Department, Title")] EmployeesNew emps)
        {
            // 使用 ModelState.IsValid 判斷資料是否通過驗證
            if (ModelState.IsValid)
            {
                // 將 emps 這個 Enitity狀態設為 Modified
                db.Entry(emps).State = EntityState.Modified;
                // 當SaveChange() 執行時, 會向 SQL Server 發出 Update 指令
                db.SaveChanges();
                // 返回首頁
                return(RedirectToAction("Index"));
            }

            return(View(emps));
        }
Пример #19
0
        [ValidateAntiForgeryToken]                                                                       //防止跨網站的請求攻擊
        public ActionResult Edit([Bind(Include = "Id,Name,Mobile,Email,Department,Title")] Employee emp) //Endit=>負責處理Post的Action,Bind指定想要改變的欄位也防止over-posting攻擊
        {
            //用ModelState.IsValid判斷資料是否通過驗證
            if (ModelState.IsValid)
            {
                //將emp這個Entity狀態設為Modified,
                //當SaveChanges()執行時,會向SQL Server發出Update陳述式命令
                db.Entry(emp).State = EntityState.Modified;
                db.SaveChanges();
                //儲存完成後回到Employees的Index頁面
                return(RedirectToAction("Index"));
            }

            //若未通過驗證,返回Form,直到正確
            return(View(emp));
        }
Пример #20
0
        // PUT api/Task/5
        public HttpResponseMessage PutTask(EventViewModel task)
        {
            if (ModelState.IsValid)
            {
                var eventTaskList = db.EventTaskLists.Include("Property").Include("Crew").FirstOrDefault(e => e.Id == task.OwnerID);
                if (eventTaskList != null)
                {
                    task.Title = eventTaskList.Property.Name + ", " + eventTaskList.Crew.Name;
                }

                var entity = new EventSchedule
                {
                    Id                  = task.TaskID,
                    Title               = task.Title,
                    StartTime           = task.Start,
                    StartTimezone       = task.StartTimezone,
                    EndTime             = task.End,
                    EndTimezone         = task.EndTimezone,
                    Description         = task.Description,
                    RecurrenceRule      = task.RecurrenceRule,
                    RecurrenceException = task.RecurrenceException,
                    RecurrenceID        = task.RecurrenceID,
                    IsAllDay            = task.IsAllDay,
                    EventTaskListId     = task.OwnerID ?? 0
                };

                db.EventSchedules.Attach(entity);
                db.Entry(entity).State = EntityState.Modified;

                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, new[] { task });
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = task.TaskID }));
                return(response);
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
Пример #21
0
        public async Task <bool> ProductAttachInsert(List <ProductAttachFile> model)
        {
            try
            {
                foreach (var p in model)
                {
                    CmsContext.Entry(p).State = EntityState.Added;
                    await CmsContext.SaveChangesAsync();
                }
            }
            catch
            {
                return(false);
            }

            return(true);
        }
Пример #22
0
        public ResponseModel Eliminar(int id)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new CmsContext())
                {
                    contenido.idContenido = id;
                    ctx.Entry(this).State = EntityState.Deleted;

                    ctx.SaveChanges();
                    rm.SetResponse(true);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(rm);
        }
        public IHttpActionResult PutPropertyTaskListType(int id, PropertyTaskListType propertyTaskListType)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != propertyTaskListType.Id)
            {
                return(BadRequest());
            }

            var originalPropertyTaskListType = db.PropertyTaskListTypes
                                               .Where(t => t.Id == propertyTaskListType.Id)
                                               .Include(t => t.PropertyTaskHeaders)
                                               .SingleOrDefault();

            if (originalPropertyTaskListType == null)
            {
                return(NotFound());
            }

            var originalEntry = db.Entry(originalPropertyTaskListType);

            originalEntry.CurrentValues.SetValues(propertyTaskListType);

            foreach (var header in propertyTaskListType.PropertyTaskHeaders)
            {
                var originalHeader = originalPropertyTaskListType.PropertyTaskHeaders
                                     .SingleOrDefault(h => h.Id == header.Id && h.Id != 0);

                if (originalHeader != null)
                {
                    if (string.IsNullOrWhiteSpace(header.Name))
                    {
                        db.PropertyTaskDetails.Where(d => d.PropertyTaskHeaderId == originalHeader.Id)
                        .ToList()
                        .ForEach(d => db.PropertyTaskDetails.Remove(d));
                        db.PropertyTaskHeaders.Remove(originalHeader);
                    }
                    else
                    {
                        var headerEntry = db.Entry(originalHeader);
                        headerEntry.CurrentValues.SetValues(header);
                    }
                }
                else
                {
                    header.Id = 0;
                    originalPropertyTaskListType.PropertyTaskHeaders.Add(header);
                }
            }

            foreach (var originalHeader in originalPropertyTaskListType.PropertyTaskHeaders.Where(h => h.Id != 0).Where(originalHeader => propertyTaskListType.PropertyTaskHeaders.All(h => h.Id != originalHeader.Id)).ToList())
            {
                db.PropertyTaskDetails.Where(d => d.PropertyTaskHeaderId == originalHeader.Id)
                .ToList()
                .ForEach(d => db.PropertyTaskDetails.Remove(d));
                db.PropertyTaskHeaders.Remove(originalHeader);
            }

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PropertyTaskListTypeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }