using DW5S.Entity; using DW5S.Repostory; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using XdCxRhDW5S.ViewModel; namespace DW5S.App.UserControl { public partial class CtrlTaskTemplate : DevExpress.XtraEditors.XtraUserControl { readonly List list = new List(); public CtrlTaskTemplate() { InitializeComponent(); } private async void CtrlSat_Load(object sender, EventArgs e) { try { gridCDBSat.UseDefault(list).UseMultiSelect().UseRowNumber(); //.UseAddAsync(Add) // .UseEditAsync(Edit) //.UseDeleteAsync(Delete); var unitOfWork = IocContainer.UnitOfWork; var reps = unitOfWork.Of(); var items = await reps.GetAllAsync(p => p.TemplateName); list.AddRange(items.To>()); } catch (Exception ex) { IocContainer.Logger.Error("查询任务模版信息异常", ex); DxHelper.MsgBoxHelper.ShowError("查询任务模版信息异常"); } } private async Task Add() { try { CDBSatEditor frm = new CDBSatEditor(); if (frm.ShowDialog() != DialogResult.OK) return null; var addItem = frm.info; var unitOfWork = IocContainer.UnitOfWork; var repsSat = unitOfWork.Of(); var satInfo = await repsSat.AddOrUpdateAsync(addItem.To()); await unitOfWork.SaveAsync(typeof(SatInfo)); addItem.Id = satInfo.Id; return addItem; } catch (Exception ex) { IocContainer.Logger.Error("添加任务模版信息异常", ex); DxHelper.MsgBoxHelper.ShowError("添加任务模版信息异常"); return null; } } private async Task Edit(SatViewModel editItem) { try { CDBSatEditor frm = new CDBSatEditor(editItem); if (frm.ShowDialog() != DialogResult.OK) return null; editItem = frm.info; var unitOfWork = IocContainer.UnitOfWork; var repsSat = unitOfWork.Of(); await repsSat.AddOrUpdateAsync(editItem.To()); await unitOfWork.SaveAsync(typeof(SatInfo)); return editItem; } catch (Exception ex) { IocContainer.Logger.Error("保存任务模版信息异常", ex); DxHelper.MsgBoxHelper.ShowError("保存任务模版信息异常"); return null; } } private async Task Delete(List list) { try { var ids = list.Select(p => p.Id); var unitOfWork = IocContainer.UnitOfWork; var repsSat = unitOfWork.Of(); await repsSat.DeleteAsync(list.To>()); await unitOfWork.SaveAsync(typeof(SatInfo)); return true; } catch (Exception ex) { IocContainer.Logger.Error("删除任务模版信息异常", ex); DxHelper.MsgBoxHelper.ShowError("删除任务模版信息异常"); return false; } } } }