Return two lists to view - c#

I'm trying to return two lists to my view, these lists help me fill some webgrid, I searched the web and I can not find a solution, I'm new to this
My Controller
public ActionResult Index()
{
List<WebGrid> list = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Cat_Proyecto
join b in dc.Cat_Pais on a.Id_Pais equals b.ID
join c in dc.Cat_estado on a.Id_Estado equals c.Id
select new WebGrid
{
ID = a.ID,
ID_kEY = a.ID_kEY,
Cliente = a.Cliente,
Tipo_servicio = a.Tipo_servicio,
Descripcion = a.Descripcion,
Contratista = a.Contratista,
INCA_PM = a.INCA_PM,
Importe_INCA = a.Importe_INCA,
Importe_Cliente = a.Importe_Cliente,
calle = a.calle,
colonia = a.colonia,
Estado = c.Estado,
Pais = b.Pais
});
list = v.ToList();
}
List<WebGrid> list_Usuario = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Usuarios
select new WebGrid
{
Usuario = a.Usuario,
nombres = a.Nombres,
apellidos = a.Apellido_Paterno,
empresa = a.Area_Empresa,
estatus_Usuario = a.Estatus,
alcance = a.Id_Alcance
});
list_Usuario = v.ToList();
}
return View("../Admin/Administrador", list, list_Usuario);
}
in the return View tried to return to the view and my two lists to fill two web grid, only that I get an error, but I want to know how together these two lists so I can fill my grid

As both the list are of same type i.e List<WebGrid>
you can use AddRange and concat both the list and pass to view
public ActionResult Index()
{
List<WebGrid> list = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Cat_Proyecto
join b in dc.Cat_Pais on a.Id_Pais equals b.ID
join c in dc.Cat_estado on a.Id_Estado equals c.Id
select new WebGrid
{
ID = a.ID,
ID_kEY = a.ID_kEY,
Cliente = a.Cliente,
Tipo_servicio = a.Tipo_servicio,
Descripcion = a.Descripcion,
Contratista = a.Contratista,
INCA_PM = a.INCA_PM,
Importe_INCA = a.Importe_INCA,
Importe_Cliente = a.Importe_Cliente,
calle = a.calle,
colonia = a.colonia,
Estado = c.Estado,
Pais = b.Pais
});
list = v.ToList();
}
List<WebGrid> list_Usuario = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Usuarios
select new WebGrid
{
Usuario = a.Usuario,
nombres = a.Nombres,
apellidos = a.Apellido_Paterno,
empresa = a.Area_Empresa,
estatus_Usuario = a.Estatus,
alcance = a.Id_Alcance
});
list_Usuario = v.ToList();
}
list.AddRange(list_Usuario);
return View("../Admin/Administrador", list);
}
or else you can create a class and use it
public class WebGridModel
{
public List<WebGrid> List1{get;set;}
public List<WebGrid> List2{get;set;}
}
and use it like this
public ActionResult Index()
{
List<WebGrid> list = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Cat_Proyecto
join b in dc.Cat_Pais on a.Id_Pais equals b.ID
join c in dc.Cat_estado on a.Id_Estado equals c.Id
select new WebGrid
{
ID = a.ID,
ID_kEY = a.ID_kEY,
Cliente = a.Cliente,
Tipo_servicio = a.Tipo_servicio,
Descripcion = a.Descripcion,
Contratista = a.Contratista,
INCA_PM = a.INCA_PM,
Importe_INCA = a.Importe_INCA,
Importe_Cliente = a.Importe_Cliente,
calle = a.calle,
colonia = a.colonia,
Estado = c.Estado,
Pais = b.Pais
});
list = v.ToList();
}
List<WebGrid> list_Usuario = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Usuarios
select new WebGrid
{
Usuario = a.Usuario,
nombres = a.Nombres,
apellidos = a.Apellido_Paterno,
empresa = a.Area_Empresa,
estatus_Usuario = a.Estatus,
alcance = a.Id_Alcance
});
list_Usuario = v.ToList();
}
var returnObj = new WebGridModel
{
List1= list;
List2=list_Usuario ;
}
return View("../Admin/Administrador", returnObj );
}

Related

I can't sort a column descending ASP MVC

