I have two tables which are Process
and ProcessLinkedProcess
. The ProcessLinkedProcess
table associate with Process
table which links associated processes. Models are as follows:
Process Model
public class Process
{
[Key]
[Display(Name ="Reference")]
public int ProcessId { get; set; }
[Required]
[StringLength(100, ErrorMessageResourceName = "Error_Max_Lenght", ErrorMessageResourceType = typeof(bct.Properties.Resources))]
[Display(Name = "Clause")]
public string ProcessClause { get; set; }
public Function Function { get; set; }
[Required]
[Display(Name = "Function")]
public int FunctionId { get; set; }
public Employee Owner { get; set; }
[Required]
[Display(Name = "Process Owner")]
public int OwnerEmployeeId { get; set; }
[Required]
[StringLength(500, ErrorMessageResourceName = "Error_Max_Lenght", ErrorMessageResourceType = typeof(bct.Properties.Resources))]
[Display(Name = "Inputs")]
public string Inputs { get; set; }
[Required]
[StringLength(500, ErrorMessageResourceName = "Error_Max_Lenght", ErrorMessageResourceType = typeof(bct.Properties.Resources))]
[Display(Name = "Outputs")]
public string Outputs { get; set; }
[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:MM}", ApplyFormatInEditMode = true)]
public DateTime? ProcessAddedDate { get; set; }
public UserAccount AddedUser { get; set; }
public int? AddedUserUserId { get; set; }
[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:MM}", ApplyFormatInEditMode = true)]
public DateTime? LastUpdatedDate { get; set; }
public UserAccount LastUpdatedUser { get; set; }
public int? LastUpdatedUserUserId { get; set; }
}
ProcessLinkedProcess Model
public class ProcessLinkedProcess
{
[Key]
public int Id { get; set; }
public Process LinedProcess { get; set; }
[Required]
public int LinedProcessProcessId { get; set; }
}
I created DTOs for both models and create Automapper link too
Automapper
Mapper.CreateMap<Process, ProcessDto>();
Mapper.CreateMap<ProcessLinkedProcess, ProcessLinkedProcessDto>();
Mapper.CreateMap<Process, ProcessDto>()
.ForMember(p => p.ProcessId, opt => opt.Ignore());
I want to get both tables data through web api to display as a list in a table. How can I pass both tables data through web api get request. So far I am getting process data as follow
public IEnumerable<ProcessDto> GetProcess()
{
return _context.Processes
.Include(a => a.AddedUser)
.Include(l=>l.LastUpdatedUser)
.Include(f=>f.Function)
.ToList()
.Select(Mapper.Map<Models.Process, ProcessDto>);
}
Please help.!