Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
     }
 }