Commit cb5c96f1 by Liv Haapala

update

1 parent febb15ff
...@@ -14,7 +14,7 @@ namespace CardDisplay.DataClasses ...@@ -14,7 +14,7 @@ namespace CardDisplay.DataClasses
public string ImportJson() public string ImportJson()
{ {
var ser = new JavaScriptSerializer(); var ser = new JavaScriptSerializer();
return this.GetType().ToString() + ser.Serialize(this); return ser.Serialize(this);
} }
} }
} }
...@@ -8,7 +8,10 @@ namespace CardDisplay ...@@ -8,7 +8,10 @@ namespace CardDisplay
public class ReaderEvent public class ReaderEvent
{ {
public int readerEventId = 0; public int readerEventId = 0;
public DateTime readerEventTime = DateTime.MinValue;
public int readerId = 0; public int readerId = 0;
public Eventuser eventuser; public Eventuser eventuser;
public int printedCardId = 0;
public string printedCardState = "";
} }
} }
...@@ -56,6 +56,7 @@ namespace HttpUtils ...@@ -56,6 +56,7 @@ namespace HttpUtils
int timestamp = ConvertToTimestamp(DateTime.Now); int timestamp = ConvertToTimestamp(DateTime.Now);
string hash = CalculateSHA1("/" + parameters + "+" + CardDisplay.Properties.Settings.Default.ApiKey + "+" + CardDisplay.Properties.Settings.Default.ApiUser + "+" + timestamp + "+" + CardDisplay.Properties.Settings.Default.ApiPass); string hash = CalculateSHA1("/" + parameters + "+" + CardDisplay.Properties.Settings.Default.ApiKey + "+" + CardDisplay.Properties.Settings.Default.ApiUser + "+" + timestamp + "+" + CardDisplay.Properties.Settings.Default.ApiPass);
string url = server + "/rest/" + parameters + "?appkey=" + CardDisplay.Properties.Settings.Default.ApiKey + "&appuser=" + CardDisplay.Properties.Settings.Default.ApiUser + "&appstamp=" + timestamp + "&appmac=" + hash; string url = server + "/rest/" + parameters + "?appkey=" + CardDisplay.Properties.Settings.Default.ApiKey + "&appuser=" + CardDisplay.Properties.Settings.Default.ApiUser + "&appstamp=" + timestamp + "&appmac=" + hash;
Console.WriteLine(url);
return url; return url;
} }
...@@ -124,15 +125,17 @@ namespace HttpUtils ...@@ -124,15 +125,17 @@ namespace HttpUtils
} }
// grab the response // grab the response
using (var responseStream = response.GetResponseStream()) if (response.ContentLength > 0)
{ {
if (responseStream != null) using (var responseStream = response.GetResponseStream())
using (var reader = new StreamReader(responseStream)) {
{ if (responseStream != null)
responseValue = reader.ReadToEnd(); using (var reader = new StreamReader(responseStream))
} {
responseValue = reader.ReadToEnd();
}
}
} }
return responseValue; return responseValue;
} }
} }
......
using CardDisplay.DataClasses; using CardDisplay.DataClasses;
using HttpUtils;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
...@@ -30,6 +31,8 @@ namespace CardDisplay ...@@ -30,6 +31,8 @@ namespace CardDisplay
int slotNumber = 0; int slotNumber = 0;
int pageNumber = 0; int pageNumber = 0;
DateTime started = DateTime.MinValue;
private void button1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)
{ {
active = !active; active = !active;
...@@ -48,10 +51,36 @@ namespace CardDisplay ...@@ -48,10 +51,36 @@ namespace CardDisplay
startButton.Text = "Keskeytä"; startButton.Text = "Keskeytä";
else else
startButton.Text = "Aloita"; startButton.Text = "Aloita";
timer1.Enabled = true;
started = DateTime.Now;
} }
private void AddCardMetaData_Load(object sender, EventArgs e) private void AddCardMetaData_Load(object sender, EventArgs e)
{ {
RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
try
{
ret = client.MakeRequest("reader/List");
var ser = new JavaScriptSerializer();
ReaderList readers = ser.Deserialize<ReaderList>(ret);
readersComboBox1.Items.Clear();
foreach (Reader reader in readers.readers)
{
readersComboBox1.Items.Add(reader);
}
}
catch (Exception ex)
{
ret = ex.Message;
}
} }
string ret = ""; string ret = "";
private void timer1_Tick(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e)
...@@ -59,53 +88,54 @@ namespace CardDisplay ...@@ -59,53 +88,54 @@ namespace CardDisplay
if (readersComboBox1.SelectedItem != null) if (readersComboBox1.SelectedItem != null)
{ {
Reader reader = (Reader)readersComboBox1.SelectedItem; Reader reader = (Reader)readersComboBox1.SelectedItem;
HttpUtils.RestClient client = new HttpUtils.RestClient(apiUrl + "/reader/readerevents/" + reader.readerId + "/" + slot1ReaderEventId); RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
try try
{ {
ret = client.MakeRequest(); ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot1ReaderEventId);
var ser = new JavaScriptSerializer(); var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret); ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents) foreach (ReaderEvent re in events.readerEvents)
{ {
client = new HttpUtils.RestClient(apiUrl + "/card/ListAll"); if (re.printedCardId != 0 && re.printedCardState == statePrinted && re.readerEventTime >= started)
ret = client.MakeRequest();
CardList cards = ser.Deserialize<CardList>(ret);
cards.cards = cards.cards.OrderBy(c => c.printTime).ToList();
foreach (Card card in cards.cards)
{ {
if (card.state == statePrinted) client = new RestClient(Properties.Settings.Default.ApiURL);
{ ret = client.MakeRequest("card/Get/" + re.printedCardId);
slot1ReaderEventId = re.readerEventId;
string key = "cardplace";
string value = ""; Card card = ser.Deserialize<Card>(ret);
if(prefixTextBox.Text != "")
value = prefixTextBox.Text + ".";
value += bookNumber.ToString() + "." + pageNumber.ToString() + "." + slotNumber.ToString();
MetaData data = new MetaData(); slot1ReaderEventId = re.readerEventId;
data.key = key;
data.value = value;
if ((slotNumber + 1) >= SlotsNumberNumericUpDown.Value) string key = "cardplace";
{
slotNumber = 1;
pageNumber++;
}
else
slotNumber++;
lastAddedTextBox.Text = key + ":" + value; string value = "";
if (prefixTextBox.Text != "")
value = prefixTextBox.Text + ".";
value += bookNumber.ToString() + "." + pageNumber.ToString() + "." + slotNumber.ToString();
HttpUtils.RestClient client2 = new HttpUtils.RestClient(apiUrl + "/meta/printedcard/" + card.cardId + "/card-filing"); MetaData data = new MetaData();
client2.PostData = data.ImportJson(); data.key = key;
client2.MakeRequest(); data.value = value;
break; if ((slotNumber + 1) >= SlotsNumberNumericUpDown.Value)
{
slotNumber = 1;
pageNumber++;
} }
else
slotNumber++;
lastAddedTextBox.Text = key + ":" + value;
string json = "{\"" + data.key + "\":\"" + data.value + "\"}";
HttpUtils.RestClient client2 = new HttpUtils.RestClient(Properties.Settings.Default.ApiURL, HttpVerb.POST, json);
client2.MakeRequest("meta/v1/printedcard/" + card.cardId + "/card-filing");
} }
} }
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -52,7 +52,6 @@ ...@@ -52,7 +52,6 @@
// //
this.ApiPassTextBox.Location = new System.Drawing.Point(12, 164); this.ApiPassTextBox.Location = new System.Drawing.Point(12, 164);
this.ApiPassTextBox.Name = "ApiPassTextBox"; this.ApiPassTextBox.Name = "ApiPassTextBox";
this.ApiPassTextBox.PasswordChar = 'ῷ';
this.ApiPassTextBox.Size = new System.Drawing.Size(260, 20); this.ApiPassTextBox.Size = new System.Drawing.Size(260, 20);
this.ApiPassTextBox.TabIndex = 34; this.ApiPassTextBox.TabIndex = 34;
// //
......
...@@ -19,7 +19,6 @@ namespace CardDisplay ...@@ -19,7 +19,6 @@ namespace CardDisplay
InitializeComponent(); InitializeComponent();
} }
string readerApiUrl = "http://localhost:8080/MoyaWeb/rest/reader/List";
string statePrinted = "PRINTED"; string statePrinted = "PRINTED";
...@@ -40,10 +39,10 @@ namespace CardDisplay ...@@ -40,10 +39,10 @@ namespace CardDisplay
{ {
timer1.Stop(); timer1.Stop();
RestClient client = new RestClient(readerApiUrl); RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
try try
{ {
ret = client.MakeRequest(); ret = client.MakeRequest("reader/List");
var ser = new JavaScriptSerializer(); var ser = new JavaScriptSerializer();
...@@ -143,27 +142,26 @@ namespace CardDisplay ...@@ -143,27 +142,26 @@ namespace CardDisplay
if (readersComboBox1.SelectedItem != null) if (readersComboBox1.SelectedItem != null)
{ {
Reader reader = (Reader)readersComboBox1.SelectedItem; Reader reader = (Reader)readersComboBox1.SelectedItem;
RestClient client = new RestClient(Properties.Settings.Default.ApiURL + "/reader/readerevents/" + reader.readerId + "/" + slot1ReaderEventId); RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
try try
{ {
ret = client.MakeRequest(); ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot1ReaderEventId);
var ser = new JavaScriptSerializer(); var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret); ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents) foreach (ReaderEvent re in events.readerEvents)
{ {
client = new RestClient(Properties.Settings.Default.ApiURL + "/card/ListAll"); if (re.printedCardId != 0 && re.printedCardState == statePrinted)
ret = client.MakeRequest();
CardList cards = ser.Deserialize<CardList>(ret);
cards.cards = cards.cards.OrderBy(c => c.printTime).ToList();
foreach (Card card in cards.cards)
{ {
if (card.state == statePrinted) RestClient client2 = new RestClient(Properties.Settings.Default.ApiURL);
{ ret = client2.MakeRequest("card/Get/" + re.printedCardId);
slot1Cards.Add(card);
pictureBox1.ImageLocation = Properties.Settings.Default.ApiURL + "/card/GetImage/" + card.cardId; Card card = ser.Deserialize<Card>(ret);
slot1SelectedCard = card;
} slot1Cards.Add(card);
pictureBox1.ImageLocation = Properties.Settings.Default.ApiURL + "/card/GetImage/" + re.printedCardId;
slot1SelectedCard = card;
} }
} }
} }
...@@ -180,27 +178,26 @@ namespace CardDisplay ...@@ -180,27 +178,26 @@ namespace CardDisplay
if (readersComboBox2.SelectedItem != null) if (readersComboBox2.SelectedItem != null)
{ {
Reader reader = (Reader)readersComboBox2.SelectedItem; Reader reader = (Reader)readersComboBox2.SelectedItem;
RestClient client = new RestClient(Properties.Settings.Default.ApiURL + "/reader/readerevents/" + reader.readerId + "/" + slot2ReaderEventId); RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
try try
{ {
ret = client.MakeRequest(); ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot2ReaderEventId);
var ser = new JavaScriptSerializer(); var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret); ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents) foreach (ReaderEvent re in events.readerEvents)
{ {
client = new RestClient(Properties.Settings.Default.ApiURL + "/card/ListAll"); if (re.printedCardId != 0 && re.printedCardState == statePrinted)
ret = client.MakeRequest();
CardList cards = ser.Deserialize<CardList>(ret);
cards.cards = cards.cards.OrderBy(c => c.printTime).ToList();
foreach (Card card in cards.cards)
{ {
if (card.state == statePrinted) RestClient client2 = new RestClient(Properties.Settings.Default.ApiURL);
{ ret = client2.MakeRequest("card/Get/" + re.printedCardId);
Card card = ser.Deserialize<Card>(ret);
slot2Cards.Add(card); slot2Cards.Add(card);
pictureBox2.ImageLocation = Properties.Settings.Default.ApiURL + "/rest/card/GetImage/" + card.cardId; pictureBox2.ImageLocation = Properties.Settings.Default.ApiURL + "/rest/card/GetImage/" + card.cardId;
slot2SelectedCard = card; slot2SelectedCard = card;
}
} }
} }
} }
...@@ -216,27 +213,26 @@ namespace CardDisplay ...@@ -216,27 +213,26 @@ namespace CardDisplay
if (readersComboBox3.SelectedItem != null) if (readersComboBox3.SelectedItem != null)
{ {
Reader reader = (Reader)readersComboBox3.SelectedItem; Reader reader = (Reader)readersComboBox3.SelectedItem;
RestClient client = new RestClient(Properties.Settings.Default.ApiURL + "/reader/readerevents/" + reader.readerId + "/" + slot3ReaderEventId); RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
try try
{ {
ret = client.MakeRequest(); ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot3ReaderEventId);
var ser = new JavaScriptSerializer(); var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret); ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents) foreach (ReaderEvent re in events.readerEvents)
{ {
client = new RestClient(Properties.Settings.Default.ApiURL + "/card/ListAll"); if (re.printedCardId != 0 && re.printedCardState == statePrinted)
ret = client.MakeRequest();
CardList cards = ser.Deserialize<CardList>(ret);
cards.cards = cards.cards.OrderBy(c => c.printTime).ToList();
foreach (Card card in cards.cards)
{ {
if (card.state == statePrinted) RestClient client2 = new RestClient(Properties.Settings.Default.ApiURL);
{ ret = client2.MakeRequest("card/Get/" + re.printedCardId);
slot3Cards.Add(card);
pictureBox3.ImageLocation = Properties.Settings.Default.ApiURL + "/rest/card/GetImage/" + card.cardId; Card card = ser.Deserialize<Card>(ret);
slot3SelectedCard = card; slot3Cards.Add(card);
} pictureBox3.ImageLocation = Properties.Settings.Default.ApiURL + "/rest/card/GetImage/" + card.cardId;
slot3SelectedCard = card;
} }
} }
} }
......
No preview for this file type
using MoyaAdminUI.MoyaAPI;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
using System.Windows.Forms;
namespace MoyaAdminUI
{
public partial class CardLocationInput : Form
{
public static string CARD_PREFIX = "277";
public int barcodeLength = 13;
string key = "cardplace";
private Card lastAddedMeta;
public CardLocationInput()
{
InitializeComponent();
}
private void CardLocationInput_Load(object sender, EventArgs e)
{
}
private void barcodeTextBox_TextChanged(object sender, EventArgs e)
{
barcodeTimer.Start();
}
private void barcodeTimer_Tick(object sender, EventArgs e)
{
if (barcodeTextBox.Text.Length == barcodeLength && barcodeTextBox.Text.Substring(0, 3) == CARD_PREFIX)
{
string idtext = barcodeTextBox.Text.Substring(3,9);
int id = 0;
int.TryParse(idtext, out id);
if(id != 0)
{
RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
string ret = client.MakeRequest("card/Get/" + id);
var ser = new JavaScriptSerializer();
Card card = ser.Deserialize<Card>(ret);
string value = "";
if (prefixTextBox.Text != "")
value = prefixTextBox.Text + ".";
value += BooksNumberNumericUpDown.Value.ToString() + "." + PageNumberNumericUpDown.Value.ToString() + "." + SlotsNumberNumericUpDown.Value.ToString();
if ((SlotsNumberNumericUpDown.Value + 1) >= SlotsNumberNumericUpDown.Value)
{
SlotsNumberNumericUpDown.Value = 1;
PageNumberNumericUpDown.Value++;
}
else
SlotsNumberNumericUpDown.Value++;
lastAddedBookNumericUpDown.Value = BooksNumberNumericUpDown.Value;
lastAddedPageNumericUpDown.Value = PageNumberNumericUpDown.Value;
lastAddedSlotsNumericUpDown.Value = SlotsNumberNumericUpDown.Value;
string json = "{\"" + key + "\":\"" + value + "\"}";
RestClient client2 = new RestClient(Properties.Settings.Default.ApiURL, HttpVerb.POST, json);
client2.MakeRequest("meta/v1/printedcard/" + card.cardId + "/card-filing");
lastAddedMeta = card;
}
}
}
private void BooksNumberNumericUpDown_ValueChanged(object sender, EventArgs e)
{
updatePreviewTextBox();
}
private void updatePreviewTextBox()
{
if(prefixTextBox.Text != "")
prefixTextBox.Text = prefixTextBox.Text + "." + BooksNumberNumericUpDown.Value.ToString() + "." + PageNumberNumericUpDown.Value.ToString() + "." + SlotsNumberNumericUpDown.Value.ToString();
else
prefixTextBox.Text = BooksNumberNumericUpDown.Value.ToString() + "." + PageNumberNumericUpDown.Value.ToString() + "." + SlotsNumberNumericUpDown.Value.ToString();
}
private void PageNumberNumericUpDown_ValueChanged(object sender, EventArgs e)
{
updatePreviewTextBox();
}
private void SlotsNumberNumericUpDown_ValueChanged(object sender, EventArgs e)
{
updatePreviewTextBox();
}
private void startButton_Click(object sender, EventArgs e)
{
barcodeTextBox.Focus();
}
private void editButton_Click(object sender, EventArgs e)
{
string value = "";
if (prefixTextBox.Text != "")
value = prefixTextBox.Text + ".";
value += lastAddedBookNumericUpDown.Value.ToString() + "." + lastAddedPageNumericUpDown.Value.ToString() + "." + lastAddedSlotsNumericUpDown.Value.ToString();
string json = "{\"" + key + "\":\"" + value + "\"}";
RestClient client2 = new RestClient(Properties.Settings.Default.ApiURL, HttpVerb.POST, json);
client2.MakeRequest("meta/v1/printedcard/" + lastAddedMeta.cardId + "/card-filing");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="barcodeTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
...@@ -42,12 +42,13 @@ ...@@ -42,12 +42,13 @@
this.toolStripSaveButton = new System.Windows.Forms.ToolStripButton(); this.toolStripSaveButton = new System.Windows.Forms.ToolStripButton();
this.toolStripRefreshButton = new System.Windows.Forms.ToolStripButton(); this.toolStripRefreshButton = new System.Windows.Forms.ToolStripButton();
this.usersToolStripPrintButton = new System.Windows.Forms.ToolStripButton(); this.usersToolStripPrintButton = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton(); this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.TopPanel = new System.Windows.Forms.Panel(); this.TopPanel = new System.Windows.Forms.Panel();
this.label3 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
this.MapsComboBox = new System.Windows.Forms.ComboBox(); this.MapsComboBox = new System.Windows.Forms.ComboBox();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.cardLocationInputToolStripButton = new System.Windows.Forms.ToolStripButton();
((System.ComponentModel.ISupportInitialize)(this.MapPictureBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.MapPictureBox)).BeginInit();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.TopPanel.SuspendLayout(); this.TopPanel.SuspendLayout();
...@@ -129,7 +130,8 @@ ...@@ -129,7 +130,8 @@
this.toolStripRefreshButton, this.toolStripRefreshButton,
this.usersToolStripPrintButton, this.usersToolStripPrintButton,
this.toolStripSeparator1, this.toolStripSeparator1,
this.toolStripButton1}); this.toolStripButton1,
this.cardLocationInputToolStripButton});
this.toolStrip1.Location = new System.Drawing.Point(0, 0); this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(1042, 25); this.toolStrip1.Size = new System.Drawing.Size(1042, 25);
...@@ -167,6 +169,11 @@ ...@@ -167,6 +169,11 @@
this.usersToolStripPrintButton.Text = "Users"; this.usersToolStripPrintButton.Text = "Users";
this.usersToolStripPrintButton.Click += new System.EventHandler(this.usersToolStripPrintButton_Click); this.usersToolStripPrintButton.Click += new System.EventHandler(this.usersToolStripPrintButton_Click);
// //
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
//
// toolStripButton1 // toolStripButton1
// //
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
...@@ -216,10 +223,15 @@ ...@@ -216,10 +223,15 @@
this.panel1.Size = new System.Drawing.Size(284, 426); this.panel1.Size = new System.Drawing.Size(284, 426);
this.panel1.TabIndex = 16; this.panel1.TabIndex = 16;
// //
// toolStripSeparator1 // cardLocationInputToolStripButton
// //
this.toolStripSeparator1.Name = "toolStripSeparator1"; this.cardLocationInputToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); this.cardLocationInputToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("cardLocationInputToolStripButton.Image")));
this.cardLocationInputToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
this.cardLocationInputToolStripButton.Name = "cardLocationInputToolStripButton";
this.cardLocationInputToolStripButton.Size = new System.Drawing.Size(23, 22);
this.cardLocationInputToolStripButton.Text = "Korttien sijaintien hallinta";
this.cardLocationInputToolStripButton.Click += new System.EventHandler(this.cardLocationInputToolStripButton_Click);
// //
// MainForm // MainForm
// //
...@@ -266,6 +278,7 @@ ...@@ -266,6 +278,7 @@
private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label3;
private System.Windows.Forms.ToolStripButton toolStripButton1; private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripButton cardLocationInputToolStripButton;
} }
} }
...@@ -1068,5 +1068,11 @@ namespace MoyaAdminUI ...@@ -1068,5 +1068,11 @@ namespace MoyaAdminUI
} }
} }
private void cardLocationInputToolStripButton_Click(object sender, EventArgs e)
{
CardLocationInput frm = new CardLocationInput();
frm.Show();
}
} }
} }
...@@ -155,39 +155,52 @@ ...@@ -155,39 +155,52 @@
<data name="usersToolStripPrintButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="usersToolStripPrintButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
QgAAAABJRU5ErkJggg== 5QAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
</value>
</data>
<data name="cardLocationInputToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF9SURBVFhH7ZJbcoUwDENZOktjZ5RjolzhhsAdHv3pYVSn
iW1pOh06zAfq0eqXTjPvMU3T3sK4a2EzXdS0u0iwcBxHX1pe2qTQrg3zwNKyuAcLPcQRChD95rFoQzwA
Z8FQ1pUA8FWAjBv/SQDwELmXexc8EsBDgBtmLgXQYlcOQO1xKUAmG/d6xa0BwEPkXu5dcClAXohY6CG8
r8WtfwE39trj1gDgIY564asAUZMyLPQQDncuOB8glq2SiYaRluqe8zpz/X8gbGWeA0j0UWXstYdm9wIs
dmsAD+HGCLSIKnN0hOYOAvDFc0jGCHSmX2eFcPSWRV8rwKehftFS70FnFkRvmcsB9LanboAYLgG0WIaq
ta/Mqc/vueupGyCW8C330dh4j55iRHXJ4IhuANDyqMvvuacM1yWlrmLmjMpsLMSICjKBpaX+1D2qZlv8
/qyCaugmYWQBFIL+dew+fhlLH2s7PRAAdgNsQjxkLsKgFUBvNL2BG75q/M/LDMMPy3DEfpaI5MwAAAAA
SUVORK5CYII=
</value> </value>
</data> </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
......
...@@ -29,3 +29,15 @@ D:\Devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAd ...@@ -29,3 +29,15 @@ D:\Devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAd
D:\Devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.UsersFinderForm.resources D:\Devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.UsersFinderForm.resources
D:\Devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.csproj.GenerateResource.Cache D:\Devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.csproj.GenerateResource.Cache
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\bin\Debug\MoyaAdminUI.exe.config I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\bin\Debug\MoyaAdminUI.exe.config
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\bin\Debug\MoyaAdminUI.exe
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\bin\Debug\MoyaAdminUI.pdb
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.csprojResolveAssemblyReference.cache
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.ApiSettings.resources
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.ComputerPlaceGridSettings.resources
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.MainForm.resources
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.Properties.Resources.resources
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.UserInfoForm.resources
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.UsersFinderForm.resources
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.csproj.GenerateResource.Cache
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.exe
I:\devel\proj\moya-info-tools\MoyaAdmin\MoyaAdminUI\MoyaAdminUI\obj\Debug\MoyaAdminUI.pdb
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!