VmManufactureInfo.cs 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806
  1. 
  2. ///////////////////////////////////////////////////////////////////////////////
  3. //文件名称: VmManufactureInfo.cs
  4. //文件描述: 生产厂商信息维护
  5. //创 建 者: xls
  6. //创建日期: 2018/5/23 23:22:04
  7. //版 本 号:1.0.0.0
  8. ////////////////////////////////////////////////////////////////////////////////
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Collections.ObjectModel;
  12. using System.Linq;
  13. using System.Threading;
  14. using System.Threading.Tasks;
  15. using System.Windows;
  16. using Com.FirmLib.Bll;
  17. using Com.FirmLib.Entity;
  18. using Com.FirmLib.UI.BllCommon;
  19. using Com.FirmLib.UI.Manufacturer.Model;
  20. using FWindSoft.Data;
  21. using FWindSoft.DataFramework;
  22. using FWindSoft.MVVM;
  23. using FWindSoft.Tools;
  24. using FWindSoft.Wpf;
  25. namespace Com.FirmLib.UI.Manufacturer
  26. {
  27. public class VmManufactureInfo : BaseViewModel
  28. {
  29. public VmManufactureInfo()
  30. {
  31. Init();
  32. }
  33. private void Init()
  34. {
  35. }
  36. public void Init(LoadParameter parameter)
  37. {
  38. var id = parameter.Parameter as string;
  39. Id = id;
  40. if (string.IsNullOrEmpty(Id))
  41. return;
  42. LoadManufactureItem(id);
  43. LoadBrandItems();
  44. LoadProjectAssetItems(id);
  45. //LoadSellerItems(id);
  46. //LoadMaintainerItems(id);
  47. LoadVenderItems(id);
  48. }
  49. #region 属性相关
  50. public string Id { get; private set; }
  51. private string m_ManufactureName;
  52. /// <summary>
  53. /// 生产厂家名称
  54. /// </summary>
  55. public string ManufactureName
  56. {
  57. get { return this.m_ManufactureName; }
  58. set
  59. {
  60. this.m_ManufactureName = value;
  61. RaisePropertyChanged(() => this.ManufactureName);
  62. }
  63. }
  64. private ObservableCollection<BrandShowItem> m_Brands;
  65. /// <summary>
  66. /// 关联品牌
  67. /// </summary>
  68. public ObservableCollection<BrandShowItem> Brands
  69. {
  70. get { return this.m_Brands; }
  71. set
  72. {
  73. this.m_Brands = value;
  74. RaisePropertyChanged(() => this.Brands);
  75. }
  76. }
  77. private BrandShowItem m_CurrentSelectedBrand;
  78. /// <summary>
  79. /// 当前选中品牌
  80. /// </summary>
  81. public BrandShowItem CurrentSelectedBrand
  82. {
  83. get { return this.m_CurrentSelectedBrand; }
  84. set
  85. {
  86. this.m_CurrentSelectedBrand = value;
  87. GetProductsByBranch(value);
  88. RaisePropertyChanged(() => this.CurrentSelectedBrand);
  89. }
  90. }
  91. private ObservableCollection<ProductShowItem> m_ProductItems;
  92. /// <summary>
  93. /// 产品信息集合
  94. /// </summary>
  95. public ObservableCollection<ProductShowItem> ProductItems
  96. {
  97. get { return this.m_ProductItems; }
  98. set
  99. {
  100. this.m_ProductItems = value;
  101. RaisePropertyChanged(() => this.ProductItems);
  102. }
  103. }
  104. private ObservableCollection<ProjectAssetShowItem> m_ProjectAssetItems;
  105. /// <summary>
  106. /// 项目资产条目
  107. /// </summary>
  108. public ObservableCollection<ProjectAssetShowItem> ProjectAssetItems
  109. {
  110. get { return this.m_ProjectAssetItems; }
  111. set
  112. {
  113. this.m_ProjectAssetItems = value;
  114. RaisePropertyChanged(() => this.ProjectAssetItems);
  115. }
  116. }
  117. private ObservableCollection<RefVenderShowItem> m_SellerItems;
  118. /// <summary>
  119. /// 关联供应商信息
  120. /// </summary>
  121. public ObservableCollection<RefVenderShowItem> SellerItems
  122. {
  123. get { return this.m_SellerItems; }
  124. set
  125. {
  126. this.m_SellerItems = value;
  127. RaisePropertyChanged(nameof(this.SellerItems));
  128. }
  129. }
  130. private ObservableCollection<RefVenderShowItem> m_MaintainerItems;
  131. /// <summary>
  132. /// 关联维修商信息
  133. /// </summary>
  134. public ObservableCollection<RefVenderShowItem> MaintainerItems
  135. {
  136. get { return this.m_MaintainerItems; }
  137. set
  138. {
  139. this.m_MaintainerItems = value;
  140. RaisePropertyChanged(nameof(this.MaintainerItems));
  141. }
  142. }
  143. #endregion
  144. #region 命令相关
  145. /// <summary>
  146. /// 添加品牌
  147. /// </summary>
  148. /// <param name="parameter"></param>
  149. [Command]
  150. public void AddBranchCommand(object parameter)
  151. {
  152. try
  153. {
  154. WinBrandEditor win = new WinBrandEditor();
  155. BrandShowItem item = new BrandShowItem() { ManufacturerId = Id };
  156. LoadParameter.StartParameter(win, new LoadParameter(item));
  157. win.Owner = this.GetWindow();
  158. if (win.ShowDialog() == true)
  159. {
  160. //刷新品牌列表,切换到当前品牌视图
  161. LoadBrandItems();
  162. if (!win.AddProduct)
  163. return;
  164. #region 继续添加产品
  165. //todo 进行产品添加,存在默认的品牌初始值
  166. var brandId = win.BrandId;
  167. WinProductEditor winProduct = new WinProductEditor();
  168. ManufactureParameter startParameter = new ManufactureParameter();
  169. startParameter.Manufacture.Id = Id;
  170. startParameter.Branch.Id = brandId;
  171. LoadParameter.StartParameter(winProduct, new LoadParameter(startParameter));
  172. winProduct.Owner = this.GetWindow();
  173. if (winProduct.ShowDialog() == true)
  174. {
  175. //todo 刷新产品列表
  176. if (CurrentSelectedBrand != null && CurrentSelectedBrand.Id == brandId)
  177. {
  178. LoadProdutItems(brandId);//这个可能无效刷新,因为当前
  179. }
  180. if (winProduct.ManageType)
  181. {
  182. WinProductType winType = new WinProductType();
  183. //todo 初始化参数信息
  184. ProductShowItem showItem = new ProductShowItem();
  185. showItem.VenderId = Id;
  186. showItem.BrandId = brandId;
  187. showItem.ProductId = winProduct.ProductId;
  188. LoadParameter.StartParameter(winType, new LoadParameter(showItem));
  189. winType.Show(this.GetNavigationBar());
  190. }
  191. }
  192. #endregion
  193. }
  194. }
  195. catch (Exception ex)
  196. {
  197. MessageTipEx.Show(ex);
  198. }
  199. }
  200. public bool CanAddBranchCommand(object parameter)
  201. {
  202. return true;
  203. }
  204. /// <summary>
  205. /// 添加产品
  206. /// </summary>
  207. /// <param name="parameter"></param>
  208. [Command]
  209. public void AddProductCommand(object parameter)
  210. {
  211. try
  212. {
  213. ManufactureParameter startParameter = new ManufactureParameter();
  214. startParameter.Manufacture.Id = Id;
  215. WinProductEditor win = new WinProductEditor();
  216. LoadParameter.StartParameter(win, new LoadParameter(startParameter));
  217. win.Owner = this.GetWindow();
  218. if (win.ShowDialog() == true)
  219. {
  220. if (CurrentSelectedBrand != null)
  221. {
  222. //理论上添加了该品牌的产品,才去更新
  223. LoadProdutItems(CurrentSelectedBrand.Id);
  224. }
  225. if (win.ManageType)
  226. {
  227. WinProductType winType = new WinProductType();
  228. ProductShowItem showItem = new ProductShowItem();
  229. showItem.VenderId = Id;
  230. showItem.BrandId = win.BrandId;
  231. showItem.ProductId = win.ProductId;
  232. //showItem.ProductName = "新产品名";//todo通过id获取产品名称
  233. LoadParameter.StartParameter(winType, new LoadParameter(showItem));
  234. winType.Show(this.GetNavigationBar());
  235. }
  236. }
  237. }
  238. catch (Exception ex)
  239. {
  240. MessageTipEx.Show(ex);
  241. }
  242. }
  243. public bool CanAddProductCommand(object parameter)
  244. {
  245. return true;
  246. }
  247. /// <summary>
  248. /// 删除产品
  249. /// </summary>
  250. /// <param name="parameter"></param>
  251. [Command]
  252. public void DeleteCommand(object parameter)
  253. {
  254. try
  255. {
  256. ProductShowItem item = parameter as ProductShowItem;
  257. if (item == null)
  258. return;
  259. var result = MessageTip.Show(this.GetWindow(), "是否要删除", "提示", MessageBoxButton.YesNo);
  260. if (result == MessageBoxResult.Yes)
  261. {
  262. var flag=BllFactory<ProductBll>.Instance.Delete(new ProductItem() { Id = item.ProductId });
  263. if (!flag)
  264. {
  265. MessageTip.Show(this.GetWindow(), "删除失败");
  266. }
  267. LoadProdutItems(CurrentSelectedBrand.Id);//或者用下面的方式
  268. // ProductItems.Remove(item);
  269. }
  270. }
  271. catch (Exception ex)
  272. {
  273. MessageTipEx.Show(this.GetWindow(), ex);
  274. }
  275. }
  276. public bool CanDeleteCommand(object parameter)
  277. {
  278. return true;
  279. }
  280. /// <summary>
  281. /// 更新品牌命令
  282. /// </summary>
  283. /// <param name="parameter"></param>
  284. [Command]
  285. public void UpdateBranchCommand(object parameter)
  286. {
  287. try
  288. {
  289. BrandShowItem item = parameter as BrandShowItem;
  290. WinBrandEditor win = new WinBrandEditor();
  291. LoadParameter.StartParameter(win, new LoadParameter(item));
  292. win.Owner = this.GetWindow();
  293. if (win.ShowDialog() == true)
  294. {
  295. //如果是修改完成,根据Id去更新名称。如果是删除完成,则重新加载品牌信息
  296. if (win.UseDelete)
  297. {
  298. //更新品牌信息
  299. LoadBrandItems();
  300. }
  301. else
  302. {
  303. //更新BranchItem名称
  304. item.Name = GetBrandName(item.Id);
  305. }
  306. }
  307. }
  308. catch (Exception ex)
  309. {
  310. MessageTipEx.Show(ex);
  311. }
  312. }
  313. public bool CanUpdateBranchCommand(object parameter)
  314. {
  315. return true;
  316. }
  317. /// <summary>
  318. /// 调用资源清单命令
  319. /// </summary>
  320. /// <param name="parameter"></param>
  321. [Command]
  322. public void GoAssetCommand(object parameter)
  323. {
  324. try
  325. {
  326. ProjectAssetShowItem item = parameter as ProjectAssetShowItem;
  327. if (item == null)
  328. return;
  329. WinProjectAssetList win = new WinProjectAssetList();
  330. LoadParameter.StartParameter(win, new LoadParameter(item));
  331. win.Show(this.GetNavigationBar());
  332. }
  333. catch (Exception ex)
  334. {
  335. MessageTipEx.Show(ex);
  336. }
  337. }
  338. public bool CanGoAssetCommand(object parameter)
  339. {
  340. return true;
  341. }
  342. /// <summary>
  343. /// 管理类型
  344. /// </summary>
  345. /// <param name="parameter"></param>
  346. [Command]
  347. public void ManageTypeCommand(object parameter)
  348. {
  349. try
  350. {
  351. ProductShowItem showItem = parameter as ProductShowItem;
  352. if (showItem == null)
  353. return;
  354. WinProductType win = new WinProductType();
  355. LoadParameter.StartParameter(win, new LoadParameter(showItem));
  356. win.Show(this.GetNavigationBar());
  357. }
  358. catch (Exception ex)
  359. {
  360. MessageTipEx.Show(ex);
  361. }
  362. }
  363. public bool CanManageTypeCommand(object parameter)
  364. {
  365. return true;
  366. }
  367. /// <summary>
  368. /// 保存功能
  369. /// </summary>
  370. /// <param name="parameter"></param>
  371. [Command]
  372. public void SaveCommand(object parameter)
  373. {
  374. try
  375. {
  376. if (UpdateProduct())
  377. {
  378. MessageTip.Show(this.GetWindow(), "保存成功");
  379. }
  380. else
  381. {
  382. MessageTip.Show(this.GetWindow(), "保存失败");
  383. }
  384. }
  385. catch (Exception ex)
  386. {
  387. MessageTipEx.Show(ex);
  388. }
  389. }
  390. public bool CanSaveCommand(object parameter)
  391. {
  392. return true;
  393. }
  394. /// <summary>
  395. /// 查看产品名录命令
  396. /// </summary>
  397. /// <param name="parameter"></param>
  398. [Command]
  399. public void ScanRefTypesCommand (object parameter)
  400. {
  401. try
  402. {
  403. var showItem = parameter as RefVenderShowItem;
  404. if (showItem == null)
  405. {
  406. return;
  407. }
  408. WinProductList win = new WinProductList();
  409. bool isSeller = false;
  410. if (this.SellerItems != null)
  411. {
  412. isSeller = this.SellerItems.Contains(showItem);
  413. }
  414. win.Title = isSeller ? "供应产品名录" : "维修产品名录";
  415. win.Owner = this.GetWindow();
  416. LoadParameter.StartParameter(win, new LoadParameter(showItem));
  417. if (win.ShowDialog() == true)
  418. {
  419. }
  420. }
  421. catch (Exception ex)
  422. {
  423. MessageTipEx.Show(ex);
  424. }
  425. }
  426. public bool CanScanRefTypesCommand (object parameter)
  427. {
  428. return true;
  429. }
  430. /// <summary>
  431. /// 刷新动画
  432. /// </summary>
  433. /// <param name="parameter"></param>
  434. [Command]
  435. public void RefreshCommand(object parameter)
  436. {
  437. try
  438. {
  439. var item = parameter as ProjectAssetShowItem;
  440. if (item != null)
  441. {
  442. item.IsLoading = true;
  443. TaskUtil.StartSTATask((obj) =>
  444. {
  445. var useItem = obj as ProjectAssetShowItem;
  446. if (useItem == null)
  447. return;
  448. try
  449. {
  450. BllFactory<ProjectBll>.Instance.ProjectSync(useItem.ProjectId);
  451. Thread.Sleep(3000);//立即执行偶尔导致连接取消
  452. var projectAssetItems = BllFactory<ManufacturerBll>.Instance.GetProjectItems(Id);
  453. foreach (var dataItem in projectAssetItems)
  454. {
  455. if (dataItem.Id == useItem.ProjectId)
  456. {
  457. useItem.AssetCount = dataItem.TotalCount.ToString();
  458. }
  459. }
  460. }
  461. catch (Exception ex)
  462. {
  463. MessageTipEx.Show(ex);
  464. }
  465. finally
  466. {
  467. useItem.IsLoading = false;
  468. }
  469. }, item);
  470. }
  471. }
  472. catch (Exception ex)
  473. {
  474. MessageTipEx.Show(ex);
  475. }
  476. }
  477. public bool CanRefreshCommand(object parameter)
  478. {
  479. return true;
  480. }
  481. #endregion
  482. #region 单条修改模块
  483. public bool UpdateManufacture()
  484. {
  485. ManufacturerItem item = new ManufacturerItem();
  486. item.Id = this.Id;
  487. item.Name = this.ManufactureName;
  488. var result = BllFactory<ManufacturerBll>.Instance.Update(item);
  489. if (!result)
  490. {
  491. MessageTip.Show(this.GetWindow(), BllFactory<ManufacturerBll>.Instance.ErrorMessage ?? string.Empty);
  492. }
  493. return result;
  494. }
  495. #endregion
  496. #region 私有方法
  497. /// <summary>
  498. /// 加载厂商信息
  499. /// </summary>
  500. /// <param name="manufactureId">生产厂商Id</param>
  501. private void LoadManufactureItem(string manufactureId)
  502. {
  503. #region 加载厂商信息
  504. var manufactureItem = BllFactory<ManufacturerBll>.Instance.GetAllItems().FirstOrDefault(c => c.Id == manufactureId);
  505. ManufactureName = manufactureItem?.Name;
  506. #endregion
  507. }
  508. /// <summary>
  509. /// 通过品牌获取产品信息
  510. /// </summary>
  511. /// <param name="item"></param>
  512. private void GetProductsByBranch(BrandShowItem item)
  513. {
  514. if (item == null)
  515. return;
  516. LoadProdutItems(item.Id);
  517. }
  518. /// <summary>
  519. /// 加载品牌信息
  520. /// </summary>
  521. private void LoadBrandItems()
  522. {
  523. var brands= BllFactory<BrandBll>.Instance.GetAllItems(Id);
  524. string oldId = string.Empty;
  525. if (CurrentSelectedBrand != null)
  526. {
  527. oldId = CurrentSelectedBrand.Id;
  528. }
  529. Brands = new ObservableCollection<BrandShowItem>();
  530. foreach (var brandItem in brands)
  531. {
  532. Brands.Add(new BrandShowItem() { ManufacturerId= Id, Id = brandItem.Id, Name = brandItem.Name});
  533. }
  534. if (string.IsNullOrEmpty(oldId))
  535. {
  536. this.CurrentSelectedBrand = Brands.FirstOrDefault();
  537. }
  538. else
  539. {
  540. this.CurrentSelectedBrand= Brands.FirstOrDefault(b=>b.Id== oldId) ?? Brands.FirstOrDefault();
  541. }
  542. }
  543. /// <summary>
  544. /// 加载项目资产信息
  545. /// </summary>
  546. /// <param name="manufactureId"></param>
  547. private void LoadProjectAssetItems(string manufactureId)
  548. {
  549. #region 资产信息加载
  550. var projectAssetItems = BllFactory<ManufacturerBll>.Instance.GetProjectItems(manufactureId);
  551. ProjectAssetItems = new ObservableCollection<ProjectAssetShowItem>();
  552. foreach (var dataItem in projectAssetItems)
  553. {
  554. ProjectAssetItems.Add(new ProjectAssetShowItem() {ProjectId=dataItem.Id, ManufactureId=manufactureId, ProjectLocalName = dataItem.Name, AssetCount = dataItem.TotalCount.ToString()});
  555. }
  556. #endregion
  557. }
  558. /// <summary>
  559. /// 获取品牌名称
  560. /// </summary>
  561. /// <param name="id"></param>
  562. /// <returns></returns>
  563. private string GetBrandName(string id)
  564. {
  565. var brandItem = BllFactory<BrandBll>.Instance.GetItem(Id,id);
  566. if (brandItem == null)
  567. return string.Empty;
  568. return brandItem.Name;
  569. }
  570. /// <summary>
  571. /// 通过品牌获取产品列表
  572. /// </summary>
  573. /// <param name="brandId"></param>
  574. private void LoadProdutItems(string brandId)
  575. {
  576. var productItems = BllFactory<ProductBll>.Instance.GetAllItems(brandId);
  577. List<ProductShowItem> items = new List<ProductShowItem>();
  578. foreach (var product in productItems)
  579. {
  580. ProductShowItem tempItem = new ProductShowItem();
  581. tempItem.VenderId = Id;
  582. tempItem.BrandId = brandId;
  583. tempItem.ProductId = product.Id;
  584. tempItem.ProductName = product.Name;
  585. tempItem.ComonError = string.Empty;
  586. tempItem.OwnerFamily = EquipmentFamilyManager.GetFamilyName(product.FamilyCode);
  587. tempItem.ContainTypes = product.ProductTypes.Select(p=>p.Name).ToList();
  588. items.Add(tempItem);
  589. }
  590. ProductItems = new ObservableCollection<ProductShowItem>(items);
  591. }
  592. /// <summary>
  593. /// 修改产品信息
  594. /// </summary>
  595. /// <returns></returns>
  596. private bool UpdateProduct()
  597. {
  598. var modifyItems = ProductItems.Where(c=>c.IsEdited).ToList();
  599. bool flag = true;
  600. foreach (var productShowItem in modifyItems)
  601. {
  602. ProductItem item = new ProductItem();
  603. item.Id = productShowItem.ProductId;
  604. item.Name = productShowItem.ProductName;
  605. BllFactory<ProductBll>.Instance.Update(item);
  606. }
  607. return true;
  608. }
  609. /// <summary>
  610. /// 加载厂商统计信息
  611. /// </summary>
  612. /// <param name="venderId"></param>
  613. private void LoadVenderItems(string venderId)
  614. {
  615. var tupleItem=BllFactory<ManufacturerBll>.Instance.GetRefVenderItems(venderId);
  616. LoadSellerItems(tupleItem.Item1, venderId);
  617. LoadMaintainerItems(tupleItem.Item2, venderId);
  618. }
  619. /// <summary>
  620. /// 加载供应商商关联信息
  621. /// </summary>
  622. /// <param name="items"></param>
  623. /// <param name="manufacturerId"></param>
  624. private void LoadSellerItems( List<RefVenderItem> items,string manufacturerId)
  625. {
  626. //todo 调用后台api查找相关关联项目
  627. // List<RefVenderItem> items = new List<RefVenderItem>();
  628. List<RefVenderShowItem> showItems = new List<RefVenderShowItem>();
  629. foreach (var refVenderItem in items)
  630. {
  631. var showItem = ConvertToShowItem(refVenderItem);
  632. showItem.ManufacturerId = manufacturerId;
  633. showItems.Add(showItem);
  634. }
  635. SellerItems = new ObservableCollection<RefVenderShowItem>(showItems);
  636. }
  637. /// <summary>
  638. /// 加载维修商关联信息
  639. /// </summary>
  640. /// <param name="items"></param>
  641. /// <param name="venderId"></param>
  642. public void LoadMaintainerItems(List<RefVenderItem> items,string manufacturerId)
  643. {
  644. //todo 调用后台api查找相关关联项目
  645. //List<RefVenderItem> items = new List<RefVenderItem>();
  646. List<RefVenderShowItem> showItems = new List<RefVenderShowItem>();
  647. foreach (var refVenderItem in items)
  648. {
  649. var showItem = ConvertToShowItem(refVenderItem);
  650. showItem.ManufacturerId = manufacturerId;
  651. showItems.Add(showItem);
  652. }
  653. MaintainerItems = new ObservableCollection<RefVenderShowItem>(showItems);
  654. }
  655. private RefVenderShowItem ConvertToShowItem(RefVenderItem item)
  656. {
  657. RefVenderShowItem showItem = new RefVenderShowItem();
  658. showItem.RefVenderId = item.Id;
  659. showItem.VenderName = item.Name;
  660. showItem.WebSite = item.WebSite;
  661. showItem.ProductCount = item.RefProductCount;
  662. showItem.BrandCount = item.RefBrandCount;
  663. showItem.ProductTypes = item.RefProductTypeIds ?? new List<string>();
  664. return showItem;
  665. }
  666. #endregion
  667. }
  668. /// <summary>
  669. /// 项目显示信息类
  670. /// </summary>
  671. public class ProjectAssetShowItem :BasePropertyChanged
  672. {
  673. /// <summary>
  674. /// 关联生产厂商Id
  675. /// </summary>
  676. public string ManufactureId { get; set; }
  677. private string m_ProjectId;
  678. /// <summary>
  679. /// 项目Id
  680. /// </summary>
  681. public string ProjectId
  682. {
  683. get { return this.m_ProjectId; }
  684. set
  685. {
  686. this.m_ProjectId = value;
  687. RaisePropertyChanged(() => this.ProjectId);
  688. }
  689. }
  690. private string m_ProjectLocalName;
  691. /// <summary>
  692. /// 项目本地名称
  693. /// </summary>
  694. public string ProjectLocalName
  695. {
  696. get { return this.m_ProjectLocalName; }
  697. set
  698. {
  699. this.m_ProjectLocalName = value;
  700. RaisePropertyChanged(() => this.ProjectLocalName);
  701. }
  702. }
  703. private string m_AssetCount;
  704. /// <summary>
  705. /// 资产数量[只是显示,字符串就行了,没必要写成数字]
  706. /// </summary>
  707. public string AssetCount
  708. {
  709. get { return this.m_AssetCount; }
  710. set
  711. {
  712. this.m_AssetCount = value;
  713. RaisePropertyChanged(() => this.AssetCount);
  714. }
  715. }
  716. private bool m_IsLoading;
  717. /// <summary>
  718. /// 是否在加载
  719. /// </summary>
  720. public bool IsLoading
  721. {
  722. get { return this.m_IsLoading; }
  723. set
  724. {
  725. this.m_IsLoading = value;
  726. RaisePropertyChanged(nameof(this.IsLoading));
  727. }
  728. }
  729. }
  730. }