Added support for PDFs and Images
This commit is contained in:
+73
-29
@@ -38,7 +38,7 @@ namespace PWAPPv2
|
||||
|
||||
Source.Patient patient;
|
||||
|
||||
List<Source.DataObjects.PWImage> images;
|
||||
List<Source.DataObjects.Attachment> attachments;
|
||||
|
||||
|
||||
//string ConfigPath = "C:\\PWAPP\\Config\\Config.xml";
|
||||
@@ -53,21 +53,21 @@ namespace PWAPPv2
|
||||
}
|
||||
catch (Exception)
|
||||
{ }
|
||||
|
||||
ConfigPath = "C:\\PWAPP\\Config\\";
|
||||
try
|
||||
{
|
||||
//ConfigPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
|
||||
//ConfigPath = Path.Combine(ConfigPath, "PWAPP\\Config\\");
|
||||
|
||||
ConfigPath = "C:\\PWAPP\\Config\\";
|
||||
|
||||
practiceConfig = new Source.Config.Configuration(ConfigPath + "PracticeConfig.xml");
|
||||
universalConfig = new Source.Config.Configuration(ConfigPath + "UniversalConfig.xml");
|
||||
|
||||
practiceConfig = new Source.Config.Configuration("C:\\PWAPP\\Config\\PracticeConfig.xml");
|
||||
universalConfig = new Source.Config.Configuration("C:\\PWAPP\\App\\Config\\UniversalConfig.xml");
|
||||
}
|
||||
catch
|
||||
(Exception)
|
||||
(Exception ex)
|
||||
{
|
||||
System.Windows.MessageBox.Show("An error has occured in the configurations files.");
|
||||
System.Windows.MessageBox.Show("An error has occured in the configurations files.\n(" + ex.Message + ")");
|
||||
}
|
||||
|
||||
pwapiConnection = new Source.API.PWApiConnection(practiceConfig, universalConfig);
|
||||
@@ -89,8 +89,12 @@ namespace PWAPPv2
|
||||
p.StartInfo.UseShellExecute = false;
|
||||
p.StartInfo.RedirectStandardOutput = true;
|
||||
p.StartInfo.RedirectStandardError = true;
|
||||
p.StartInfo.Arguments = args[0];
|
||||
if(System.Environment.OSVersion.Version.Major >= 6)
|
||||
try
|
||||
{
|
||||
p.StartInfo.Arguments = args[0];
|
||||
}
|
||||
catch { }
|
||||
if (System.Environment.OSVersion.Version.Major >= 6)
|
||||
{
|
||||
p.StartInfo.Verb = "runas";
|
||||
}
|
||||
@@ -106,8 +110,7 @@ namespace PWAPPv2
|
||||
|
||||
try
|
||||
{
|
||||
images = new List<Source.DataObjects.PWImage>();
|
||||
|
||||
attachments = new List<Source.DataObjects.Attachment>();
|
||||
|
||||
Source.Database.DatabaseConnection dbcon = new Source.Database.DatabaseConnection(practiceConfig);
|
||||
|
||||
@@ -207,7 +210,8 @@ namespace PWAPPv2
|
||||
private void Button_Click_1(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Source.DataObjects.Referral referral;
|
||||
if (images.Count == 0)
|
||||
|
||||
if (attachments.Count == 0)
|
||||
{
|
||||
referral = new Source.DataObjects.Referral(apiCreds, patient,
|
||||
(Source.DataObjects.ReferralTypeBox)TypeBox,
|
||||
@@ -224,17 +228,20 @@ namespace PWAPPv2
|
||||
fieldRemakrs, contact, true);
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
string referralString = referral.ToJsonString();
|
||||
string result = pwapiConnection.SendReferral(referralString); //apiConnection.SendPostRequestAsync("api/PWMakeReferral", referralString);
|
||||
if (images.Count > 0)
|
||||
string result = pwapiConnection.SendReferral(referralString);
|
||||
|
||||
|
||||
if (attachments.Count > 0)
|
||||
{
|
||||
foreach (Source.DataObjects.PWImage im in images)
|
||||
foreach (Source.DataObjects.Attachment attachment in attachments)
|
||||
{
|
||||
Source.DataObjects.Attachment att = new Source.DataObjects.Attachment(apiCreds, im, result);
|
||||
string json = att.ToJsonString();
|
||||
apiConnection.SendPostRequestAsync("api/PWAttachment", json);
|
||||
attachment.Token = result;
|
||||
string json = attachment.ToJsonString();
|
||||
apiConnection.SendPostWithCredsInHeader("api/PWAttachment", json);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,21 +260,41 @@ namespace PWAPPv2
|
||||
{
|
||||
System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
openFileDialog.Multiselect = true;
|
||||
openFileDialog.Filter = "Image files (*.jpg,*.jpeg)|*.jpg;*.jpeg";
|
||||
openFileDialog.Filter = "Attachment files (*.jpg,*.jpeg,*.pdf)|*.jpg;*.jpeg;*.pdf";
|
||||
openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
|
||||
|
||||
if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
foreach (string filename in openFileDialog.FileNames)
|
||||
{
|
||||
try
|
||||
if (Path.GetExtension(filename) == ".jpg" || Path.GetExtension(filename) == ".jpeg")
|
||||
{
|
||||
images.Add(new Source.DataObjects.PWImage(filename));
|
||||
try
|
||||
{
|
||||
attachments.Add(new Source.DataObjects.Attachment(apiCreds, new Source.DataObjects.PWImage(filename)));
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
|
||||
attachments = new List<Source.DataObjects.Attachment>
|
||||
{
|
||||
new Source.DataObjects.Attachment(apiCreds, new Source.DataObjects.PWImage(filename))
|
||||
};
|
||||
}
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
if (Path.GetExtension(filename) == ".pdf")
|
||||
{
|
||||
images = new List<Source.DataObjects.PWImage>();
|
||||
images.Add(new Source.DataObjects.PWImage(filename));
|
||||
try
|
||||
{
|
||||
attachments.Add(new Source.DataObjects.Attachment(apiCreds, new Source.DataObjects.PWPdf(filename)));
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
attachments = new List<Source.DataObjects.Attachment>()
|
||||
{
|
||||
new Source.DataObjects.Attachment(apiCreds, new Source.DataObjects.PWPdf(filename))
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,9 +303,17 @@ namespace PWAPPv2
|
||||
try
|
||||
{
|
||||
ImageList.Items.Clear();
|
||||
foreach (Source.DataObjects.PWImage image in images)
|
||||
|
||||
foreach (var attachment in attachments)
|
||||
{
|
||||
ImageList.Items.Add(CreateImageGridItem(image));
|
||||
if (attachment.image == null)
|
||||
{
|
||||
ImageList.Items.Add(CreateImageGridItem(new Source.DataObjects.PWImage("C:\\PWAPP\\App\\App\\pdf.jpg")));
|
||||
}
|
||||
else
|
||||
{
|
||||
ImageList.Items.Add(CreateImageGridItem(attachment.image));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
@@ -293,13 +328,22 @@ namespace PWAPPv2
|
||||
{
|
||||
return;
|
||||
}
|
||||
images.RemoveAt(index);
|
||||
|
||||
attachments.RemoveAt(index);
|
||||
try
|
||||
{
|
||||
ImageList.Items.Clear();
|
||||
foreach (Source.DataObjects.PWImage image in images)
|
||||
|
||||
foreach (var attachment in attachments)
|
||||
{
|
||||
ImageList.Items.Add(CreateImageGridItem(image));
|
||||
if (attachment.image == null)
|
||||
{
|
||||
ImageList.Items.Add(CreateImageGridItem(new Source.DataObjects.PWImage("C:\\PWAPP\\App\\App\\pdf.jpg")));
|
||||
}
|
||||
else
|
||||
{
|
||||
ImageList.Items.Add(CreateImageGridItem(attachment.image));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
|
||||
@@ -224,6 +224,7 @@
|
||||
<Compile Include="Source\DataObjects\PWImage.cs" />
|
||||
<Compile Include="Source\DataObjects\NumValList.cs" />
|
||||
<Compile Include="Source\DataObjects\NumValPair.cs" />
|
||||
<Compile Include="Source\DataObjects\PWPdf.cs" />
|
||||
<Compile Include="Source\DataObjects\ReferFromBox.cs" />
|
||||
<Compile Include="Source\DataObjects\Referral.cs" />
|
||||
<Compile Include="Source\DataObjects\ReferralTypeBox.cs" />
|
||||
|
||||
@@ -27,6 +27,10 @@ namespace PWAPPv2.Source.API
|
||||
Client.BaseAddress = new Uri(BaseURL);
|
||||
Client.DefaultRequestHeaders.Accept.Add(
|
||||
new MediaTypeWithQualityHeaderValue("application/json"));
|
||||
Client.DefaultRequestHeaders.Add("UserID", Credentials.UserID);
|
||||
Client.DefaultRequestHeaders.Add("Password", Credentials.Password);
|
||||
Client.DefaultRequestHeaders.Add("PracticeID", Credentials.PracticeId);
|
||||
Client.DefaultRequestHeaders.Add("ApiID", Credentials.APIid);
|
||||
|
||||
}
|
||||
|
||||
@@ -94,20 +98,17 @@ namespace PWAPPv2.Source.API
|
||||
/// <exception cref="RequestFailedExcpetion"></exception>
|
||||
public string SendPostWithCredsInHeader(string apiUri, string PostData)
|
||||
{
|
||||
Client.DefaultRequestHeaders.Add("UserID", Credentials.UserID);
|
||||
Client.DefaultRequestHeaders.Add("Password", Credentials.Password);
|
||||
Client.DefaultRequestHeaders.Add("PracticeID", Credentials.PracticeId);
|
||||
Client.DefaultRequestHeaders.Add("ApiID", Credentials.APIid);
|
||||
|
||||
|
||||
StringContent content = new StringContent(PostData, Encoding.UTF8, "application/json");
|
||||
string conts = content.ToString();
|
||||
|
||||
var response = Client.PostAsync(apiUri, content).Result;
|
||||
|
||||
Client.DefaultRequestHeaders.Remove("UserID");
|
||||
Client.DefaultRequestHeaders.Remove("Password");
|
||||
Client.DefaultRequestHeaders.Remove("PraticeID");
|
||||
Client.DefaultRequestHeaders.Remove("ApiID");
|
||||
//Client.DefaultRequestHeaders.Remove("UserID");
|
||||
//Client.DefaultRequestHeaders.Remove("Password");
|
||||
//Client.DefaultRequestHeaders.Remove("PraticeID");
|
||||
//Client.DefaultRequestHeaders.Remove("ApiID");
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
|
||||
@@ -3,32 +3,59 @@
|
||||
class Attachment
|
||||
{
|
||||
APICredentials Credentials;
|
||||
PWImage image;
|
||||
public PWImage image { get; set; }
|
||||
public PWPdf pdf { get; set; }
|
||||
public string Token;
|
||||
|
||||
string Token;
|
||||
private string fileType { get; set; }
|
||||
|
||||
|
||||
public Attachment(APICredentials credentials, PWImage pwImage, string token)
|
||||
public Attachment(APICredentials credentials, PWImage pwImage)
|
||||
{
|
||||
Credentials = credentials;
|
||||
image = pwImage;
|
||||
Token = token;
|
||||
//Token = token;
|
||||
pdf = null;
|
||||
fileType = "image/jpeg";
|
||||
}
|
||||
|
||||
public Attachment(APICredentials credentials, PWPdf pwPdf)
|
||||
{
|
||||
Credentials = credentials;
|
||||
pdf = pwPdf;
|
||||
image = null;
|
||||
fileType = "application/pdf";
|
||||
}
|
||||
|
||||
public string ToJsonString()
|
||||
{
|
||||
return "\"{" + Credentials.BuildJsonBodyContents() +
|
||||
",'UserNum':'API'," +
|
||||
"'AttToken':'" + Token.Replace("\"", "") + "'," +
|
||||
"'FileName':'" + image.ShortFileName() + "'," +
|
||||
"'ContentType':'_1'," +
|
||||
"'ThumbExists':'1'," +
|
||||
"'ZoomExists':'1'," +
|
||||
"'FileDate':''," +
|
||||
"'Base64FileContents':'" + image.GetBase64String() + "',\n" +
|
||||
"'Base64ThumbContents':'" + image.GetBase64ThumbString() + "',\n" +
|
||||
"'Base64ZoomContents':'" + image.GetBase64ZoomString() + "'}\"";
|
||||
if (fileType == "image/jpeg")
|
||||
{
|
||||
return "\"{" + Credentials.BuildJsonBodyContents() +
|
||||
",'UserNum':'API'," +
|
||||
"'AttToken':'" + Token.Replace("\"", "") + "'," +
|
||||
"'FileName':'" + image.ShortFileName() + "'," +
|
||||
"'ThumbExists':'1'," +
|
||||
"'ZoomExists':'1'," +
|
||||
"'FileDate':''," +
|
||||
"'FileType':'" + fileType + "'," +
|
||||
"'Base64FileContents':'" + image.GetBase64String() + "',\n" +
|
||||
"'Base64ThumbContents':'" + image.GetBase64ThumbString() + "',\n" +
|
||||
"'Base64ZoomContents':'" + image.GetBase64ZoomString() + "'}\"";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "\"{" + Credentials.BuildJsonBodyContents() +
|
||||
",'UserNum':'API'," +
|
||||
"'AttToken':'" + Token.Replace("\"", "") + "'," +
|
||||
"'FileName':'" + pdf.ShortFileName() + "'," +
|
||||
"'ThumbExists':'0'," +
|
||||
"'ZoomExists':'0'," +
|
||||
"'FileDate':''," +
|
||||
"'FileType':'" + fileType + "'," +
|
||||
"'Base64FileContents':'" + pdf.GetBase64String() + "',\n" +
|
||||
"'Base64ThumbContents':'',\n" +
|
||||
"'Base64ZoomContents':''}\"";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PWAPPv2.Source.DataObjects
|
||||
{
|
||||
public class PWPdf
|
||||
{
|
||||
public string path;
|
||||
|
||||
|
||||
public PWPdf(string path)
|
||||
{
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
public string GetBase64String()
|
||||
{
|
||||
byte[] bytes = File.ReadAllBytes(path);
|
||||
return Convert.ToBase64String(bytes);
|
||||
}
|
||||
|
||||
public string ShortFileName()
|
||||
{
|
||||
return path.Substring(path.LastIndexOf("\\") + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user