I need to sort the PROMEDIOCAL field in descending order but when implementing the sort it doesn't work. It lists me correctly by ID and I can also search by DISTRICT but I cannot sort the PROMEDIOCAL field in descending order when clicking on the header in the table
Controller:
public ActionResult ListarProfxServicio(int id, string CadenaBusqueda, string Orden)
{
List<TB_Profesionales> lista = new List<TB_Profesionales>();
ViewBag.cal = String.IsNullOrEmpty(Orden) ? "cod_asc" : "";
var data = from c in db.TB_Profesionales where c.IDSERVICIO == id select new {c.IDUSUARIO, c.NOMBRE, c.APELLIDO, c.SEXO, c.DISTRITO, c.DESCRIPCIÓN, c.PROMEDIOCAL};
var data2 = from c in db.TB_Profesionales select c;
foreach (var pro in data)
{
TB_Profesionales p = new TB_Profesionales();
p.IDUSUARIO = pro.IDUSUARIO;
p.NOMBRE = pro.NOMBRE;
p.APELLIDO = pro.APELLIDO;
p.SEXO = pro.SEXO;
p.DISTRITO = pro.DISTRITO;
p.DESCRIPCIÓN = pro.DESCRIPCIÓN;
p.PROMEDIOCAL = pro.PROMEDIOCAL;
lista.Add(p);
}
switch (Orden)
{
case "cod_asc":
data = data.OrderByDescending(s => s.PROMEDIOCAL);
break;
}
if (!String.IsNullOrEmpty(CadenaBusqueda))
{
data2 = data2.Where(s => s.DISTRITO.ToUpper().Contains(CadenaBusqueda.ToUpper()));
return View(data2.ToList());
}
return View(lista.ToList());
}
View:
<th>
#Html.ActionLink("Cod", "ListarProfxServicio", new {Orden = ViewBag.cal })
</th>
Problem
You are performing sorting in data but you are returning lista to the View. So your lista is never been sorted.
public ActionResult ListarProfxServicio(int id, string CadenaBusqueda, string Orden)
{
List<TB_Profesionales> lista = new List<TB_Profesionales>();
var data = from c in db.TB_Profesionales where c.IDSERVICIO == id select new {c.IDUSUARIO, c.NOMBRE, c.APELLIDO, c.SEXO, c.DISTRITO, c.DESCRIPCIÓN, c.PROMEDIOCAL};
...
foreach (var pro in data)
{
...
lista.Add(p);
}
switch (Orden)
{
case "cod_asc":
data = data.OrderByDescending(s => s.PROMEDIOCAL);
break;
}
...
return View(lista.ToList());
}
Solution
Change the below part to sort for lista.
switch (Orden)
{
case "cod_asc":
lista = lista.OrderByDescending(s => s.PROMEDIOCAL);
break;
}
Recommendation
The data and foreach part can be refactored together as:
List<TB_Profesionales> lista = from c in db.TB_Profesionales
where c.IDSERVICIO == id
select new TB_Profesionales
{
IDUSUARIO = c.IDUSUARIO,
NOMBRE = c.NOMBRE,
APELLIDO = c.APELLIDO,
SEXO = c.SEXO,
DISTRITO = c.DISTRITO,
DESCRIPCIÓN = c.DESCRIPCIÓN,
PROMEDIOCAL = c.PROMEDIOCAL
};

Linq Left Join or similar

