|
|
|
@ -450,7 +450,10 @@ namespace CameraCard
|
|
|
|
|
|
|
|
|
|
private void tabControl1_Selected(object sender, TabControlEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.TabPage.Text == "采集进度")
|
|
|
|
|
if (e.TabPage.Text == "图像采集")
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
else if (e.TabPage.Text == "采集进度")
|
|
|
|
|
{
|
|
|
|
|
this.RunWithLoading(RefreshGroup);
|
|
|
|
|
}
|
|
|
|
@ -636,7 +639,6 @@ namespace CameraCard
|
|
|
|
|
{
|
|
|
|
|
MainForm.LoadData(progress);
|
|
|
|
|
progress.CloseForm();
|
|
|
|
|
System.Threading.Thread.Sleep(2000);
|
|
|
|
|
this.RunWithLoading(RefreshData);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
@ -680,5 +682,93 @@ namespace CameraCard
|
|
|
|
|
{
|
|
|
|
|
this.RunWithLoading(RefreshData);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void push_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
var progress = new ProgressForm("更新中", "正在上传", 0, 100);
|
|
|
|
|
this.Run(() => progress.ShowDialog());
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
this.UploadData(progress);
|
|
|
|
|
progress.CloseForm();
|
|
|
|
|
this.RunWithLoading(RefreshData);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
progress.CloseForm();
|
|
|
|
|
MessageBox.Show(ex.Message);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void UploadData(ProgressForm progress)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
using (var db = new MyDbContext())
|
|
|
|
|
{
|
|
|
|
|
var query = db.Set<Student>().AsQueryable().Where(o => o.HasImage);
|
|
|
|
|
if (classSelector.Text != "全部")
|
|
|
|
|
{
|
|
|
|
|
var classValue = imageStatusSelector.SelectedValue as string;
|
|
|
|
|
query = query.Where(o => o.Class == classValue);
|
|
|
|
|
}
|
|
|
|
|
if (imageStatusSelector.Text != "全部")
|
|
|
|
|
{
|
|
|
|
|
var imageStatus = (bool)imageStatusSelector.SelectedValue;
|
|
|
|
|
query = query.Where(o => o.HasImage == imageStatus);
|
|
|
|
|
}
|
|
|
|
|
if (uploadStatusSelector.Text != "全部")
|
|
|
|
|
{
|
|
|
|
|
var uploadStatus = (bool)uploadStatusSelector.SelectedValue;
|
|
|
|
|
query = query.Where(o => o.HasUploaded == uploadStatus);
|
|
|
|
|
}
|
|
|
|
|
if (checkStatusSelector.Text != "全部")
|
|
|
|
|
{
|
|
|
|
|
var checkedStatus = (bool)checkStatusSelector.SelectedValue;
|
|
|
|
|
query = query.Where(o => o.HasChecked == checkedStatus);
|
|
|
|
|
}
|
|
|
|
|
if (cardStatusSelector.Text != "全部")
|
|
|
|
|
{
|
|
|
|
|
var cardStatus = (bool)cardStatusSelector.SelectedValue;
|
|
|
|
|
query = query.Where(o => o.HasIdCard == cardStatus);
|
|
|
|
|
}
|
|
|
|
|
var total = query.Count();
|
|
|
|
|
var url = ConfigurationManager.AppSettings["push"];
|
|
|
|
|
int i = 1;
|
|
|
|
|
foreach (var item in query)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
var client = HttpClientFactory.Create();
|
|
|
|
|
var content = new StringContent(new JavaScriptSerializer().Serialize(item), Encoding.UTF8, "application/json");
|
|
|
|
|
var response = client.PostAsync(url, content).Result;
|
|
|
|
|
var result = new JavaScriptSerializer().Deserialize<PullResponse>(response.Content.ReadAsStringAsync().Result);
|
|
|
|
|
if (result.code == 0)
|
|
|
|
|
{
|
|
|
|
|
progress?.SetProgress($"进度{i}/{total}", i * 100 / total);
|
|
|
|
|
item.HasUploaded = true;
|
|
|
|
|
db.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show($"错误代码:{result.code},错误消息:{result.message}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show(ex.Message);
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show(ex.Message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|