コード例 #1
0
        public async Task <HttpResponseMessage> MakeXRayExamination()
        {
            HttpResponseMessage response = new HttpResponseMessage();
            // 存储文件到数据库
            //一个对象反序列化的过程
            XrayInfo xrayInfo = (XrayInfo) await ReadAndSaveFile();

            string jsonStr = "";

            try
            {
                jsonStr          = JsonObjectConverter.ObjectToJson(xrayInfo);
                response.Content = new StringContent(jsonStr);
            }
            catch (Exception e)
            {
                response.Content    = new StringContent("post数据格式错误\nReceives:\n" + JsonObjectConverter.ObjectToJson(xrayInfo));
                response.StatusCode = HttpStatusCode.BadRequest;
                return(response);
            }
            // XRay表插入

            if (!ExaminerHelper.MakeXRayExamination(xrayInfo))
            {
                response.Content    = new StringContent("由于某种原因检测插入不成功");
                response.StatusCode = HttpStatusCode.Forbidden;
            }
            else
            {
                response.Content    = new StringContent("检测结果插入表中");
                response.StatusCode = HttpStatusCode.OK;
            }

            return(response);
        }
コード例 #2
0
        private async Task <Object> ReadAndSaveFile()
        {
            string root = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Uploads");

            var provider = new MultipartFormDataStreamProvider(root);

            await Request.Content.ReadAsMultipartAsync(provider);

            FileInfo finfo = new FileInfo(provider.FileData.First().LocalFileName);

            string guid = Guid.NewGuid().ToString();
            string path = Path.Combine(root, guid + "_" + provider.FileData.First().Headers.ContentDisposition.FileName.Replace("\"", ""));

            File.Move(finfo.FullName, path);
            var formData = provider.FormData;
            int type     = 10;

            try
            {
                type = int.Parse(formData.GetValues("type").FirstOrDefault());
            }
            catch (Exception e)
            {
                throw e;
            }

            // 新建一个对象
            Object info = new object();
            string exam_id;
            string checkpoint;
            string from_picture;
            string picture;
            string diagnoses;

            switch (type)
            {
            case 0:
                break;

            case 1:
                exam_id      = formData.GetValues("exam_id").FirstOrDefault();
                diagnoses    = formData.GetValues("diagnoses").FirstOrDefault();
                from_picture = formData.GetValues("from_picture").FirstOrDefault();
                info         = new GastroscopeInfo(exam_id, from_picture, diagnoses, path);
                break;

            case 2:
                exam_id      = formData.GetValues("exam_id").FirstOrDefault();
                checkpoint   = formData.GetValues("checkpoint").FirstOrDefault();
                from_picture = formData.GetValues("from_picture").FirstOrDefault();
                info         = new XrayInfo(exam_id, checkpoint, from_picture, path);
                break;

            default:
                return(null);
            }

            return(info);
        }
コード例 #3
0
        public static bool MakeXRayExamination(XrayInfo partXrayInfo)//插入XRay的检查结果
        {
            XrayInfo      xray = partXrayInfo;
            OracleCommand cmd  = new OracleCommand();

            cmd.Connection  = DatabaseHelper.GetInstance().conn;
            cmd.Transaction = DatabaseHelper.GetInstance().conn.BeginTransaction();
            try
            {
                string sqlStr = String.Format(
                    @"insert into XRay
                values('{0}','{1}','{2}','{3}')",
                    xray.exam_id, xray.checkpoint, xray.from_picture, xray.picture);
                cmd.CommandText = sqlStr;
                cmd.ExecuteNonQuery();
                cmd.Transaction.Commit();
            }
            catch (Exception e)
            {
                cmd.Transaction.Rollback();
                return(false);
            }
            return(true);
        }