示例#1
0
 public void Add(ImageUploadSession imageUploadSession)
 {
     using (var surityDBContext = new SurityDBContext())
     {
         surityDBContext.ImageUploadSessions.Add(imageUploadSession);
         surityDBContext.SaveChanges();
     }
 }
        public HttpResponseMessage Upload(ImageUploadRequest imageUploadRequest)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var xmlDocumentName = Guid.NewGuid().ToString() + ".xml";

                    var imageUploadSession = new ImageUploadSession()
                    {
                        RequestNumber = imageUploadRequest.RequestNumber,
                        UserName      = imageUploadRequest.UserName,
                        Image         = new Image()
                        {
                            FileName            = imageUploadRequest.ImageName,
                            SignedImageFileName = xmlDocumentName
                        }
                    };

                    var digitalCertificate = _digitalCertificateRepository.Query().FirstOrDefault();

                    ImageCryptographyManager.SignImage(
                        imageUploadRequest.ImageData,
                        //File.ReadAllBytes(HttpContext.Current.Server.MapPath("~/") + "\\" + "Test.png"),
                        digitalCertificate.PrivateKey,
                        Path.Combine(FilePaths.XMLBasePath, xmlDocumentName)
                        );

                    _imageUploadSessionRepository.Add(imageUploadSession);

                    return(new HttpResponseMessage
                    {
                        StatusCode = HttpStatusCode.OK,
                        Content = new StringContent(LanguageConstants.ImageSuccessfullyUploaded)
                    });
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
                }
            }
            catch
            {
                // If an uncaught exception occurs, return an error response
                // with status code 500 (Internal Server Error)
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, LanguageConstants.InternalServerError));
            }
        }