Click here to Skip to main content
15,887,683 members
Home / Discussions / C#
   

C#

 
QuestionHow To Write And Comsume An Async Method Pin
Kevin Marois12-Jun-20 6:47
professionalKevin Marois12-Jun-20 6:47 
I have code in my DAL that I want to call from the UI asynchronously in my WPF app. I think I have this right, but I'd like to get your opinion.

DAL Interface
public interface IDAL
{
    Task<List<ReportData>> GetReportData(ReportArgsEntity args);
}
DAL
public class MyDAL : IDAL
{
    public Task<List<ReportData>> GetReportData(ReportArgsEntity args)
    {
        var t = Task.Factory.StartNew(() => 
        {
            List<ReportData> results = new List<ReportData>();

            // Get report data here

            return results;
        });

        return t;
    }
}
BL Interface
public interface IBL
{
    Task<List<ReportData>> GetReportData(ReportArgsEntity args);
}
BL
public class MyBL : IBL
{
    IDAL _dal;
    public MyBL()
    {
        _dal = new MyDAL();
    }
    public Task<List<ReportData>> GetReportData(ReportArgsEntity args)
    {
        return _dal.GetReportData(args);
    }
}
View Model
public class MyViewModel
{
    IBL _bizLayer;

    public MyViewModel()
    {
        _bizLayer = new MyBL();
    }

    private async void RunReport()
    {
        var args = new ReportArgsEntity()
        {
            // Set properties here
        };

        var reportData = await _bizLayer.GetReportData(args);

        // When the data comes back, show he report
    }
}
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.

AnswerRe: How To Write And Comsume An Async Method Pin
Richard Deeming12-Jun-20 8:09
mveRichard Deeming12-Jun-20 8:09 
GeneralRe: How To Write And Comsume An Async Method Pin
Kevin Marois12-Jun-20 9:54
professionalKevin Marois12-Jun-20 9:54 
GeneralRe: How To Write And Comsume An Async Method Pin
Richard Deeming14-Jun-20 23:44
mveRichard Deeming14-Jun-20 23:44 
GeneralRe: How To Write And Comsume An Async Method Pin
Kevin Marois15-Jun-20 7:31
professionalKevin Marois15-Jun-20 7:31 
GeneralRe: How To Write And Comsume An Async Method Pin
Richard Deeming15-Jun-20 7:38
mveRichard Deeming15-Jun-20 7:38 
GeneralRe: How To Write And Comsume An Async Method Pin
Kevin Marois15-Jun-20 7:41
professionalKevin Marois15-Jun-20 7:41 
GeneralRe: How To Write And Comsume An Async Method Pin
Richard Deeming15-Jun-20 7:50
mveRichard Deeming15-Jun-20 7:50 
GeneralRe: How To Write And Comsume An Async Method Pin
Kevin Marois15-Jun-20 9:01
professionalKevin Marois15-Jun-20 9:01 
QuestionRemoving a field from jSon String Pin
simpledeveloper11-Jun-20 8:00
simpledeveloper11-Jun-20 8:00 
AnswerRe: Removing a field from jSon String Pin
OriginalGriff11-Jun-20 22:44
mveOriginalGriff11-Jun-20 22:44 
GeneralRe: Removing a field from jSon String Pin
simpledeveloper12-Jun-20 9:05
simpledeveloper12-Jun-20 9:05 
GeneralRe: Removing a field from jSon String Pin
OriginalGriff12-Jun-20 9:06
mveOriginalGriff12-Jun-20 9:06 
AnswerRe: Removing a field from jSon String Pin
James Curran17-Jun-20 20:23
James Curran17-Jun-20 20:23 
QuestionIs there any good C# desktop library to implement Card liked UI dashboard? Pin
yccheok11-Jun-20 6:31
yccheok11-Jun-20 6:31 
AnswerRe: Is there any good C# desktop library to implement Card liked UI dashboard? Pin
Richard MacCutchan11-Jun-20 21:36
mveRichard MacCutchan11-Jun-20 21:36 
GeneralRe: Is there any good C# desktop library to implement Card liked UI dashboard? Pin
yccheok12-Jun-20 6:13
yccheok12-Jun-20 6:13 
GeneralRe: Is there any good C# desktop library to implement Card liked UI dashboard? Pin
Richard MacCutchan12-Jun-20 6:43
mveRichard MacCutchan12-Jun-20 6:43 
QuestionHow to handle excel - multiple sheets integration with ODBC Driver connection in C# Pin
Member 1485915110-Jun-20 3:10
Member 1485915110-Jun-20 3:10 
AnswerRe: How to handle excel - multiple sheets integration with ODBC Driver connection in C# Pin
jsc423-Jul-20 6:43
professionaljsc423-Jul-20 6:43 
QuestionSystem.Timers.Timer() called method doesn't run all code Pin
jsmjsm10-Jun-20 1:09
jsmjsm10-Jun-20 1:09 
AnswerRe: System.Timers.Timer() called method doesn't run all code Pin
Richard Deeming10-Jun-20 1:30
mveRichard Deeming10-Jun-20 1:30 
AnswerRe: System.Timers.Timer() called method doesn't run all code Pin
Luc Pattyn10-Jun-20 1:31
sitebuilderLuc Pattyn10-Jun-20 1:31 
QuestionUnable to load file or assembly 'Oracle.DataAccess' Pin
Member 1483395810-Jun-20 0:30
Member 1483395810-Jun-20 0:30 
AnswerRe: Unable to load file or assembly 'Oracle.DataAccess' Pin
OriginalGriff10-Jun-20 0:40
mveOriginalGriff10-Jun-20 0:40 

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.