public InMemoryOut PeekValue() { var result = new InMemoryOut(); result.Reason = reason.Text; result.CatalogId = catalog.SelectedValue.None() ? (Guid?)null : catalog.SelectedValue.GlobalId(); result.ObjectId = obj.SelectedValue == null || obj.Text.None() ? (Guid?)null : obj.SelectedValue.GlobalId(); result.Amount = amount.Value.HasValue ? (decimal)amount.Value.Value : (decimal?)null; result.Ordinals = ordinalList.Items.Where(o => o.Checked).Select(o => int.Parse(o.Text)).ToList(); return result; }
public void LoadDefaults(InMemoryOut @out) { catalog.DataSource = DataContext.DepotCatalogTreeLoad(Depot.Id).ToList().Where(o => o.Code != "*Homory:Null*").ToList(); ; catalog.DataBind(); amount.Value = (double?)@out.Amount; amount.NumberFormat.DecimalDigits = Depot.Featured(DepotType.小数数量库) ? 2 : 0; reason.Text = @out.Reason; if (@out.CatalogId.HasValue && @out.CatalogId.Value != Guid.Empty) { var catalogId = @out.CatalogId.Value; var node = catalog.EmbeddedTree.FindNodeByValue(catalogId.ToString()); node.Selected = true; node.ExpandParentNodes(); catalog.SelectedValue = catalogId.ToString(); var source = DataContext.DepotObjectLoad(Depot.Id, @out.CatalogId).Where(o => o.Amount > 0); obj.DataSource = source.ToList(); obj.DataBind(); if (@out.ObjectId.HasValue && @out.ObjectId.Value != Guid.Empty) { var oid = @out.ObjectId.Value; var so = DataContext.DepotObject.Single(o => o.Id == oid); unit.Text = so.Unit; brand.Text = so.Brand; specification.Text = so.Specification; stored.Text = so.Amount.ToAmount(Depot.Featured(DepotType.小数数量库)); obj.SelectedIndex = obj.FindItemIndexByValue(@out.ObjectId.ToString()); if (so.Single) { amount.Visible = false; ordinalList.Visible = true; ordinalList.DataSource = so.DepotInX.ToList().Where(o => o.AvailableAmount == 1).Select(o => o.Ordinal).OrderBy(o => o).ToList(); ordinalList.DataBind(); ordinalList.Items.ToList().ForEach(o => { if (@out.Ordinals.Contains(int.Parse(o.Text))) o.Checked = true; }); } else { amount.Visible = true; ordinalList.Visible = false; } } } if (!"ObjectId".Query().None()) { catalog.Enabled = false; obj.Enabled = false; } }