コード例 #1
0
 public IActionResult Add([FromBody] DutyCheckGroup model)
 {
     try
     {
         if (model == null)
         {
             return(BadRequest());
         }
         using (var db = new AllInOneContext.AllInOneContext())
         {
             db.DutyCheckGroup.Add(model);
             db.SaveChanges();
             return(Created("", "OK"));
         }
     }
     catch (DbUpdateException dbEx)
     {
         return(BadRequest(new ApplicationException {
             ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message
         }));
     }
     catch (System.Exception ex)
     {
         return(BadRequest(new ApplicationException {
             ErrorCode = "Unknown", ErrorMessage = ex.Message
         }));
     }
 }
コード例 #2
0
        public IActionResult Delete(Guid id)
        {
            try
            {
                using (var db = new AllInOneContext.AllInOneContext())
                {
                    using (var tran = db.Database.BeginTransaction())
                    {
                        DutyCheckGroup group = db.DutyCheckGroup
                                               .Include(t => t.CheckDutySiteSchedules)/*.ThenInclude(t => t.CheckDutySite)*/
                                               .Include(t => t.CheckDutySiteSchedules).ThenInclude(t => t.CheckMan)
                                               .FirstOrDefault(p => p.DutyCheckGroupId.Equals(id));
                        if (group == null)
                        {
                            return(NoContent());
                        }
                        //
                        RemoveLinkage(db, group);
                        //
                        db.DutyCheckGroup.Remove(group);
                        db.SaveChanges();

                        tran.Commit();
                        return(new NoContentResult());
                    }
                }
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new ApplicationException {
                    ErrorCode = "Unknown", ErrorMessage = ex.Message
                }));
            }
        }
コード例 #3
0
        public IActionResult Get(Guid id)
        {
            using (var db = new AllInOneContext.AllInOneContext())
            {
                DutyCheckGroup data = db.DutyCheckGroup
                                      .Include(t => t.CheckDutySiteSchedules)/*.ThenInclude(t => t.CheckDutySite)*/
                                      .Include(t => t.CheckDutySiteSchedules).ThenInclude(t => t.CheckMan)
                                      .FirstOrDefault(p => p.DutyCheckGroupId.Equals(id));
                if (data == null)
                {
                    return(NoContent());
                }

                return(new ObjectResult(data));
            }
        }
コード例 #4
0
        public IActionResult Update([FromBody] DutyCheckGroup model)
        {
            try
            {
                if (model == null)
                {
                    return(BadRequest());
                }
                using (var db = new AllInOneContext.AllInOneContext())
                {
                    using (var tran = db.Database.BeginTransaction())
                    {
                        DutyCheckGroup group = db.DutyCheckGroup
                                               .Include(t => t.CheckDutySiteSchedules)/*.ThenInclude(t => t.CheckDutySite)*/
                                               .Include(t => t.CheckDutySiteSchedules).ThenInclude(t => t.CheckMan)
                                               .FirstOrDefault(p => p.DutyCheckGroupId.Equals(model.DutyCheckGroupId));
                        if (group == null)
                        {
                            return(BadRequest());
                        }
                        //转换普通数据
                        group.DutyGroupName = model.DutyGroupName;
                        //
                        RemoveLinkage(db, group);
                        //
                        group.CheckDutySiteSchedules = model.CheckDutySiteSchedules;
                        db.DutyCheckGroup.Update(group);
                        db.SaveChanges();

                        tran.Commit();
                        return(new NoContentResult());
                    }
                }
            }
            catch (DbUpdateException dbEx)
            {
                return(BadRequest(new ApplicationException {
                    ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message
                }));
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new ApplicationException {
                    ErrorCode = "Unknown", ErrorMessage = ex.Message
                }));
            }
        }
コード例 #5
0
 private static void RemoveLinkage(AllInOneContext.AllInOneContext db, DutyCheckGroup group)
 {
     //手动移除级联属性
     if (group.CheckDutySiteSchedules != null)
     {
         List <DutyCheckSiteSchedule> delList = new List <DutyCheckSiteSchedule>();
         foreach (DutyCheckSiteSchedule rp in group.CheckDutySiteSchedules)
         {
             DutyCheckSiteSchedule del = db.Set <DutyCheckSiteSchedule>()
                                         .FirstOrDefault(p => p.CheckDutySiteId.Equals(rp.CheckDutySiteId) && p.CheckManId.Equals(rp.CheckManId));
             if (del != null)
             {
                 delList.Add(del);
             }
         }
         db.Set <DutyCheckSiteSchedule>().RemoveRange(delList);
         db.SaveChanges();
     }
 }