コード例 #1
0
        public ApiResultModel EditPatientFile(long fileID, EditFilesModel oModel)
        {
            var strContent = JsonConvert.SerializeObject(oModel);
            var request    = ApiConsumerHelper.PostData("api/editPatientFile?fileID" + fileID, strContent);

            var result = JsonConvert.DeserializeObject <ApiResultModel>(request);

            return(result);
        }
コード例 #2
0
        public async Task <HttpResponseMessage> EditPatientFile(long fileID, EditFilesModel model)
        {
            UserFile patFile = new UserFile();

            try
            {
                if (fileID == 0)
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, new ApiResultModel {
                        ID = 0, message = "Invalid file ID."
                    });
                    return(response);
                }
                if (model.FileName == null || model.FileName == "" || !Regex.IsMatch(model.FileName.Trim(), "^[0-9a-zA-Z ]+$"))
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, new ApiResultModel {
                        ID = 0, message = "Invalid file name. Only letters and numbers are allowed."
                    });
                    return(response);
                }
                if (model.patientID == null || model.patientID == 0)
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, new ApiResultModel {
                        ID = 0, message = "Invalid patient ID."
                    });
                    return(response);
                }

                if (model.fileContent == null)
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, new ApiResultModel {
                        ID = 0, message = "File is empty. "
                    });
                    return(response);
                }
                if (model.documentType == null || model.documentType == "")
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, new ApiResultModel {
                        ID = 0, message = "Please provide document type. "
                    });
                    return(response);
                }

                //check for duplicate names
                patFile = db.UserFiles.Where(m => m.fileID != fileID && m.patientID == model.patientID && m.FileName == model.FileName.Trim() && m.active == true).FirstOrDefault();
                if (patFile != null)
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, new ApiResultModel {
                        ID = 0, message = "File name already taken."
                    });
                    return(response);
                }

                patFile = db.UserFiles.Where(m => m.fileID == fileID).FirstOrDefault();
                if (patFile == null)
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, new ApiResultModel {
                        ID = 0, message = "File not found."
                    });
                    return(response);
                }
                else
                {
                    patFile.active          = true;
                    patFile.FileName        = model.FileName;
                    patFile.md              = System.DateTime.Now;
                    patFile.fileContent     = model.fileContent;
                    patFile.documentType    = model.documentType;
                    patFile.mb              = model.patientID.ToString();
                    db.Entry(patFile).State = EntityState.Modified;
                    await db.SaveChangesAsync();

                    response = Request.CreateResponse(HttpStatusCode.OK, new ApiResultModel {
                        ID = fileID, message = ""
                    });
                    return(response);
                }
            }
            catch (Exception ex)
            {
                return(ThrowError(ex, "EditPatientCondition in PatientFileController."));
            }
        }