Ok, for saving item I use:
Protected Sub SaveItem(ByVal sender As Object, ByVal args As DirectEventArgs)
Try
If fpart_code.Text = "" Then
Throw New Exception("Codigo de producto es requerido")
End If
If fuom_code.Text = "" Then
Throw New Exception("Unidad de medida es requerido")
End If
If fuom_qty.Text = "" Then
Throw New Exception("Cantidad es requerida")
End If
If ftaxedcustprice_amt.Text = "" Then
Throw New Exception("Precio para el cliente es requerido")
End If
If fline_num.Text <> "" Then
Dim sdr As Ext.Net.ModelProxy
sdr = Store2.GetById(PsaConvert.ObjToInt(fline_num.Text))
sdr.Set("PART_CODE", fpart_code.Text)
sdr.Set("DESC_TEXT", fpart_desc.Text)
sdr.Set("SERIAL_CODE", fserial_code.Text)
sdr.Set("CF_TAXEDCUST_PRICE_AMT", ftaxedcustprice_amt.Text)
sdr.Set("UOM_CODE", fuom_code.Text)
sdr.Set("UOM_QTY", fuom_qty.Text)
sdr.Set("DISC_CODE", fdisc_code.Text)
sdr.Set("DISC_PER", fdisc_per.Text)
sdr.Set("CF_TAXEDUNIT_PRICE_AMT", ftaxedunitprice_amt.Text)
Else
Dim sql As String = "select max(line_num) from tecserdetl where cmpy_code = '%1' and order_num = %2"
sql = sql.Replace("%1", PsaSession.Cmpy)
sql = sql.Replace("%2", KeyCode)
Dim o As Integer = PsaConvert.ObjToInt(PsaData.ExecuteScalar(sql)) + 1
Store2.Add(New With {.LINE_NUM = o, _
.PART_CODE = fpart_code.Text, _
.DESC_TEXT = fpart_desc.Text, _
.SERIAL_CODE = fserial_code.Text, _
.UOM_CODE = fuom_code.Text, _
.UOM_QTY = fuom_qty.Text, _
.DISC_CODE = fdisc_code.Text, _
.DISC_PER = fdisc_per.Text, _
.CF_TAXEDCUST_PRICE_AMT = ftaxedcustprice_amt.Text, _
.CF_TAXEDUNIT_PRICE_AMT = ftaxedunitprice_amt.Text _
})
End If
Notification.Show(New NotificationConfig With {.Title = "Item", .Html = "Item salvado"})
ItemWindow.Close()
Catch ex As Exception
args.Success = False
args.ErrorMessage = ex.Message
End Try
End Sub
for saving document use:
Protected Sub SaveDocument(ByVal sender As Object, ByVal args As DirectEventArgs)
Dim items As String = args.ExtraParams("items")
Try
BindDataStore2()
Notification.Show(New NotificationConfig With {.Title = "Documento", .Html = "Documento salvado"})
Catch ex As Exception
args.Success = False
args.ErrorMessage = ex.Message
End Try
End Sub
SaveDocument event is triggered by
<extnet:Button ID="btnSave" runat="server" Text="Salvar" Icon="DatabaseSave">
<DirectEvents>
<Click OnEvent="SaveDocument">
<ExtraParams>
<extnet:Parameter Name="items" Value="#{Store2}.getChangedData()" Mode="Raw" Encode="true" />
</ExtraParams>
</Click>
</DirectEvents>
</extnet:Button>