|
Partial Answer to my question has been determined. All code below.
Basically, I need to create a person class, and a job class. The person class will have a null value for their job. The job class will specify what the job is, and logic for assignment. The person will then be assigned a job with the same name as their job class instance. The 'hook' will find the person obj with a job type, and then run it as an argument on the job class object.
class Role
{
public string Baker { get; set; }
public string fireFighter { get; set; }
public string chief { get; set; }
public string myName;
public Role(string myName)
{
this.Baker = myName;
}
}
static void Main(string[] args)
{
const string f = "textfile1.txt";
List<string> lines = new List<string>();
using (StreamReader r = new StreamReader(f))
{
string line;
while ((line = r.ReadLine()) != null)
{
lines.Add(line);
}
}
List<Role> whoIs = new List<Role>();
foreach (string s in lines)
{
Role temp = new Role(s);
whoIs.Add(temp);
Console.WriteLine(temp.Baker);
}
whoIs.ForEach(Console.WriteLine);
Console.ReadKey();
Role assignTarget = whoIs.Find(x => x.Baker == "Corey");
assignTarget.fireFighter = "BatMan";
Console.WriteLine("Corey is {0} ", assignTarget.fireFighter);
Console.ReadKey();
}
}
|
|
|
|
|
Hello 1 i need to know as i have made my sales system project on a simple windowform and a coding behind , i mean to say without any n tier or 2-3 tier layers, but now i wanna add (search information of items code) with the help of layers in a existing project ,when i have written all code inside project there occur some problem in a biz and Ui layer , it requires assembly refernce i m trying to build my biz and ui to give both their reference but it failed 1 and gives this similar kind of error ,on the other hand my dal layer is build successsfully. please guide me.
|
|
|
|
|
I'm sorry, but we can't.
Partly because your question is unreadable (please try to learn what punctuation is, how to use it, and what capitalization is for), partly because you don't give us even slightly enough information about what "some problem in a biz and Ui layer" means, and partly because it sounds like you are trying to bolt a three layer model onto an existing project without changing anything. That's not generally a good idea: it's difficult to separate the concerns in an existing project, normally it's a lot easier to sit down and rewrite it from scratch with a better model in mind.
So remember that we can't see your screen, access your HDD, or read your mind - we only get exactly what you type to work from, and think about your question from that perspective.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
sorry my article is error
modified 28-Jun-16 6:34am.
|
|
|
|
|
Ummm.... what are you doing?
This is not the place to post articles and what you've posted cannot even be considered an article.
There's a menu bar near the top of this window with an item called "articles". Under that menu theres a green button called "Submit an article or tip". If you want to post an article that's the place to do it.
Oh, and if you want it to be published your article better have a much more in-depth discussion about what you're doing and why. An article is not a place for a bunch of unexplained code dumps.
|
|
|
|
|
This question is removed
modified 16-Sep-16 9:15am.
|
|
|
|
|
lokeshnj wrote: If anyone found a better solution please let me know it. Normally you don't compare the data in the visual controls, but in the dataset. If your data is coming from a database-server, comparing tables should be relatively easy using SQL.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
If it isn't coming from a database, an option would be to import the key column(s) into a record object, build a generic list<t> of objects, and use .Equals to compare. The class for the record would need a method to expose how .Equals could do the compare.
Then you could take the results (non-matches) and update your control. I am working on this process in parallel.
|
|
|
|
|
The person you reply to gets a mail with the text. The OP might have been interested in this, but will not get a notification of your post - because you replied to me
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
First post, so I really needed that feedback. Not sure where I went wrong but will tiptoe through my next answer.
|
|
|
|
|
Jim_Snyder wrote: First post, so I really needed that feedback. And a welcome one
Jim_Snyder wrote: Not sure where I went wrong You read the question of lokeshnj, and my (incomplete) answer; then you hit reply - on my answer, not on the question of lokeshnj. To do the last, you'd have to click on that post first, and then hit reply.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I figured it out pretty quickly when I went to correct the process. I have gotten too used to forums like Mr. Excel where there is only one reply button at the bottom of the thread and smaller individual Quote and Reply buttons on each answer. Just a new forum engine to get used to!
|
|
|
|
|
Repost:
If it isn't coming from a database, an option would be to import the key column(s) into a record object, build a generic list of objects, and use .Equals to compare. The class for the record would need a method to expose how .Equals could do the compare.
Then you could take the results (non-matches) and update your control. I am working on this process in parallel.
|
|
|
|
|
im using the sms message but the message receive event handler does not working resulting to the message cannot be seen in the application
anyone can help for this problem specialy to the creator of the application
the message only seen when the application start running and call the form_load. but on its runtime it doesnt execute.
|
|
|
|
|
We can't tell you - we have no idea what your code is doing, much less how it does it.
Remember that we can't see your screen, access your HDD, or read your mind - and a question like this needs someone to look at the code and work out what you have done. We can;t do that: so start looking and find out what you do in your load event that makes it work, and see if you can see from that why iot doesn't work later. It may be you have closed the serial port, it may be you haven;t hooked up an event - we don't know and can't tell.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I have followed Josh Smith's article "Patterns - WPF Apps with the Model-View-ViewModel Design Pattern" , and examples in two books. But I still don't see what is going on in my attempt to bind a Command to a ViewModel.
In my XAML I have:
<Window x:Class="Samples.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:Samples.ViewModel"
xmlns:i="http://schemas.microsoft.com/expression/2010/interctivity"
Title="MainWindow" Style="{StaticResource styWindow}">
<Window.DataContext>
<vm:LabTechViewModel />
</Window.DataContext>
<Window.Resources>
<DataTemplate x:Key="techData">
<Border Margin="2"
BorderThickness="2"
CornerRadius="4"
BorderBrush="SteelBlue"
HorizontalAlignment="Stretch">
<Grid ShowGridLines="False" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding TechID}">
</TextBlock>
<TextBlock Grid.Row="1" Text="{Binding TechName}" FontWeight="Bold">
</TextBlock>
</Grid>
</Border>
</DataTemplate>
<DataTemplate x:Key="progBar">
<Border BorderThickness="2"
BorderBrush="Blue"
CornerRadius="4"
HorizontalAlignment="Stretch">
<Grid>
<ProgressBar HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Minimum="{Binding Minimum}"
Maximum="{Binding Maximum}"
Value="{Binding ProgressValue}"/>
<Button x:Name="progButton"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Command="{Binding ProgressCommand}"
Content="{Binding ProgressButtonContent, FallbackValue='Bite Me'}"
Background="Transparent" />
</Grid>
</Border>
</DataTemplate>
</Window.Resources>
<Grid ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel>
<ComboBox x:Name="lstOperators"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ItemsSource="{Binding LabTechs}"
ItemTemplate="{StaticResource techData}"
SelectedItem="{Binding LabTechSelected}"
SelectedIndex="0"
>
</ComboBox>
<ContentControl ContentTemplate="{StaticResource progBar}"
>
</ContentControl>
</StackPanel>
</Grid>
</Window>
An I have this in my ViewModel. Some of the ViewModel has been left out for brevity.
public LabTechViewModel()
{
_techList = DataAccess.GetAllLabTechs();
_progressCommand = new RelayCommand(param => this.OnProgressClicked());
}
private RelayCommand _progressCommand;
public ICommand ProgressCommand
{
get
{
if (_progressCommand == null)
_progressCommand = new RelayCommand(param => this.OnProgressClicked());
return _progressCommand;
}
}
void OnProgressClicked()
{
if (_progButtonContent == "Stopped, Click to Start")
{
_progButtonContent = "Scanning, click to stop";
RaisePropertyChanged("ProgressButtonContent");
RaisePropertyChanged("ProgressMaximum");
RaisePropertyChanged("ProgerssMinimum");
}
}
And I have this RelayCommand Class that was repeated in the book examples. I am including the entire class here.
class RelayCommand : ICommand
{
readonly Action<object> _execute;
readonly Predicate<object> _canExecute;
public RelayCommand(Action<object> execute, Predicate<object> canExecute)
{
if (execute == null) throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
public RelayCommand(Action<object> execute) : this(execute, null) { }
public bool CanExecute(object parameters)
{
return _canExecute == null ? true : _canExecute(parameters);
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
public void Execute(object parameters)
{
_execute(parameters);
}
}
It appears that I am missing the magic link. I have a break point set at the ICommand ProgressCommand property and it never gets hit.
|
|
|
|
|
|
Set the breakpoint at the function to be executed on button click, i.e. OnProgressClicked .
Creating the command in the constructor is enough, you do need that extra safeguard in the property.
By the way, the creation of the command can be simplified to: _progressCommand = new RelayCommand(OnProgressClicked);
|
|
|
|
|
You don't need a DataTemplate - this is only complicating things for you. Move the body of the DataTemplate containing the Button and replace the ContentControl.
This space for rent
|
|
|
|
|
Dim DesChkBox As New DataGridViewCheckBoxColumn
DesChkBox.Name = "chbSelect"
DesChkBox.HeaderText = "Select"
DesChkBox.TrueValue = True
DesChkBox.FalseValue = False
grdView.Columns.Add(DesChkBox)
DesChkBox.Width = 50
grdView.ReadOnly = False
grdView.AutoGenerateColumns = False
grdView.RowHeadersWidth = 5
And through a procedure I want to check the Check Box programmatically.
Private Sub prcDefaultSelection()
Try
grdView.Rows(0).Cells(3).Value = True
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
The Check Box is not Checking. Please help me.
|
|
|
|
|
Given that you have also posted this is the (correct) VB forum, you might want to remove this post
|
|
|
|
|
extension method is required in c#
|
|
|
|
|
Ummm.. what? Got some context?
|
|
|
|
|
Extension methods aren't "required" they are just a "little sugar" which makes things work a little more nicely. They provide a mechanism to add methods to a class without deriving from it.
For example, if you have an extension method to remove all the vowels from a string :
public static class ExtensionMethods
{
private const string vowels = "aeiouAEIOU";
public static string RemoveVowels(this string inp)
{
StringBuilder sb = new StringBuilder(inp.Length);
foreach (char c in inp)
{
if (!vowels.Contains(c)) sb.Append(c);
}
return sb.ToString();
}
} Then you can call it as if it was a part of the string class:
string noVowels = "The quick brown fox jumps over the lazy dog.".RemoveVowels();
And since string is a sealed class, you can't derive from it - so an extension method is the only way to do that.
But...you don't have to use an extension method - you could write it as a "normal" method.
public static class GeneralMethods
{
private const string vowels = "aeiouAEIOU";
public static string RemoveVowels(string inp)
{
StringBuilder sb = new StringBuilder(inp.Length);
foreach (char c in inp)
{
if (!vowels.Contains(c)) sb.Append(c);
}
return sb.ToString();
}
} But then, you have to call it as a "normal method:
string noVowels = GeneralMethods.RemoveVowels("The quick brown fox jumps over the lazy dog.");
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Exactly. Additionally, chaining method calls looks more natural.
|
|
|
|