Click here to Skip to main content
15,897,891 members
Home / Discussions / C#
   

C#

 
QuestionSimple C# question - Begginer's lesson, please aid. Pin
Member 149309634-Sep-20 13:32
Member 149309634-Sep-20 13:32 
AnswerRe: Simple C# question - Begginer's lesson, please aid. Pin
Mycroft Holmes4-Sep-20 15:19
professionalMycroft Holmes4-Sep-20 15:19 
GeneralRe: Simple C# question - Begginer's lesson, please aid. Pin
Member 149309634-Sep-20 15:21
Member 149309634-Sep-20 15:21 
GeneralRe: Simple C# question - Begginer's lesson, please aid. Pin
Mycroft Holmes4-Sep-20 15:57
professionalMycroft Holmes4-Sep-20 15:57 
GeneralRe: Simple C# question - Begginer's lesson, please aid. Pin
Member 149309634-Sep-20 16:56
Member 149309634-Sep-20 16:56 
AnswerRe: Simple C# question - Begginer's lesson, please aid. Pin
OriginalGriff4-Sep-20 20:07
mveOriginalGriff4-Sep-20 20:07 
AnswerRe: Simple C# question - Begginer's lesson, please aid. Pin
Eddy Vluggen5-Sep-20 5:27
professionalEddy Vluggen5-Sep-20 5:27 
QuestionRunning Function from Task.Run with Cancellation Token gives infinite loop Pin
Exoskeletor4-Sep-20 12:41
Exoskeletor4-Sep-20 12:41 
AnswerRe: Running Function from Task.Run with Cancellation Token gives infinite loop Pin
Gerry Schmitz5-Sep-20 4:31
mveGerry Schmitz5-Sep-20 4:31 
GeneralRe: Running Function from Task.Run with Cancellation Token gives infinite loop Pin
Exoskeletor5-Sep-20 8:25
Exoskeletor5-Sep-20 8:25 
GeneralRe: Running Function from Task.Run with Cancellation Token gives infinite loop Pin
Gerry Schmitz5-Sep-20 9:05
mveGerry Schmitz5-Sep-20 9:05 
GeneralRe: Running Function from Task.Run with Cancellation Token gives infinite loop Pin
Exoskeletor5-Sep-20 10:17
Exoskeletor5-Sep-20 10:17 
GeneralRe: Running Function from Task.Run with Cancellation Token gives infinite loop Pin
Gerry Schmitz5-Sep-20 10:38
mveGerry Schmitz5-Sep-20 10:38 
GeneralRe: Running Function from Task.Run with Cancellation Token gives infinite loop Pin
Exoskeletor5-Sep-20 10:58
Exoskeletor5-Sep-20 10:58 
Question.Net Core Windows App, using database repositories Pin
jkirkerx4-Sep-20 11:53
professionaljkirkerx4-Sep-20 11:53 
AnswerRe: .Net Core Windows App, using database repositories Pin
Mycroft Holmes4-Sep-20 12:07
professionalMycroft Holmes4-Sep-20 12:07 
GeneralRe: .Net Core Windows App, using database repositories Pin
jkirkerx4-Sep-20 13:45
professionaljkirkerx4-Sep-20 13:45 
GeneralRe: .Net Core Windows App, using database repositories Pin
Mycroft Holmes4-Sep-20 15:14
professionalMycroft Holmes4-Sep-20 15:14 
GeneralRe: .Net Core Windows App, using database repositories Pin
Gerry Schmitz5-Sep-20 4:40
mveGerry Schmitz5-Sep-20 4:40 
GeneralRe: .Net Core Windows App, using database repositories Pin
jkirkerx5-Sep-20 7:32
professionaljkirkerx5-Sep-20 7:32 
GeneralRe: .Net Core Windows App, using database repositories Pin
Gerry Schmitz5-Sep-20 8:46
mveGerry Schmitz5-Sep-20 8:46 
AnswerRe: .Net Core Windows App, using database repositories Pin
Richard Deeming6-Sep-20 22:30
mveRichard Deeming6-Sep-20 22:30 
GeneralRe: .Net Core Windows App, using database repositories Pin
jkirkerx7-Sep-20 6:58
professionaljkirkerx7-Sep-20 6:58 
GeneralRe: .Net Core Windows App, using database repositories Pin
jkirkerx7-Sep-20 9:14
professionaljkirkerx7-Sep-20 9:14 
It works, pretty fast speed.
But it's kind of weird.

Dependency Injection in Win Forms or Desktop Application .NET Core | TheCodeBuzz

I set up the forms, and used my main Form.
And then from the main form, passed it to the menu form, and next to the Amazon form, deep down to dialog forms.
I kind of thought the forms would just pick up respository or service.
private static void ConfigureServices(IServiceCollection services)
{
    services.AddScoped<MainForm>();
    services.AddScoped<MenuForm>();
    services.AddScoped<AmazonForm>();
    services.AddScoped<AmazonDownloadForm>();
    services.AddScoped<AmazonOrderDialogForm>();
    services.AddScoped<AmazonViewOrdersForm>();
    services.AddScoped<DownloadFileProcessorDialog>();
    services.AddScoped<EBayForm>();
    services.AddScoped<EBayDownloadForm>();            

<pre>
services.AddTransient<IOrdersRepository, OrdersRepository>();
services.AddSingleton<IGmailSender, GmailSender>();

}

Called the main form
using (ServiceProvider serviceProvider = services.BuildServiceProvider())
{
    var mainForm = serviceProvider.GetRequiredService<MainForm>();
    mainForm.Shown += Main_Shown;
    mainForm.FormClosed += Main_FormClosed;

    // Run the Main Form
    Application.Run(mainForm);
} 
Main form loads the menu form
var menuForm = new MenuForm(_ordersRepository)
{
   MdiParent = this,
   Dock = DockStyle.Fill
};
menuForm.Show();
Menu Form loads the Amazon Form
private void Btn_Amazon_Click(object sender, EventArgs e)
{
    // close all the open forms
    for (var i = Application.OpenForms.Count - 1; i >= 1; i += -1)
    {
        var form = Application.OpenForms[i];
        if (form.Name != "MainForm")
            form.Close();
    }

    var amazonForm = new AmazonForm(_ordersRepository)
    {
        MdiParent = MainForm.ActiveForm,
        Dock = DockStyle.Fill
    };
    amazonForm.Show();
    Application.DoEvents();
}

Well at least I got first working.
I'll play around with the 2nd part, and do lots or reading on the subject.
But the orderRepository works, my test example. I have 10 db respositories and don't want to pass them all up the chain.
I thought is was hard to understand how it works for web projects, this is probably more simple, but I just don't get it yet.
If it ain't broke don't fix it
Discover my world at jkirkerx.com

GeneralRe: .Net Core Windows App, using database repositories Pin
jkirkerx7-Sep-20 10:29
professionaljkirkerx7-Sep-20 10:29 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.