using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using WalkingTec.Mvvm.Core; using WalkingTec.Mvvm.Core.Extensions; using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using cy_scdz.Model.Oder; using cy_scdz.Model.Set; using System.Text; namespace cy_scdz.ViewModel.BidOrder.OrderInfoVMs { public partial class OrderInfoListVM : BasePagedListVM { public override void AfterDoSearcher() { for (int i = 0; i < EntityList.Count; i++) { EntityList[i].Index = i+1; } base.AfterDoSearcher(); } protected override List InitGridAction() { return new List { this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Create, Localizer["Sys.Create"],"BidOrder", dialogWidth: 1440), this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Edit, Localizer["Sys.Edit"], "BidOrder", dialogWidth: 1440), this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Delete, Localizer["Sys.Delete"], "BidOrder", dialogWidth: 800), this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Details, Localizer["Sys.Details"], "BidOrder", dialogWidth: 800), }; } protected override IEnumerable> InitGridHeader() { return new List>{ this.MakeGridHeader(x => x.Index).SetWidth(20).SetHeader(" "), this.MakeGridHeader(x => x.Title), this.MakeGridHeader(x => x.WinBidTime), this.MakeGridHeader(x => x.Name_view), this.MakeGridHeader(x => x.BidMoney), this.MakeGridHeader(x => x.Name_view2), this.MakeGridHeader(x => x.Name_view3), this.MakeGridHeader(x => x.Productions).SetFormat(showProductions).SetHeader("剩余学期"), this.MakeGridHeaderAction(width: 200) }; } private string showProductions(OrderInfo_View entity, object obj) { var list= entity.Productions.Where(x => x.IsOver == false).ToList(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.Count; i++) { sb.Append("

").Append(list[i].DeliveryTime.ToString("yyyy")+" "+ list[i].Chunqiuji.GetEnumDisplayName()+" " + UIService.MakeButton(ButtonTypesEnum.Link, "BidOrder/OrderInfo/CompleteProduction?id=" + list[i].ID.ToString(), "生产", 1440, null, title: "详情") ).Append("

"); } return sb.ToString(); // return UIService.MakeButton(ButtonTypesEnum.Link, "user/FrameworkUser/Details?id=" + entity.ParentITCode.ID.ToString(), entity.ParentITCode.Name.ToString(), 1024, null, title: "详情", Toptitle: "查看详情"); } public override IOrderedQueryable GetSearchQuery() { var query = DC.Set().Include(x=>x.Productions) .CheckContain(Searcher.Title, x=>x.Title) .CheckBetween(Searcher.WinBidTime?.GetStartTime(), Searcher.WinBidTime?.GetEndTime(), x => x.WinBidTime, includeMax: false) .CheckEqual(Searcher.SupplierId, x=>x.SupplierId) .CheckEqual(Searcher.BidTypeId, x=>x.BidTypeId) .Select(x => new OrderInfo_View { ID = x.ID, Title = x.Title, WinBidTime = x.WinBidTime, Name_view = x.Semester.Name, BidMoney = x.BidMoney, Productions=x.Productions, Name_view2 = x.Supplier.Name, Name_view3 = x.BidType.Name, CreateTime=x.CreateTime }) .OrderByDescending(x => x.CreateTime); return query; } } public class OrderInfo_View : OrderInfo{ /// /// 序号 /// [Display(Name = "序号")] public int Index { get; set; } /// /// 供货学期 /// [Display(Name = "供货学期")] public String Name_view { get; set; } /// /// 中标供应商 /// [Display(Name = "中标供应商")] public String Name_view2 { get; set; } /// /// 订单类别 /// [Display(Name = "订单类别")] public String Name_view3 { get; set; } } }