Modified how attachments are pushed to the API.
Added support for BMP and GIF image types.
This commit is contained in:
parent
f31302438d
commit
205b3d8014
@ -59,11 +59,22 @@ namespace PWAPPv2
|
|||||||
SupportedImageTypes.Add(".jpeg");
|
SupportedImageTypes.Add(".jpeg");
|
||||||
SupportedImageTypes.Add(".jpg");
|
SupportedImageTypes.Add(".jpg");
|
||||||
SupportedImageTypes.Add(".png");
|
SupportedImageTypes.Add(".png");
|
||||||
|
SupportedImageTypes.Add(".gif");
|
||||||
|
SupportedImageTypes.Add(".bmp");
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
args = App.Args;
|
args = App.Args;
|
||||||
|
if(args.Length == 0)
|
||||||
|
{
|
||||||
|
throw new NoArgumentsException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (NoArgumentsException)
|
||||||
|
{
|
||||||
|
System.Windows.MessageBox.Show("No Patient ID was selected.\nPlease select a patient and retry the referral.");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{ }
|
{ }
|
||||||
@ -431,4 +442,9 @@ namespace PWAPPv2
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class NoArgumentsException : Exception
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -230,6 +230,8 @@
|
|||||||
<Compile Include="Source\Attachments\AttachmentFactory.cs" />
|
<Compile Include="Source\Attachments\AttachmentFactory.cs" />
|
||||||
<Compile Include="Source\Attachments\FileHandler.cs" />
|
<Compile Include="Source\Attachments\FileHandler.cs" />
|
||||||
<Compile Include="Source\Attachments\PWAttachment.cs" />
|
<Compile Include="Source\Attachments\PWAttachment.cs" />
|
||||||
|
<Compile Include="Source\Attachments\PWBaseAttachment.cs" />
|
||||||
|
<Compile Include="Source\Attachments\PWFileUpload.cs" />
|
||||||
<Compile Include="Source\Config\Configuration.cs" />
|
<Compile Include="Source\Config\Configuration.cs" />
|
||||||
<Compile Include="Source\Database\DatabaseConfig.cs" />
|
<Compile Include="Source\Database\DatabaseConfig.cs" />
|
||||||
<Compile Include="Source\Database\DatabaseConnection.cs" />
|
<Compile Include="Source\Database\DatabaseConnection.cs" />
|
||||||
@ -237,6 +239,7 @@
|
|||||||
<Compile Include="Source\DataObjects\Attachment.cs" />
|
<Compile Include="Source\DataObjects\Attachment.cs" />
|
||||||
<Compile Include="Source\DataObjects\ComboBoxData.cs" />
|
<Compile Include="Source\DataObjects\ComboBoxData.cs" />
|
||||||
<Compile Include="Source\DataObjects\Exceptions.cs" />
|
<Compile Include="Source\DataObjects\Exceptions.cs" />
|
||||||
|
<Compile Include="Source\DataObjects\PWFile.cs" />
|
||||||
<Compile Include="Source\DataObjects\PWImage.cs" />
|
<Compile Include="Source\DataObjects\PWImage.cs" />
|
||||||
<Compile Include="Source\DataObjects\NumValList.cs" />
|
<Compile Include="Source\DataObjects\NumValList.cs" />
|
||||||
<Compile Include="Source\DataObjects\NumValPair.cs" />
|
<Compile Include="Source\DataObjects\NumValPair.cs" />
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using PWAPPv2.Source.DataObjects;
|
using Microsoft.Identity.Client;
|
||||||
|
using PWAPPv2.Source.DataObjects;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -49,5 +50,29 @@ namespace PWAPPv2.Source.Attachments
|
|||||||
return attachment;
|
return attachment;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static PWBaseAttachment BuildBaseAttachment(string token, PWImage image)
|
||||||
|
{
|
||||||
|
PWBaseAttachment attachment = new PWBaseAttachment();
|
||||||
|
attachment.AttToken = token.Replace("\"", "");
|
||||||
|
attachment.ThumbExists = true;
|
||||||
|
attachment.ZoomExists = true;
|
||||||
|
attachment.FileDate = "";
|
||||||
|
attachment.FileName = image.ShortFileName();
|
||||||
|
attachment.FileType = image.FileType;
|
||||||
|
return attachment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PWBaseAttachment BuildBaseAttachment(string token, PWPdf pdf)
|
||||||
|
{
|
||||||
|
PWBaseAttachment attachment = new PWBaseAttachment();
|
||||||
|
attachment.AttToken = token.Replace("\"", "");
|
||||||
|
attachment.ThumbExists = false;
|
||||||
|
attachment.ZoomExists = true;
|
||||||
|
attachment.FileDate = "";
|
||||||
|
attachment.FileName = pdf.ShortFileName();
|
||||||
|
attachment.FileType = "application/pdf";
|
||||||
|
return attachment;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
12
PWAPPv2/Source/Attachments/AttachmentResponse.cs
Normal file
12
PWAPPv2/Source/Attachments/AttachmentResponse.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace PWAPPv2.Source.Attachments
|
||||||
|
{
|
||||||
|
public class AttachmentResponse
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -37,7 +37,10 @@ namespace PWAPPv2.Source.Attachments
|
|||||||
SupportedImageTypes.Add(".jpeg");
|
SupportedImageTypes.Add(".jpeg");
|
||||||
SupportedImageTypes.Add(".jpg");
|
SupportedImageTypes.Add(".jpg");
|
||||||
SupportedImageTypes.Add(".png");
|
SupportedImageTypes.Add(".png");
|
||||||
//SupportedImageTypes.Add(".tiff");
|
SupportedImageTypes.Add(".tiff");
|
||||||
|
SupportedImageTypes.Add(".tif");
|
||||||
|
SupportedImageTypes.Add(".gif");
|
||||||
|
SupportedImageTypes.Add(".bmp");
|
||||||
|
|
||||||
SupportedDocumentTypes.Clear();
|
SupportedDocumentTypes.Clear();
|
||||||
SupportedDocumentTypes.Add(".pdf");
|
SupportedDocumentTypes.Add(".pdf");
|
||||||
@ -108,23 +111,50 @@ namespace PWAPPv2.Source.Attachments
|
|||||||
}
|
}
|
||||||
foreach(DataObjects.Attachment attachment in Attachments)
|
foreach(DataObjects.Attachment attachment in Attachments)
|
||||||
{
|
{
|
||||||
PWAttachment att = null;
|
//PWAttachment att = null;
|
||||||
|
PWBaseAttachment ba = null;
|
||||||
|
|
||||||
|
List<PWFileUpload> fileUploads = new List<PWFileUpload>();
|
||||||
|
|
||||||
if (attachment.image != null)
|
if (attachment.image != null)
|
||||||
{
|
{
|
||||||
att = AttachmentFactory.BuildAttachment(credentials, token, attachment.image);
|
//att = AttachmentFactory.BuildAttachment(credentials, token, attachment.image);
|
||||||
|
ba = AttachmentFactory.BuildBaseAttachment(token, attachment.image);
|
||||||
|
//fileUploads.Add(attachment.image.GetFileUploads(attachment.co))
|
||||||
|
|
||||||
|
string json = JsonSerializer.Serialize(ba);
|
||||||
|
string contId = connection.SendPostWithCredsInHeader("api/PWAddAttachment", json);
|
||||||
|
contId = contId.Replace("\"", "").Replace("\\n", "").Trim();
|
||||||
|
fileUploads = attachment.image.GetFileUploads(token, contId);
|
||||||
|
foreach(PWFileUpload file in fileUploads)
|
||||||
|
{
|
||||||
|
json = JsonSerializer.Serialize(file);
|
||||||
|
connection.SendPostWithCredsInHeader("api/PWUploadFile", json);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (attachment.pdf != null)
|
else if (attachment.pdf != null)
|
||||||
{
|
{
|
||||||
att = AttachmentFactory.BuildAttachment(credentials, token, attachment.pdf);
|
//att = AttachmentFactory.BuildAttachment(credentials, token, attachment.pdf);
|
||||||
|
ba = AttachmentFactory.BuildBaseAttachment(token, attachment.pdf);
|
||||||
|
|
||||||
|
string json = JsonSerializer.Serialize(ba);
|
||||||
|
string contId = connection.SendPostWithCredsInHeader("api/PWAddAttachment", json);
|
||||||
|
fileUploads = attachment.pdf.GetFileUploads(token, contId);
|
||||||
|
foreach (PWFileUpload file in fileUploads)
|
||||||
|
{
|
||||||
|
json = JsonSerializer.Serialize(file);
|
||||||
|
connection.SendPostWithCredsInHeader("api/PWUploadFile", json);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (att == null)
|
//if (att == null)
|
||||||
{
|
//{
|
||||||
throw new AttachmentTypeNotYetSupportedException();
|
// throw new AttachmentTypeNotYetSupportedException();
|
||||||
}
|
//}
|
||||||
string json = JsonSerializer.Serialize(att);
|
//string json = JsonSerializer.Serialize(att);
|
||||||
connection.SendPostWithCredsInHeader("api/PWAttachment", json);
|
//connection.SendPostWithCredsInHeader("api/PWAttachment", json);
|
||||||
|
//json = JsonSerializer.Serialize(ba);
|
||||||
|
//connection.SendPostWithCredsInHeader("api/PWAddAttachment", json);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
19
PWAPPv2/Source/Attachments/PWBaseAttachment.cs
Normal file
19
PWAPPv2/Source/Attachments/PWBaseAttachment.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace PWAPPv2.Source.Attachments
|
||||||
|
{
|
||||||
|
public class PWBaseAttachment
|
||||||
|
{
|
||||||
|
public string AttToken { get; set; }
|
||||||
|
public string FileName { get; set; }
|
||||||
|
public bool ThumbExists { get; set; }
|
||||||
|
public bool ZoomExists { get; set; }
|
||||||
|
public string FileDate { get; set; }
|
||||||
|
public string FileType { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
16
PWAPPv2/Source/Attachments/PWFileUpload.cs
Normal file
16
PWAPPv2/Source/Attachments/PWFileUpload.cs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace PWAPPv2.Source.Attachments
|
||||||
|
{
|
||||||
|
public class PWFileUpload
|
||||||
|
{
|
||||||
|
public string Base64Content { get; set; }
|
||||||
|
public string AttToken { get; set; }
|
||||||
|
public string ContentId { get; set; }
|
||||||
|
public string Tag { get; set; }
|
||||||
|
}
|
||||||
|
}
|
13
PWAPPv2/Source/DataObjects/PWFile.cs
Normal file
13
PWAPPv2/Source/DataObjects/PWFile.cs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace PWAPPv2.Source.DataObjects
|
||||||
|
{
|
||||||
|
interface PWFile
|
||||||
|
{
|
||||||
|
List<Attachments.PWFileUpload> GetFileUploads(string attToken, string ContentId);
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,14 @@
|
|||||||
using System;
|
using PWAPPv2.Source.Attachments;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
|
||||||
namespace PWAPPv2.Source.DataObjects
|
namespace PWAPPv2.Source.DataObjects
|
||||||
{
|
{
|
||||||
public class PWImage
|
public class PWImage : PWFile
|
||||||
{
|
{
|
||||||
|
|
||||||
private string ImagePath;
|
private string ImagePath;
|
||||||
@ -30,14 +33,26 @@ namespace PWAPPv2.Source.DataObjects
|
|||||||
|
|
||||||
string extension = Path.GetExtension(path).ToLower();
|
string extension = Path.GetExtension(path).ToLower();
|
||||||
|
|
||||||
if(extension == ".jpeg" || extension == ".jpg")
|
if (extension == ".jpeg" || extension == ".jpg")
|
||||||
{
|
{
|
||||||
FileType = "image/jpeg";
|
FileType = "image/jpeg";
|
||||||
}
|
}
|
||||||
else if(extension == ".png")
|
else if (extension == ".png")
|
||||||
{
|
{
|
||||||
FileType = "image/png";
|
FileType = "image/png";
|
||||||
}
|
}
|
||||||
|
else if (extension == ".tiff" || extension == ".tif")
|
||||||
|
{
|
||||||
|
FileType = "image/tiff";
|
||||||
|
}
|
||||||
|
else if(extension == ".gif")
|
||||||
|
{
|
||||||
|
FileType = "image/gif";
|
||||||
|
}
|
||||||
|
else if(extension == ".bmp")
|
||||||
|
{
|
||||||
|
FileType = "image/bmp";
|
||||||
|
}
|
||||||
|
|
||||||
//bmp = (Bitmap)System.Drawing.Image.FromFile(ImagePath);
|
//bmp = (Bitmap)System.Drawing.Image.FromFile(ImagePath);
|
||||||
//thumb = resize(bmp, 50, 50);
|
//thumb = resize(bmp, 50, 50);
|
||||||
@ -118,5 +133,29 @@ namespace PWAPPv2.Source.DataObjects
|
|||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<PWFileUpload> GetFileUploads(string attToken, string ContentId)
|
||||||
|
{
|
||||||
|
List<PWFileUpload> fileUploads = new List<PWFileUpload>();
|
||||||
|
PWFileUpload baseImage = new PWFileUpload();
|
||||||
|
baseImage.ContentId = ContentId;
|
||||||
|
baseImage.Base64Content = GetBase64String();
|
||||||
|
baseImage.AttToken = attToken;
|
||||||
|
|
||||||
|
PWFileUpload zoom = new PWFileUpload();
|
||||||
|
zoom.Base64Content = GetBase64ZoomString();
|
||||||
|
zoom.ContentId = ContentId;
|
||||||
|
zoom.Tag = "_zoom";
|
||||||
|
zoom.AttToken = attToken;
|
||||||
|
|
||||||
|
PWFileUpload thumb = new PWFileUpload();
|
||||||
|
thumb.Base64Content= GetBase64ThumbString();
|
||||||
|
thumb.ContentId = ContentId;
|
||||||
|
thumb.Tag = "_th";
|
||||||
|
thumb.AttToken = attToken;
|
||||||
|
fileUploads.Add(baseImage);
|
||||||
|
fileUploads.Add(zoom);
|
||||||
|
fileUploads.Add(thumb);
|
||||||
|
return fileUploads;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using PWAPPv2.Source.Attachments;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -7,7 +8,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace PWAPPv2.Source.DataObjects
|
namespace PWAPPv2.Source.DataObjects
|
||||||
{
|
{
|
||||||
public class PWPdf
|
public class PWPdf : PWFile
|
||||||
{
|
{
|
||||||
public string path;
|
public string path;
|
||||||
|
|
||||||
@ -23,6 +24,17 @@ namespace PWAPPv2.Source.DataObjects
|
|||||||
return Convert.ToBase64String(bytes);
|
return Convert.ToBase64String(bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<PWFileUpload> GetFileUploads(string attToken, string ContentId)
|
||||||
|
{
|
||||||
|
List<PWFileUpload> fileUploads = new List<PWFileUpload>();
|
||||||
|
PWFileUpload file = new PWFileUpload();
|
||||||
|
file.Base64Content = GetBase64String();
|
||||||
|
file.ContentId = ContentId;
|
||||||
|
file.AttToken = attToken;
|
||||||
|
fileUploads.Add(file);
|
||||||
|
return fileUploads;
|
||||||
|
}
|
||||||
|
|
||||||
public string ShortFileName()
|
public string ShortFileName()
|
||||||
{
|
{
|
||||||
return path.Substring(path.LastIndexOf("\\") + 1);
|
return path.Substring(path.LastIndexOf("\\") + 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user