Files
NKC/NKC_WF/WebUserControls/cmp_MU_carts.ascx.cs
T
Samuele E. Locatelli 074b514a4a Bozza print x BINS
2020-07-28 12:19:20 +02:00

201 lines
5.6 KiB
C#

using AppData;
using NKC_SDK;
using System;
namespace NKC_WF.WebUserControls
{
public partial class cmp_MU_carts : BaseUserControl
{
/// <summary>
/// Batch corrente...
/// </summary>
public int BatchId
{
set
{
hfBatchID.Value = value.ToString();
doUpdate();
}
get
{
int answ = 0;
int.TryParse(hfBatchID.Value, out answ);
return answ;
}
}
/// <summary>
/// Indica se mostrare o meno QRCode
/// </summary>
public bool ShowQr
{
set
{
hfShowQr.Value = value.ToString();
}
get
{
bool answ = false;
bool.TryParse(hfShowQr.Value, out answ);
return answ;
}
}
/// <summary>
/// Dimensione QRCode
/// </summary>
public int qrSize
{
get
{
int answ = 32;
int.TryParse(hfQrSize.Value, out answ);
return answ;
}
set
{
hfQrSize.Value = value.ToString();
doUpdate();
}
}
/// <summary>
/// Indica se mostrare o meno button PRINT
/// </summary>
public bool ShowPrint
{
set
{
hfShowPrint.Value = value.ToString();
}
get
{
bool answ = false;
bool.TryParse(hfShowPrint.Value, out answ);
return answ;
}
}
/// <summary>
/// CartId selezionato
/// </summary>
public int selCartId
{
get
{
int answ = 0;
int.TryParse(grView.SelectedValue.ToString(), out answ);
return answ;
}
}
/// <summary>
/// Stampante associata
/// </summary>
protected string printer
{
get
{
string answ = DataLayer.man.getPrinter("PC-MACHINE-UNLOAD");
return answ;
}
}
/// <summary>
/// restituisce URL immagine QRCode
/// </summary>
/// <param name="currId"></param>
/// <returns></returns>
public string getImgUrl(object currId)
{
string baseUrl = "https://qrcode.steamware.net/HOME/QR_site/JSON?val=";
string payload = "{'baseUrl':'{0}','parameters':['" + currId.ToString() + "']}";
string answ = $"{baseUrl}{payload}";
return answ;
}
protected void Page_Load(object sender, EventArgs e)
{
}
public void doUpdate()
{
grView.DataBind();
}
/// <summary>
/// Calcola il rapporto tra 2 valori
/// </summary>
/// <param name="_dividendo"></param>
/// <param name="_divisore"></param>
/// <returns></returns>
public double getRatio(object _dividendo, object _divisore)
{
double ratio = 0;
double dividendo = 0;
double divisore = 1;
double.TryParse(_dividendo.ToString(), out dividendo);
double.TryParse(_divisore.ToString(), out divisore);
ratio = dividendo / divisore;
return ratio;
}
/// <summary>
/// determina CSS x colore testo da perc svuotamento...
/// </summary>
/// <param name="ratio"></param>
/// <returns></returns>
public string getCssByRatio(double ratio)
{
string answ = "text-dark";
if (ratio == 0)
{
answ = "text-danger";
}
else if (ratio == 1)
{
answ = "text-success";
}
else
{
answ = "text-warning";
}
return answ;
}
/// <summary>
/// Alla selezione mando in stampa il singolo record
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
// invio SINGOLO record in stampa
DataLayer.man.stampaDoc(selCartId.ToString(), printer, tipoDocumento.docCart, Request.UserHostName);
// reset
doReset();
}
/// <summary>
/// comando reset
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtPrintAll_Click(object sender, EventArgs e)
{
// chiamo stored x stampare OGNI cart del BATCH
var tabCarts = DataLayer.man.taCR.getByBatch(BatchId);
try
{
if (tabCarts != null && tabCarts.Count > 0)
{
foreach (var item in tabCarts)
{
// invio SINGOLO record in stampa
DataLayer.man.stampaDoc(item.CartID.ToString(), printer, tipoDocumento.docCart, Request.UserHostName);
}
}
}
catch
{ }
// reset
doReset();
}
private void doReset()
{
// resetto
grView.SelectedIndex = -1;
grView.DataBind();
}
}
}