using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using MercatorApi;
using MercatorController;
using System.IO;
using MercatorUi;
using System.Windows.Forms;
using System.Drawing;
namespace MercatorUi.MovableControls.ButtonsCodes
{
public static class Script
{
public static void Exec(MovableButton clickedButton)
{
Forms.Sig.SigForm sigForm = (Forms.Sig.SigForm)clickedButton.Form;
string reqSql = "select s_id,s_image from STOCK where (s_image<>'')";
if (!string.IsNullOrWhiteSpace(sigForm.Filter))
reqSql += " and (" + sigForm.Filter + ")";
List<(string s_id, string s_image)> list = Api.Zselect<(string s_id, string s_image)>(Globals.RepData, reqSql);
if (list != null)
{
using (MercatorSqlConnection conn = new MercatorSqlConnection(Globals.RepData, true))
{
if (conn.Connection == null)
return;
Progress.ProgressCreate(list.Count);
int i = 0;
bool err = false;
using (SqlCommand cmd = new SqlCommand("update STOCK set s_imagebin=@img where s_id=@s_id", conn.Connection))
{
foreach ((string s_id, string s_image) tuple in list)
{
i++;
Progress.ProgressIncrement(1);
Wait.WaitStatic.WaitWindow("Update Afbeeldingen : " + i + " / " + list.Count);
string imagePath = Globals.RepData + "IMAGES\\" + tuple.s_image;
if (File.Exists(imagePath))
{
cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("@img", SqlDbType.Image)).Value = File.ReadAllBytes(imagePath);
cmd.Parameters.Add(new SqlParameter("@s_id", SqlDbType.Char)).Value = tuple.s_id;
if (!Api.SqlExec(Globals.RepData, cmd))
{
err = true;
break;
}
}
}
}
Progress.ProgressDestroy();
Wait.WaitStatic.WaitClear();
if (!err)
Dialogs.Stop("OK !");
}
}
}
}
}