public PurchaseOrderModels GetDetail(string id) { try { PurchaseOrderModels model = _factory.GetDetail(id, listCompanyId); //model.GetListSupplierFromCompnay(listCompanyId); var ListSupplierInfo = GetListSuppliers(model.StoreID); var ListSupplier = new SelectList(ListSupplierInfo, "Id", "Name"); model.ListSupplier = ListSupplier.ToList(); //-------------- bool IsIntegrate = false; var objStore = CurrentUser.listStore.Where(x => x.ID.Equals(model.StoreID)).FirstOrDefault(); if (objStore != null && !string.IsNullOrEmpty(objStore.ThirdParty.ApiURL)) { IsIntegrate = objStore.ThirdParty.IsIntegrate; } List <SelectListItem> listItemTax = new List <SelectListItem>(); if (IsIntegrate) { model.StoreIntegrate = true; //--------------------- var lstTaxV2 = _factoryTax.GetListTaxV2(model.StoreID, null, CurrentUser.ListOrganizationId); lstTaxV2 = lstTaxV2.Where(x => x.IsActive).ToList(); string Symbol = GetSymbol(model.StoreID); List <POTaxModels> listItem = new List <POTaxModels>(); int OffSet = 0; lstTaxV2.ForEach(x => { var amount = model.ListItem.Where(z => z.TaxId.Equals(x.ID)).Sum(z => z.TaxAmount); listItem.Add(new POTaxModels { ID = x.ID, Name = x.Name, Percent = x.Percent, TaxType = x.TaxType, OffSet = OffSet++, Symbol = Symbol, sTaxType = (x.TaxType == (int)Commons.ETax.Inclusive) ? "Inclusive" : "Exclusive", Amount = Math.Round(amount, 2), IsShow = amount > 0 ? true : false }); //----for Dropdownlist listItemTax.Add(new SelectListItem { Text = x.Name, Value = x.ID, }); }); model.ListItemTax = listItem; model.TaxAmount = Math.Round(model.ListItemTax.Sum(z => z.Amount), 2); } //-------- model.ListItem.ForEach(x => { if (!string.IsNullOrEmpty(x.TaxId)) { var objTax = model.ListItemTax.Where(z => z.ID.Equals(x.TaxId)).FirstOrDefault(); x.TaxName = objTax != null ? objTax.Name : string.Empty; x.TaxType = objTax != null ? objTax.TaxType : 0; } //----- x.ListTax = listItemTax; x.IsShowTax = IsIntegrate; }); return(model); } catch (Exception ex) { _logger.Error("PurchaseOrderDetail: " + ex); return(null); } }