Esempio n. 1
0
        private async void olvDetails_CellEditFinishing(object sender, CellEditEventArgs e)
        {
            if (e.Cancel)
            {
                return;
            }


            if (e.RowObject is MachineDetailsVm row)
            {
                if (e.Column == olvPieces)
                {
                    row.Qty = (int)e.NewValue;

                    if (row.Qty < 0)
                    {
                        row.Qty = 0;
                    }
                    _dmr.SetQuantity(row);
                }
                else if (e.Column == olvMaterial)
                {
                    var detail = await _dr.GetByIdAsync(row.DetailId);

                    detail.Material = e.NewValue.ToString();
                    await _dr.UpdateAsync(detail);
                }
                else if (e.Column == olvPrice)
                {
                    var detail = await _dr.GetByIdAsync(row.DetailId);

                    detail.Price = (decimal)(string.IsNullOrWhiteSpace(e.NewValue.ToString()) ? 0m : e.NewValue);
                    await _dr.UpdateAsync(detail);
                }
                else if (e.Column == olvRemark)
                {
                    var detail = await _dr.GetByIdAsync(row.DetailId);

                    detail.Remark = e.NewValue.ToString();
                    await _dr.UpdateAsync(detail);
                }
                FillOlv(row.MachineId);
            }
        }