I have this front end created, now i want to create back end logic. That will validate for this Compartment(combox-box) and purpose(combo-box). If truck is full(Compartment being selected and purpose is also selected for Full. Below is wpf ui, In summary this logic needs to apply before user clicks SaveTicket then must validate correctly. The issue this logic is not applied correctly and when debug its not hitting to that line.
<Label x:Name="lblPurpose" Content="Purpose:" HorizontalAlignment="Left" Margin="12,141,0,0" VerticalAlignment="Top" Width="93" HorizontalContentAlignment="Right" Background="#FFE3E3E3" FontWeight="SemiBold" BorderThickness="1" BorderBrush="#FFBEBEBE"/>
<ComboBox x:Name="cbxPurpose" HorizontalAlignment="Left" Margin="110,142,0,0" VerticalAlignment="Top" Width="119" Height="27"/>
<Label x:Name="lblCompartment" Content="Compartment:" HorizontalAlignment="Left" Margin="12,171,0,0" VerticalAlignment="Top" Width="93" HorizontalContentAlignment="Right" Background="#FFE3E3E3" FontWeight="SemiBold" BorderThickness="1" BorderBrush="#FFBEBEBE"/>
<ComboBox x:Name="cbxCompartment" IsEnabled="True" IsEditable="True" HorizontalAlignment="Left" Margin="110,170,0,0" VerticalAlignment="Top" Width="119" Height="26"/>
// back end class.cs
private void btnSaveReturn_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(txtTicketNu.Text))
{
MessageBox.Show("Please select a ticket");
return;
}
//if(rdbtn1.Is checked){
//update farm/ product
//
//}else
//if(rdbtn2.Is checked){
//update replacements
//
//}else
if (chkFarmName.IsChecked == true)
{
// MessageBox.Show("Customer, Product AND Replacement Seals can ONLY be updated", "WARNING");
var ticket = Managers.WeighbridgeTicketManager.GetWeighBridgeTicketPK(txtTicketNu.Text);
ticket.Customer = cbxCustomer.Text;
ticket.Product = cbxProduct.Text;
ticket.ReplacementTopSeal = txtRTopSeal.Text;
ticket.ReplacementBottomSeal = txtRBottomSeal.Text;
Managers.WeighbridgeTicketManager.UpdateTripsheetCustomer(ticket);
presenter.PopulateGrid(txtTripsheetNo.Text);
MessageBox.Show("Ticket " + TicketNumber + " updated successfully.", "Ticket Update");
ClearFields();
}
else
{
if (string.IsNullOrEmpty(txtReturnWeight.Text))
{
MessageBox.Show("Please enter compartment weight");
return;
}
if (cbxPurpose.SelectedIndex == 0)
{
MessageBox.Show("Please select a purpose");
return;
}
if (cbxCompartment.SelectedItem != null && cbxCompartment.SelectedItem.ToString() == "truck-empty")
{
if (string.IsNullOrEmpty(txtRTopSeal.Text))
{
MessageBox.Show("TopSeal cannot be empty when truck is empty", "Validation Error");
txtRTopSeal.Focus();
return;
}
}
ReturnDelivery retDelivery = new ReturnDelivery();
retDelivery.Comment = txtComment.Text;
retDelivery.Customer = cbxCustomer.Text;
retDelivery.Product = cbxProduct.Text;
retDelivery.Productweight = Convert.ToInt32(txtReturnWeight.Text);
retDelivery.Purpose = Convert.ToInt32(cbxPurpose.SelectedValue);
retDelivery.Ticket = Convert.ToInt32(txtTicketNu.Text);
retDelivery.Trip = Convert.ToInt32(txtTripsheetNo.Text);
var tickets = Managers.ReturnDeliveryManager.InsertReturnDelivery(retDelivery);
ClearFields();
MessageBox.Show("Return has been successfully saved");
}
}