I'm trying to fill my query with several table's info but I'm in trouble some fields are null or empty, so Im looking for a way to bring my info even if is null or empty or filled. Can you help me?? thanks!!
var generales = (from queja in db.RegistroQueja
join datosQueja in db.DatosQueja on queja.ID equals datosQueja.Id_Registro into g
from datosQueja in g.DefaultIfEmpty()
join estado in db.Estado on datosQueja.Estado equals estado.ID
join lugar in db.Lugar on datosQueja.Lugar equals lugar.ID
join genero in db.Genero on datosQueja.Genero equals genero.ID
join tipoUser in db.Clasificacion on datosQueja.Clasificacion equals tipoUser.ID
join calDetalle in db.CalificacionDetalle on queja.ID equals calDetalle.Id_Registro into f
from calDetalle in f.DefaultIfEmpty()
join medioC in db.Medio_Captacion on calDetalle.Medio_Captacion equals medioC.ID
join temaCorp in db.Dimension on calDetalle.Dimension equals temaCorp.ID
join tipoInc in db.Tipo_Incidencia on calDetalle.Tipo_Incidencia equals tipoInc.ID
join dataIncidencia in db.RegistroIncidencia on calDetalle.Incidencia equals dataIncidencia.Id
join incidencia in db.TemaIncidencia on dataIncidencia.TemaIncidencia equals incidencia.IDTemaIncidencia
join estatus in db.Estatus_SAC on queja.Estatus equals estatus.Id
join contexto in db.Contextualizacion on queja.ID equals contexto.Id_Registro into e
from contexto in e.DefaultIfEmpty()
join procInt0 in db.ProcesoInterno on queja.ID equals procInt0.Id_Registro into d
from procInt0 in d.DefaultIfEmpty()
join cierre in db.Cierre_Seguimiento on queja.ID equals cierre.Id_Registro into c
from cierre in c.DefaultIfEmpty()
join tipoCierre in db.Tipo_Cierre on cierre.Tipo_Cierre equals tipoCierre.Id
join paises in db.Pais on datosQueja.Pais equals paises.Id
//join regiones in db.Region on datosQueja.Estado equals regiones.Id
join sitios in db.Sitio on datosQueja.Unidad equals sitios.Id
where queja.Fecha_creacion >= fechaI && queja.Fecha_modificacion <= fechaC
select new
{
//Campos informacion de contacto
Folio = queja.Folio,
CasoAnonimo = queja.Queja_Anonima,
NombreContacto = String.IsNullOrEmpty(g.Nombre) ? "" : datosQueja.Nombre,
TelefonoContacto = String.IsNullOrEmpty(datosQueja.Telefono) ? "" : datosQueja.Telefono,
Telefono2 = datosQueja.Extencion,
GeneroInt = datosQueja.Genero,
Genero = String.IsNullOrEmpty(genero.Genero1) ? "" : genero.Genero1,
EdadContacto = datosQueja.Edad,
Tipo = String.IsNullOrEmpty(datosQueja.Tipo) ? "" : datosQueja.Tipo,
CorreoContacto = String.IsNullOrEmpty(datosQueja.Correo) ? "" : datosQueja.Correo,
TipoUsuario = datosQueja.Clasificacion,
TipoUsuarioNombre = String.IsNullOrEmpty(tipoUser.Nombre) ? "" : tipoUser.Nombre,
EspecificarContacto = String.IsNullOrEmpty(datosQueja.Especificar) ? "" : datosQueja.Especificar,
// Campos ubicacion
Pais = datosQueja.Pais,
PaisNombre = paises.Nombre,
Estados = datosQueja.Estado,
EstadosNombre = estado.Nombre,
OtroEstado = datosQueja.Estado_Otro,
Lugar = datosQueja.Lugar,
LugarNombre = lugar.Nombre,
CodigoP = datosQueja.CP,
Colonia = datosQueja.Colonia,
Unidad = datosQueja.Unidad,
UnidadNombre = sitios.Nombre,
Direccion = datosQueja.Direccion,
Especifiaciones = datosQueja.Especificaciones,
FechaEvento = datosQueja.Fecha_Evento,
DescripcionCaso = datosQueja.Descripcion,
Estatus = queja.Estatus,
EstatusNombre = estatus.Nombre,
MedioCapacitacion = calDetalle.Medio_Captacion,
MedioCaptacionNombre = medioC.Nombre,
Dimension = calDetalle.Dimension,
TemaCorporativoNombre = temaCorp.Nombre,
TipoIncidencia = calDetalle.Tipo_Incidencia,
TipoIncidenciaNombre = tipoInc.Nombre,
Incidencia = calDetalle.Incidencia,
IncidenciaNombre = incidencia.Nombre,
FechaInicio = queja.Fecha_creacion,
FechaFin = queja.Fecha_modificacion,
//Contextualizacion
WhatsApp = contexto.WhatsApp,
Correo = contexto.Correo,
Llamada = contexto.Llamada,
ObservacionesContext = contexto.Observaciones,
Confirmacion_Recibido = contexto.Confirmacion_Recibido,
//Proceso Interno
ValidacionExterna = procInt0.Validacion_Externa,
JustificacionValidacion = String.IsNullOrEmpty(procInt0.Justificacion_Validacion) ? "" : procInt0.Justificacion_Validacion,
RespaldoJuridico = procInt0.Respaldo_Juridico,
JustificacionRespaldo = String.IsNullOrEmpty(procInt0.Justificacion_Respaldo) ? "" : procInt0.Justificacion_Respaldo,
CierreProceso = procInt0.Cierre_Proceso,
// Cierre
Tipo_Cierre = cierre.Tipo_Cierre,
Tipo_Cierre_Nombre = tipoCierre.Nombre,
Observaciones = cierre.Observaciones,
Testimonio = cierre.Testimonio,
Expediente_Respaldo = cierre.Expediente_Respaldo,
Oficio_Tercero = cierre.Oficio_Tercero,
Bitacoras_Comunitarias = cierre.Bitacoras_Comunitarias,
Memoria_Inicial = cierre.Memoria_Inicial,
Memoria_Final = cierre.Memoria_Final,
Recibo_Deducible = cierre.Recibo_Deducible,
Oficio_Agradecimiento = cierre.Oficio_Agradecimiento,
Resultados_Estudios = cierre.Resultados_Estudios,
Correo_Seguimiento = cierre.Correo_Seguimiento,
Comunicados_Oficiales = cierre.Comunicados_Oficiales,
Notas_Periodisticas = cierre.Notas_Periodisticas,
Respaldo_Redes = cierre.Respaldo_Redes,
Otros = cierre.Otros,
Comunicacion = cierre.Comunicacion,
Dialogo_Directo = cierre.Dialogo_Directo,
Comunicacion_Clave = cierre.Comunicacion_Clave,
Difusion_Redes = cierre.Difusion_Redes,
Cierre_Desarrollo = cierre.Cierre_Desarrollo,
Cierre_SAC = cierre.Cierre_SAC,
}).Distinct().ToList().Select(p => new DataGeneral
{
Folio = p.Folio,
CasoAnonimo = p.CasoAnonimo,
NombreContacto = p.NombreContacto,
TelefonoContacto = p.TelefonoContacto,
Telefono2 = p.Telefono2,
GeneroInt = p.GeneroInt,
Genero = p.Genero,
EdadContacto = p.EdadContacto,
Tipo = p.Tipo,
CorreoContacto = p.CorreoContacto,
TipoUsuario = p.TipoUsuario,
TipoUsuarioNombre = p.TipoUsuarioNombre,
EspecificarContacto = p.EspecificarContacto,
//Campos ubicacion
Pais = p.Pais,
PaisNombre = p.PaisNombre,
Estado = p.Estados,
EstadosNombre = p.EstadosNombre,
OtroEstado = p.OtroEstado,
Lugar = p.Lugar,
LugarNombre = p.LugarNombre,
CodigoP = p.CodigoP,
Colonia = p.Colonia,
Unidad = p.Unidad,
UnidadNombre = p.UnidadNombre,
Direccion = p.Direccion,
Especifiaciones = p.Especifiaciones,
FechaEvento = p.FechaEvento,
DescripcionCaso = p.DescripcionCaso,
MedioCapacitacion = p.MedioCapacitacion,
MedioCaptacionNombre = p.MedioCaptacionNombre,
TemaCorporativo = p.Dimension,
TemaCorporativoNombre = p.TemaCorporativoNombre,
TipoIncidencia = p.TipoIncidencia,
TipoIncidenciaNombre = p.TipoIncidenciaNombre,
Incidencia = p.Incidencia,
IncidenciaNombre = p.IncidenciaNombre,
Estatus = p.Estatus,
EstatusNombre = p.EstatusNombre,
FechaInicio = p.FechaInicio,
FechaFin = p.FechaFin,
//Context
WhatsApp = p.WhatsApp,
Correo = p.Correo,
Llamada = p.Llamada,
ObservacionesContext = p.ObservacionesContext,
Confirmacion_Recibido = p.Confirmacion_Recibido,
//proceso Intern
ValidacionExterna = p.ValidacionExterna,
JustificacionValidacion = p.JustificacionValidacion,
JustificacionRespaldo = p.JustificacionRespaldo,
RespaldoJuridico = p.RespaldoJuridico,
CierreProceso = p.CierreProceso,
//// cierre
Tipo_Cierre = p.Tipo_Cierre,
Tipo_CierreNombre = p.Tipo_Cierre_Nombre,
Observaciones = p.Observaciones,
Testimonio = p.Testimonio,
Expediente_Respaldo = p.Expediente_Respaldo,
Oficio_Tercero = p.Oficio_Tercero,
Bitacoras_Comunitarias = p.Bitacoras_Comunitarias,
Memoria_Inicial = p.Memoria_Inicial,
Memoria_Final = p.Memoria_Final,
Recibo_Deducible = p.Recibo_Deducible,
Oficio_Agradecimiento = p.Oficio_Agradecimiento,
Resultados_Estudios = p.Resultados_Estudios,
Correo_Seguimiento = p.Correo_Seguimiento,
Comunicados_Oficiales = p.Comunicados_Oficiales,
Notas_Periodisticas = p.Notas_Periodisticas,
Respaldo_Redes = p.Respaldo_Redes,
Otros = p.Otros,
Comunicacion = p.Comunicacion,
Dialogo_Directo = p.Dialogo_Directo,
Comunicacion_Clave = p.Comunicacion_Clave,
Difusion_Redes = p.Difusion_Redes,
Cierre_Desarrollo = p.Cierre_Desarrollo,
Cierre_SAC = p.Cierre_SAC,
}).DefaultIfEmpty();
I m using this code in my projects
public IQueryable<AgcTaskType> GetByAgcOfficerId(Guid id)
{
return from entity in GetQueryable()
join companyX in _context.Companies on entity.CompanyId equals companyX.Id into companyJoin
from company in companyJoin.DefaultIfEmpty()
join cwrX in _context.CompanyWorkingRegions.GetByAgcOfficer(id) on company.Id equals cwrX.CompanyId into cwrJoin
from cwr in cwrJoin.DefaultIfEmpty()
where !entity.CompanyId.HasValue || (entity.CompanyId.HasValue && cwr != null)
select entity;
}
In this example, this part of code
join companyX in _context.Companies on entity.CompanyId equals companyX.Id into companyJoin
from company in companyJoin.DefaultIfEmpty()
is should work for you.
You already use it in your code, just check your algorithm.

