Commit cb5c96f1 by Liv Haapala

update

1 parent febb15ff
......@@ -14,7 +14,7 @@ namespace CardDisplay.DataClasses
public string ImportJson()
{
var ser = new JavaScriptSerializer();
return this.GetType().ToString() + ser.Serialize(this);
return ser.Serialize(this);
}
}
}
......@@ -8,7 +8,10 @@ namespace CardDisplay
public class ReaderEvent
{
public int readerEventId = 0;
public DateTime readerEventTime = DateTime.MinValue;
public int readerId = 0;
public Eventuser eventuser;
public int printedCardId = 0;
public string printedCardState = "";
}
}
......@@ -56,6 +56,7 @@ namespace HttpUtils
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 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;
}
......@@ -124,15 +125,17 @@ namespace HttpUtils
}
// grab the response
using (var responseStream = response.GetResponseStream())
if (response.ContentLength > 0)
{
if (responseStream != null)
using (var reader = new StreamReader(responseStream))
{
responseValue = reader.ReadToEnd();
}
using (var responseStream = response.GetResponseStream())
{
if (responseStream != null)
using (var reader = new StreamReader(responseStream))
{
responseValue = reader.ReadToEnd();
}
}
}
return responseValue;
}
}
......
using CardDisplay.DataClasses;
using HttpUtils;
using System;
using System.Collections.Generic;
using System.ComponentModel;
......@@ -30,6 +31,8 @@ namespace CardDisplay
int slotNumber = 0;
int pageNumber = 0;
DateTime started = DateTime.MinValue;
private void button1_Click(object sender, EventArgs e)
{
active = !active;
......@@ -48,10 +51,36 @@ namespace CardDisplay
startButton.Text = "Keskeytä";
else
startButton.Text = "Aloita";
timer1.Enabled = true;
started = DateTime.Now;
}
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 = "";
private void timer1_Tick(object sender, EventArgs e)
......@@ -59,53 +88,54 @@ namespace CardDisplay
if (readersComboBox1.SelectedItem != null)
{
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
{
ret = client.MakeRequest();
ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot1ReaderEventId);
var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents)
{
client = new HttpUtils.RestClient(apiUrl + "/card/ListAll");
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 (re.printedCardId != 0 && re.printedCardState == statePrinted && re.readerEventTime >= started)
{
if (card.state == statePrinted)
{
slot1ReaderEventId = re.readerEventId;
string key = "cardplace";
client = new RestClient(Properties.Settings.Default.ApiURL);
ret = client.MakeRequest("card/Get/" + re.printedCardId);
string value = "";
if(prefixTextBox.Text != "")
value = prefixTextBox.Text + ".";
value += bookNumber.ToString() + "." + pageNumber.ToString() + "." + slotNumber.ToString();
Card card = ser.Deserialize<Card>(ret);
MetaData data = new MetaData();
data.key = key;
data.value = value;
slot1ReaderEventId = re.readerEventId;
if ((slotNumber + 1) >= SlotsNumberNumericUpDown.Value)
{
slotNumber = 1;
pageNumber++;
}
else
slotNumber++;
string key = "cardplace";
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");
client2.PostData = data.ImportJson();
client2.MakeRequest();
MetaData data = new MetaData();
data.key = key;
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)
......
......@@ -52,7 +52,6 @@
//
this.ApiPassTextBox.Location = new System.Drawing.Point(12, 164);
this.ApiPassTextBox.Name = "ApiPassTextBox";
this.ApiPassTextBox.PasswordChar = 'ῷ';
this.ApiPassTextBox.Size = new System.Drawing.Size(260, 20);
this.ApiPassTextBox.TabIndex = 34;
//
......
......@@ -19,7 +19,6 @@ namespace CardDisplay
InitializeComponent();
}
string readerApiUrl = "http://localhost:8080/MoyaWeb/rest/reader/List";
string statePrinted = "PRINTED";
......@@ -40,10 +39,10 @@ namespace CardDisplay
{
timer1.Stop();
RestClient client = new RestClient(readerApiUrl);
RestClient client = new RestClient(Properties.Settings.Default.ApiURL);
try
{
ret = client.MakeRequest();
ret = client.MakeRequest("reader/List");
var ser = new JavaScriptSerializer();
......@@ -143,27 +142,26 @@ namespace CardDisplay
if (readersComboBox1.SelectedItem != null)
{
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
{
ret = client.MakeRequest();
ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot1ReaderEventId);
var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents)
{
client = new RestClient(Properties.Settings.Default.ApiURL + "/card/ListAll");
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 (re.printedCardId != 0 && re.printedCardState == statePrinted)
{
if (card.state == statePrinted)
{
slot1Cards.Add(card);
pictureBox1.ImageLocation = Properties.Settings.Default.ApiURL + "/card/GetImage/" + card.cardId;
slot1SelectedCard = card;
}
RestClient client2 = new RestClient(Properties.Settings.Default.ApiURL);
ret = client2.MakeRequest("card/Get/" + re.printedCardId);
Card card = ser.Deserialize<Card>(ret);
slot1Cards.Add(card);
pictureBox1.ImageLocation = Properties.Settings.Default.ApiURL + "/card/GetImage/" + re.printedCardId;
slot1SelectedCard = card;
}
}
}
......@@ -180,27 +178,26 @@ namespace CardDisplay
if (readersComboBox2.SelectedItem != null)
{
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
{
ret = client.MakeRequest();
ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot2ReaderEventId);
var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents)
{
client = new RestClient(Properties.Settings.Default.ApiURL + "/card/ListAll");
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 (re.printedCardId != 0 && re.printedCardState == statePrinted)
{
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);
pictureBox2.ImageLocation = Properties.Settings.Default.ApiURL + "/rest/card/GetImage/" + card.cardId;
slot2SelectedCard = card;
}
}
}
}
......@@ -216,27 +213,26 @@ namespace CardDisplay
if (readersComboBox3.SelectedItem != null)
{
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
{
ret = client.MakeRequest();
ret = client.MakeRequest("reader/readerevents/" + reader.readerId + "/" + slot3ReaderEventId);
var ser = new JavaScriptSerializer();
ReaderEventList events = ser.Deserialize<ReaderEventList>(ret);
events.readerEvents = events.readerEvents.OrderBy(r => r.readerEventTime).ToList();
foreach (ReaderEvent re in events.readerEvents)
{
client = new RestClient(Properties.Settings.Default.ApiURL + "/card/ListAll");
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 (re.printedCardId != 0 && re.printedCardState == statePrinted)
{
if (card.state == statePrinted)
{
slot3Cards.Add(card);
pictureBox3.ImageLocation = Properties.Settings.Default.ApiURL + "/rest/card/GetImage/" + card.cardId;
slot3SelectedCard = card;
}
RestClient client2 = new RestClient(Properties.Settings.Default.ApiURL);
ret = client2.MakeRequest("card/Get/" + re.printedCardId);
Card card = ser.Deserialize<Card>(ret);
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 @@
this.toolStripSaveButton = new System.Windows.Forms.ToolStripButton();
this.toolStripRefreshButton = 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.TopPanel = new System.Windows.Forms.Panel();
this.label3 = new System.Windows.Forms.Label();
this.MapsComboBox = new System.Windows.Forms.ComboBox();
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();
this.toolStrip1.SuspendLayout();
this.TopPanel.SuspendLayout();
......@@ -129,7 +130,8 @@
this.toolStripRefreshButton,
this.usersToolStripPrintButton,
this.toolStripSeparator1,
this.toolStripButton1});
this.toolStripButton1,
this.cardLocationInputToolStripButton});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(1042, 25);
......@@ -167,6 +169,11 @@
this.usersToolStripPrintButton.Text = "Users";
this.usersToolStripPrintButton.Click += new System.EventHandler(this.usersToolStripPrintButton_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
......@@ -216,10 +223,15 @@
this.panel1.Size = new System.Drawing.Size(284, 426);
this.panel1.TabIndex = 16;
//
// toolStripSeparator1
// cardLocationInputToolStripButton
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
this.cardLocationInputToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
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
//
......@@ -266,6 +278,7 @@
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripButton cardLocationInputToolStripButton;
}
}
......@@ -1068,5 +1068,11 @@ namespace MoyaAdminUI
}
}
private void cardLocationInputToolStripButton_Click(object sender, EventArgs e)
{
CardLocationInput frm = new CardLocationInput();
frm.Show();
}
}
}
......@@ -155,39 +155,52 @@
<data name="usersToolStripPrintButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALqSURBVDhPjZJ7SBNQGMWnhNoilMIiSiRSKpN8FGY6JaVJ
ZdN0W2abUZKvzbl0oVM3nfnKV875XLotH3M+WPnItzYVpTJIlJIiCiSjIgnFNFPbac79YyD4gw/uvec7
B+53L2ErrK2tj7u7uytcTrkMWVlZpeuOTDeUbcK4QKLl8G4j5JIHiGamuiIKDNL2aEqLYP0dlWOtJxcs
X1fsNDGrMkjbQxZLu7XaloZVdQJaE6m/iUSis0HajI0jyTIwThhnSyKf0W2NvViJYU5URmhaBC1gpYmH
5bpoNHLI8kN2dns2HP/hcyPMa/CnFt3f/qBs9N0sR9mtZVaqIWtIXNOI/JY0SZehEJzQClQqLVWsmjzH
Sco+7ObtobPu0AfYkEiW6ukFbfPnRdRP/0L1x3nkKIvRq7DFRMkBqEXmWBoiYF5jiaRqCWjyLgTX9CFQ
rJq1tHNw1IeUTszMSKd+oOTNdxROfEXu6y/IGpuG8EkHKhRsDEuPYE5phFGFE3wLakERq+AnacR+e2df
fYCwe7wj68UniEY+IHnoPeIHppCgq/j+t+D1TCK2axzRj1RIyQqHt6AQ51OLQeJlLug+i5k+gFlUlxnb
OQ522yuwWscQ/vg5QhqGcU2pQVDdAIJq+nG1uhfMml64RvJBir2HY5TgZr15He/oZHpIvQbXdQ00eSeo
VU9BrWxH4MM2BEhbECht1a/psk54cgQ4yxZgn50Dw2DXvUTQTStGbd/y+oCoVR0bxooW/cDoim5cKVPD
v6RZf28PdhIcgiNXzM3NLQx2AoFOp5tkl8u5XKnqZXBp0yKlUAnf/BpQihrAah5CVNMgGLJ2XLwvAymK
j6M+Af0G6yaMuVyuRUGBxCWjTCHkiGUjAblVC+RUCchppaA9qAZZVAy3iHgcPO1+x+DZEqPQ0NDd+flF
TumSynh2Xvkzf5F4zutuJjxjUrTeFOpJQ9+2MGIymbvy8sT2WSWVMUJxRQafz9+7IREI/wAdEn7PiZ1X
QgAAAABJRU5ErkJggg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALqSURBVDhPjZJ5SBNQHMenhNoilMIiSiRSKhOvwsxNSWlS
2Up3pLYZJXltTlNDp24eeeWVcy51uSPPeWR55H2LUhkkSkkRRZJRkYRmmqnt25z7x0DwAz94731/3y+8
33uEzTA3Nz9KIpGUjscdB83MzFI1R4bryhZhnSUzsqJvwP+8C4hGhpoiCnTS1qhLCeb8HVFgtTMbHE8n
bDcwkumkrSGPZFxfaU7BSkMsGvm030Qi0UEnbcTCjmxKixJGWZIpJzVbfTdOXKA9nRWQEszwXq6LxlJl
GGp5FMUBK6td647/8Lga6DbwQ42Or39QNPxmhlfZrmaXNkCmilvtS6Iu9sdfgEJwTC2orlbTRKqJ07z4
zIPO7i4a6zZtgAWZbPrw4091/acFVE/9Qtn7OWRVFaJLaYlxyT40JBtjcZCAuX5TxJeJwVC0w6+8G7R8
1Yypla2dNkQyPj0tnfwOyatvyB//guyXn5ExOgXh41aUKLkYkh7CbJUeRpT28MyrAFWkwkVxLfZaO3hq
A4QdY60Zzz4gefgdEgbfIqZ3ErGaiul5jejOCUS2jyHsgQqJGUFwF+TjTFIhSNHp85rPYqQNYBdUpke2
jYHb/AKcplEEPXoK/5oh+Fb1w6eyFz7lPbhc1gV2eRecQvggR97GEapfvda8hntYAtO/uh9XNA0MRRvo
siegl7aAdr8Z3tJG0KRN2jVT3gZXngCnuALssbJl6eyal/C5Zsaq6F5aGxBd1rpuLGnUDoyp7IBXUQMu
Seq193bhxsPGN2TZ2NjYRGcnEJhMpkFmsSIiXKp67iepXaDmV8EztxzUghpw6gcRWjcAlrwF5+7IQQ7l
47CHd4/OugH9iIgIk7w8sWNakVLIE8mHvbJl85QkMSgp98C4WwZKciGcg2Ow/wTpps6zKXoBAQE7c3ML
7FPFpTHcnOK+i0miWbdb6XANT1S7U+k2ur4tocdms3fk5IisMySl4UJRSRqfz9+9LhEI/wDfMn6y94K5
5QAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<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>
</data>
<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
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
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!