156 lines
4.7 KiB
C#
156 lines
4.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Data.Entity;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using AppData;
|
|
|
|
namespace ELMA
|
|
{
|
|
public partial class MainForm : Form
|
|
{
|
|
ElmahModel model = new ElmahModel();
|
|
|
|
|
|
|
|
public MainForm()
|
|
{
|
|
InitializeComponent();
|
|
myInit();
|
|
}
|
|
|
|
private void myInit()
|
|
{
|
|
// carico DB con filtri
|
|
//var setApp = dbFilt.Where(x => x.Cat == "Application");
|
|
var setApp = model.ELMAH_Error
|
|
.Select(e => new { e.Application })
|
|
.Distinct()
|
|
.ToList();
|
|
foreach (var item in setApp)
|
|
{
|
|
listApp.Items.Add(item.Application);
|
|
}
|
|
listApp.SelectedIndex = 0;
|
|
var setHost = model.ELMAH_Error
|
|
.Select(e => new { e.Host })
|
|
.Distinct()
|
|
.ToList();
|
|
foreach (var item in setHost)
|
|
{
|
|
listHost.Items.Add(item.Host);
|
|
}
|
|
listHost.SelectedIndex = 0;
|
|
var setStatus = model.ELMAH_Error
|
|
.Select(e => new { e.StatusCode })
|
|
.Distinct()
|
|
.ToList();
|
|
foreach (var item in setStatus)
|
|
{
|
|
listStatus.Items.Add(item.StatusCode);
|
|
}
|
|
listStatus.SelectedIndex = 0;
|
|
var setType = model.ELMAH_Error
|
|
.Select(e => new { e.Type })
|
|
.Distinct()
|
|
.ToList();
|
|
foreach (var item in setType)
|
|
{
|
|
listType.Items.Add(item.Type);
|
|
}
|
|
listType.SelectedIndex = 0;
|
|
var setUser = model.ELMAH_Error
|
|
.Select(e => new { e.User })
|
|
.Distinct()
|
|
.ToList();
|
|
//var setUser = dbFilt.Where(x => x.Cat == "User").ToList();
|
|
foreach (var item in setUser)
|
|
{
|
|
listUsers.Items.Add(item.User);
|
|
}
|
|
listUsers.SelectedIndex = 0;
|
|
}
|
|
|
|
protected string selApp { get { return listApp.SelectedItem.ToString(); } }
|
|
protected string selStatus { get { return listStatus.SelectedItem.ToString(); } }
|
|
protected string selHost { get { return listHost.SelectedItem.ToString(); } }
|
|
protected string selType { get { return listType.SelectedItem.ToString(); } }
|
|
protected string selUser { get { return listUsers.SelectedItem.ToString(); } }
|
|
|
|
|
|
private void btnLoad_Click(object sender, EventArgs e)
|
|
{
|
|
updateSelection();
|
|
//this.bsErrors.DataSource = model.ELMAH_Error.Local.ToBindingList();
|
|
}
|
|
|
|
private void updateSelection()
|
|
{
|
|
List<ELMAH_Error> subset = getFiltData();
|
|
this.bsErrors.DataSource = subset;
|
|
}
|
|
|
|
private List<ELMAH_Error> getFiltData()
|
|
{
|
|
var dbSet = model.ELMAH_Error;
|
|
int statusCode = 0;
|
|
int.TryParse(selStatus, out statusCode);
|
|
string selApp = listApp.SelectedItem.ToString();
|
|
// fix DGV
|
|
var subset = dbSet.Where(x =>
|
|
x.StatusCode == statusCode
|
|
&& x.Application == selApp
|
|
&& x.Host == selHost
|
|
&& x.Type == selType
|
|
&& x.User == selUser
|
|
).ToList();
|
|
return subset;
|
|
}
|
|
|
|
private void listApp_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
//updateSelection();
|
|
}
|
|
|
|
private void listHost_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
//updateSelection();
|
|
}
|
|
|
|
private void listStatus_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
//updateSelection();
|
|
}
|
|
|
|
private void listType_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
//updateSelection();
|
|
}
|
|
|
|
private void listUsers_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
//updateSelection();
|
|
}
|
|
|
|
private void btnDelete_Click(object sender, EventArgs e)
|
|
{
|
|
// elimino 1:1 da selezione
|
|
foreach (var item in getFiltData())
|
|
{
|
|
model.ELMAH_Error.Remove(item);
|
|
}
|
|
|
|
// salvo
|
|
model.SaveChangesAsync();
|
|
|
|
// aggiorno
|
|
updateSelection();
|
|
}
|
|
}
|
|
}
|