c# Sort Combined List by Ascending

I combined 2 lists in 1 list with some columns and I'd like to order it by Ascending. The column that I want to order is HODD.
I tried to read the others answers about this problem, but I don't know how I can apply them to my code.
This is my code:
var data1 = File.ReadAllLines("read" + campionatoselezTxt.Text + "stats.txt").ToList();
var data2 = File.ReadAllLines("read" + campionatoselezTxt.Text + "bex.txt").ToList();
var dataList1 = new List<Data1>();
foreach (var data in data1)
{
var columns = data.Split(';');
dataList1.Add(new Data1
{
Campionato = columns[0],
Data = columns[1],
Home = columns[2],
Away = columns[3],
HSFT = int.Parse(columns[4]),
ASFT = int.Parse(columns[5]),
HSHT = int.Parse(columns[6]),
ASHT = int.Parse(columns[7]),
HSSH = int.Parse(columns[8]),
ASSH = int.Parse(columns[9])
//other int properties
});
}
var dataList2 = new List<Data2>();
foreach (var data in data2)
{
var columns = data.Split(';');
dataList2.Add(new Data2
{
Home = columns[0],
Away = columns[1],
HODD = columns[4],
XODD = columns[5],
AODD = columns[6],
});
}
var combinedDataList = from d1 in dataList1
//join d2 in dataList2 on d1.Home equals d2.Home
join d2 in dataList2 on new { d1.Home, d1.Away } equals new { d2.Home, d2.Away }
select new CombinedData
{
Campionato = d1.Campionato,
Data = d1.Data,
Home = d2.Home,
Away = d2.Away,
HSFT = d1.HSFT,
ASFT = d1.ASFT,
HSHT = d1.HSHT,
ASHT = d1.ASHT,
HSSH = d1.HSSH,
ASSH = d1.ASSH,
HODD = d2.HODD,
XODD = d2.XODD,
AODD = d2.AODD,
RisFin = d2.RisFin,
Over05SH = d2.Over05SH
};
var combinedDataList = (from d1 in dataList1
//join d2 in dataList2 on d1.Home equals d2.Home
join d2 in dataList2 on new { d1.Home, d1.Away } equals new { d2.Home, d2.Away }
select new CombinedData
{
Campionato = d1.Campionato,
Data = d1.Data,
Home = d2.Home,
Away = d2.Away,
HSFT = d1.HSFT,
ASFT = d1.ASFT,
HSHT = d1.HSHT,
ASHT = d1.ASHT,
HSSH = d1.HSSH,
ASSH = d1.ASSH,
HODD = d2.HODD,
XODD = d2.XODD,
AODD = d2.AODD,
RisFin = d2.RisFin,
Over05SH = d2.Over05SH
}).OrderBy(p=>p.HODD);
please try

