예제 #1
0
        public void Delete(string id)
        {
            using (var ctx = new DataContext())
            {
                var entity = new HumanDanger()
                {
                    HumanDangerId = id
                };
                ctx.Entry(entity).State = System.Data.Entity.EntityState.Deleted;

                ctx.SaveChanges();
            }
        }
예제 #2
0
 public void Save(HumanDangerEntity model)
 {
     using (var ctx = new DataContext())
     {
         var entity = ctx.HumanDangers.Include("Measures").FirstOrDefault(x => x.HumanDangerId == model.HumanDangerId);
         if (entity == null)
         {
             entity = new HumanDanger()
             {
                 HumanDangerId = model.HumanDangerId,
                 Task          = model.Task,
                 TaskArea      = model.TaskArea,
                 DeptId        = model.DeptId,
                 DeptName      = model.DeptName,
                 TaskType      = model.TaskType,
                 DangerLevel   = model.DangerLevel,
                 OtherMeasure  = model.OtherMeasure,
                 OperateTime   = model.OperateTime,
                 OperateUserId = model.OperateUserId,
                 OperateUser   = model.OperateUser,
                 Measures      = new List <HumanDangerMeasure>()
             };
             entity.Measures.AddRange(model.Measures.Select(x => new HumanDangerMeasure()
             {
                 HumanDangerMeasureId = x.HumanDangerMeasureId, Category = x.Category, CategoryId = x.CategoryId, DangerReason = x.DangerReason, MeasureContent = x.MeasureContent, MeasureId = x.MeasureId
             }));
             ctx.HumanDangers.Add(entity);
         }
         else
         {
             entity.Task          = model.Task;
             entity.TaskArea      = model.TaskArea;
             entity.DeptId        = model.DeptId;
             entity.DeptName      = model.DeptName;
             entity.TaskType      = model.TaskType;
             entity.DangerLevel   = model.DangerLevel;
             entity.OtherMeasure  = model.OtherMeasure;
             entity.OperateTime   = model.OperateTime;
             entity.OperateUserId = model.OperateUserId;
             entity.OperateUser   = model.OperateUser;
             for (int i = 0; i < entity.Measures.Count; i++)
             {
                 var measure = model.Measures.Find(x => x.HumanDangerMeasureId == entity.Measures[i].HumanDangerMeasureId);
                 if (measure == null)
                 {
                     ctx.Entry(entity.Measures[i]).State = System.Data.Entity.EntityState.Deleted;
                     i--;
                 }
                 else
                 {
                     entity.Measures[i].CategoryId     = measure.CategoryId;
                     entity.Measures[i].Category       = measure.Category;
                     entity.Measures[i].MeasureId      = measure.MeasureId;
                     entity.Measures[i].DangerReason   = measure.DangerReason;
                     entity.Measures[i].MeasureContent = measure.MeasureContent;
                 }
             }
             var newitems = model.Measures.Where(x => !entity.Measures.Any(y => y.HumanDangerMeasureId == x.HumanDangerMeasureId));
             entity.Measures.AddRange(newitems.Select(x => new HumanDangerMeasure()
             {
                 HumanDangerMeasureId = x.HumanDangerMeasureId, Category = x.Category, CategoryId = x.CategoryId, DangerReason = x.DangerReason, MeasureContent = x.MeasureContent, MeasureId = x.MeasureId
             }));
         }
         ctx.SaveChanges();
     }
 }