private void btnPrintCert_Click(object sender, RoutedEventArgs e) { if (_certvm == null) { _certvm = new CertificationMakeVM(); } RadButton btn = (RadButton)sender; DeliverySearchEntity delivery = (DeliverySearchEntity)btn.DataContext; var certs = _dataContext.GetCertifications(delivery, _certvm); if (certs.Count > 0) { #if UniqueCode var mapping = _dataContext.GetProductUniqueCodeMappings(delivery); CertificationPrintSetWin win = new CertificationPrintSetWin(certs, delivery.Details, mapping); #else CertificationPrintSetWin win = new CertificationPrintSetWin(certs, delivery.Details); #endif win.DataContext = new { Certification = certs[0], PrintTicket = new CertificationPrintTicket() }; win.Owner = View.Extension.UIHelper.GetAncestor <Window>(this); win.ShowDialog(); } else { MessageBox.Show("没有找到对应的合格证信息"); } }
public List <CertificationBO> GetCertifications(DeliverySearchEntity entity, CertificationMakeVM certvm) { if (_fpHelper == null) { _fpHelper = new FloatPriceHelper(); } IEnumerable <string> scodes = entity.Details.Select(o => o.StyleCode); var styles = VMGlobal.SysProcessQuery.LinqOP.Search <ProStyle>(o => scodes.Contains(o.Code)).Select(o => new ProStyleBO(o)).ToList(); IEnumerable <int> sids = styles.Select(o => o.ID); var certs = VMGlobal.SysProcessQuery.LinqOP.Search <Certification>(o => sids.Contains(o.StyleID)).Select(o => new CertificationBO(o)).ToList(); foreach (var cert in certs) { cert.GradeName = certvm.Grades.First(o => o.ID == cert.Grade).Name; cert.SafetyTechniqueName = certvm.SafetyTechs.First(o => o.ID == cert.SafetyTechnique).Name; cert.CarriedStandardName = certvm.CarriedStandards.First(o => o.ID == cert.CarriedStandard).Name; var style = styles.Find(o => o.ID == cert.StyleID); cert.Style = style; cert.Price = _fpHelper.GetFloatPrice(entity.ToOrganizationID, style.BYQID, style.Price); } return(certs); }