Cannot implicitly convert type but already it's Converted

Cannot implicitly convert type problem.but in here it's converted & assign.Can anyone tell me whats wrong here ? here i have post whole code for it.
[HttpGet]
public ActionResult AddProduct(int? id)
{
Models.ProductsModels.Products product = new Models.ProductsModels.Products();
ViewBag.ListOfCategories = new SelectList(_cat.GetCategory(), "CategoryId", "CategoryName");
ViewBag.ListOfBrands = new SelectList(_brad.GetAllBrands(), "BrandId", "BrandName");
int productId = id ?? 0;
if (id.HasValue)
{
ICS.Data.Product _prod = new ICS.Data.Product();
product = (new ProductController()).GetProductById(productId);
product.ProductId = _prod.ProductId;
product.ProductName = _prod.ProductName;
product.CategoryId = _prod.Category_CategoryId;
product.BrandId = _prod.Brand_BrandId;
product.PriceSettings = _prod.IsFixed;
product.PurchasePrice = (float)_prod.PurchasePrice;
product.ItemPrice = (float)_prod.ItemPrice;
product.Vat = (double)_prod.Vat;
product.WholeSalePrice = (float)_prod.WholeSalePrice;
product.RetailPrice = (float)_prod.RetailPrice;
product.Comments = _prod.Comments;
}
return View(product);
}
finally it's retun to the Product View.
Change this in your code:
_prod = (new ProductController()).GetProductById(productId);
Full code:
[HttpGet]
public ActionResult AddProduct(int? id)
{
Models.ProductsModels.Products product = new Models.ProductsModels.Products();
ViewBag.ListOfCategories = new SelectList(_cat.GetCategory(), "CategoryId", "CategoryName");
ViewBag.ListOfBrands = new SelectList(_brad.GetAllBrands(), "BrandId", "BrandName");
int productId = id ?? 0;
if (id.HasValue)
{
ICS.Data.Product _prod = (new ProductController()).GetProductById(productId);
product.ProductId = _prod.ProductId;
product.ProductName = _prod.ProductName;
product.CategoryId = _prod.Category_CategoryId;
product.BrandId = _prod.Brand_BrandId;
product.PriceSettings = _prod.IsFixed;
product.PurchasePrice = (float)_prod.PurchasePrice;
product.ItemPrice = (float)_prod.ItemPrice;
product.Vat = (double)_prod.Vat;
product.WholeSalePrice = (float)_prod.WholeSalePrice;
product.RetailPrice = (float)_prod.RetailPrice;
product.Comments = _prod.Comments;
}
return View(product);
}

IQueryable, converting Anonymous Type to Strong Type

Is there a more elegant/concise way of this; I'd like to get rid of foreach loop with the WorkListItem initialization code.
var queryable = registrations.Select(
r => new
{
r.Id, r.AccountNumber, r.DateAdded, r.DateUpdated, r.Patient, r.Patient.InsuranceInfos
});
var list = queryable.ToList();
var workListItems = new List<WorkListItem>();
foreach (var anonymous in list)
{
var w = new WorkListItem
{
Id = anonymous.Id,
ClientAccountId = anonymous.AccountNumber,
DateAdded = anonymous.DateAdded,
DateUpdated = anonymous.DateUpdated,
Patient = anonymous.Patient,
InsuraceInfos = anonymous.Patient.InsuranceInfos
};
workListItems.Add(w);
}
return workListItems;
Yes you can completely cut out the "middle-man" as it were and select straight into a new WorkListItem as below:
var list = registrations.Select(r => new WorkListItem
{
Id = r.Id,
ClientAccountId = r.AccountNumber,
DateAdded = r.DateAdded,
DateUpdated = r.DateUpdated,
Patient = r.Patient,
InsuraceInfos = r.Patient.InsuranceInfos
}).ToList();

Categories