Add import of forces from excel

This commit is contained in:
Evgeny Redikultsev
2025-01-11 21:58:58 +05:00
parent 932f87f566
commit 690af15e2a
43 changed files with 843 additions and 166 deletions

View File

@@ -33,6 +33,7 @@
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="40"/>
<RowDefinition Height="22"/>
</Grid.RowDefinitions>
<DataGrid IsReadOnly="True" AutoGenerateColumns="False" ItemsSource="{Binding TupleResults}" SelectedItem="{Binding SelectedResult}">
<DataGrid.RowStyle>
@@ -114,6 +115,26 @@
</DataGrid.Columns>
</DataGrid>
<TextBlock Grid.Row="1" Text="{Binding CrackResult.Description}"/>
<StatusBar Grid.Row="2">
<StatusBarItem>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Valid result(s): "/>
<TextBlock Text="{Binding ValidResultCount}"/>
</StackPanel>
</StatusBarItem>
<StatusBarItem>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Invalid result(s): "/>
<TextBlock Text="{Binding InvalidResultCount}"/>
</StackPanel>
</StatusBarItem>
<StatusBarItem>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Total: "/>
<TextBlock Text="{Binding TotalResultCount}"/>
</StackPanel>
</StatusBarItem>
</StatusBar>
</Grid>
</DockPanel>
</Window>

View File

@@ -12,10 +12,14 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
public class CrackResultViewModel : ViewModelBase
{
IShowCrackIsoFieldsLogic showCrackIsoFieldsLogic => new ShowCrackIsoFieldsLogic();
private CrackResult crackResult;
private CrackResult resultModel;
private RelayCommand? showIsoFieldCommand;
private RelayCommand? showRebarsCommand;
public int ValidResultCount => resultModel.TupleResults.Count(x => x.IsValid == true);
public int InvalidResultCount => resultModel.TupleResults.Count(x => x.IsValid == false);
public int TotalResultCount => resultModel.TupleResults.Count;
public TupleCrackResult SelectedResult { get; set; }
public List<ITupleCrackResult> TupleResults => CrackResult.TupleResults;
public ICommand ShowRebarsCommand
@@ -41,11 +45,11 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
}
}
public CrackResult CrackResult => crackResult;
public CrackResult CrackResult => resultModel;
public CrackResultViewModel(CrackResult crackResult)
{
this.crackResult = crackResult;
this.resultModel = crackResult;
}
}
}

View File

@@ -44,7 +44,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
private InteractionDiagramLogic interactionDiagramLogic;
private static readonly ShowCrackResultLogic showCrackResultLogic = new();
//private static readonly ShowCrackWidthLogic showCrackWidthLogic = new();
private IForcesResults forcesResults;
private IForcesResults resultModel;
private IEnumerable<INdmPrimitive> ndmPrimitives;
private IEnumerable<INdmPrimitive> selectedNdmPrimitives;
private IEnumerable<INdm> ndms;
@@ -67,13 +67,13 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
private ICommand? graphValuepointsCommand;
private ICommand showForceResultCommand;
public int ValidResultCount => forcesResults.ForcesResultList.Count(x => x.IsValid == true);
public int InvalidResultCount => forcesResults.ForcesResultList.Count(x => x.IsValid == false);
public int TotalResultCount => forcesResults.ForcesResultList.Count;
public int ValidResultCount => resultModel.ForcesResultList.Count(x => x.IsValid == true);
public int InvalidResultCount => resultModel.ForcesResultList.Count(x => x.IsValid == false);
public int TotalResultCount => resultModel.ForcesResultList.Count;
public IForcesResults ForcesResults
{
get => forcesResults;
get => resultModel;
}
public ICommand ShowInteractionDiagramCommand
{
@@ -150,7 +150,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
Filter = "csv |*.csv",
Title = "Save in *.csv File"
};
var logic = new ExportForcesResultToCSVLogic(forcesResults);
var logic = new ExportForcesResultToCSVLogic(resultModel);
var exportService = new ExportToFileService(inputData, logic);
exportService.Export();
}
@@ -429,7 +429,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
public ForcesResultsViewModel(ForceCalculator forceCalculator)
{
this.forceCalculator = forceCalculator;
forcesResults = forceCalculator.Result as IForcesResults;
resultModel = forceCalculator.Result as IForcesResults;
ndmPrimitives = forceCalculator.InputData.Primitives;
}