Beispiel #1
0
        public IHttpActionResult PostDiseaseCaseModify(DiseaseCaseDto diseaseCase)
        {
            string msg = "";

            if (diseaseCase == null)
            {
                msg = "参数错误";
            }
            var diseaseCaseToUpdate = _context.DiseaseCases.Find(diseaseCase.Id);

            _context.Entry(diseaseCaseToUpdate).Collection(u => u.DiseaseCaseTabs).Load();

            foreach (DiseaseCaseTab dct in diseaseCaseToUpdate.DiseaseCaseTabs)
            {
                _context.Entry(dct).Collection(u => u.Analyses).Load();
                _context.Entry(dct).Collection(u => u.Drugs).Load();
                _context.Entry(dct).Collection(u => u.Texts).Load();
                _context.Entry(dct).Collection(u => u.Pictures).Load();
                _context.Entry(dct).Collection(u => u.Videos).Load();
            }
            diseaseCaseToUpdate.Name = diseaseCase.Name;

            try
            {
                _context.Entry(diseaseCaseToUpdate).State = EntityState.Modified;
                _context.SaveChanges();
                msg = "修改成功";
            }
            catch (RetryLimitExceededException)
            {
                msg = "网络故障";
            }
            var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }";

            return(Ok(str));
        }
Beispiel #2
0
        public IHttpActionResult PostDiseaseCaseDelete(DiseaseCaseDto diseaseCase)
        {
            string msg = "";

            if (diseaseCase == null)
            {
                msg = "参数错误";
            }
            var diseaseCaseToDelete = _context.DiseaseCases.Find(diseaseCase.Id);

            _context.Entry(diseaseCaseToDelete).Collection(u => u.DiseaseCaseTabs).Load();
            foreach (DiseaseCaseTab dct in diseaseCaseToDelete.DiseaseCaseTabs)
            {
                _context.Entry(dct).Collection(u => u.Texts).Load();
                _context.Entry(dct).Collection(u => u.Pictures).Load();
                _context.Entry(dct).Collection(u => u.Videos).Load();
                _context.Entry(dct).Collection(u => u.Analyses).Load();
                _context.Entry(dct).Collection(u => u.Drugs).Load();
            }
            if (diseaseCaseToDelete == null)
            {
                msg = "删除失败,该病例不存在";
            }
            else
            {
                try
                {
                    var diseaseCaseToDeleteDto = Mapper.Map <DiseaseCase, DiseaseCaseDto>(diseaseCaseToDelete);

                    foreach (DiseaseCaseTabDto dct in diseaseCaseToDeleteDto.DiseaseCaseTabs)
                    {
                        var diseaseCaseTab = _context.DiseaseCaseTabs.Find(dct.Id);
                        diseaseCaseTab.Drugs.Clear();
                        diseaseCaseTab.Analyses.Clear();
                        foreach (TextDto t in dct.Texts)
                        {
                            var text = _context.Texts.Find(t.Id);
                            _context.Texts.Remove(text);
                        }
                        foreach (PictureDto p in dct.Pictures)
                        {
                            var picture = _context.Pictures.Find(p.Id);
                            _context.Pictures.Remove(picture);
                        }
                        foreach (VideoDto v in dct.Videos)
                        {
                            var video = _context.Videos.Find(v.Id);
                            _context.Videos.Remove(video);
                        }
                        diseaseCaseTab.Texts.Clear();
                        diseaseCaseTab.Pictures.Clear();
                        diseaseCaseTab.Videos.Clear();
                        _context.DiseaseCaseTabs.Remove(diseaseCaseTab);
                    }
                    diseaseCaseToDelete.DiseaseCaseTabs.Clear();
                    _context.DiseaseCases.Remove(diseaseCaseToDelete);
                    _context.SaveChanges();
                    msg = "删除成功";
                }
                catch (RetryLimitExceededException)
                {
                    msg = "网络故障";
                }
            }

            var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }";

            return(Ok(str));
        }