Example #1
0
        public void Approve(HumanDangerEntity model, ApproveRecordEntity approve)
        {
            using (var ctx = new DataContext())
            {
                var entity = ctx.HumanDangers.Include("Measures").FirstOrDefault(x => x.HumanDangerId == model.HumanDangerId);
                entity.TaskArea    = model.TaskArea;
                entity.TaskType    = model.TaskType;
                entity.DangerLevel = model.DangerLevel;
                entity.State       = model.State;
                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();
            }

            var db = DbFactory.Base() as Database;

            db.dbcontext.Set <ApproveRecordEntity>().Add(approve);
            db.dbcontext.SaveChanges();
        }
Example #2
0
        public void Approve(HumanDangerEntity model, ApproveRecordEntity approve)
        {
            IHumanDangerService service = new HumanDangerService();

            service.Approve(model, approve);
        }