public List <VMNecesidades> AsignarDatosANecesidadesVM(List <NecesidadesDTO> listadoNecesidadesDTO, int idUserLogueado) { List <VMNecesidades> ListavMNecesidades = new List <VMNecesidades>(); foreach (var necesidadDTO in listadoNecesidadesDTO) { VMNecesidades vmNececidad = new VMNecesidades(); vmNececidad.IdNecesidad = necesidadDTO.IdNecesidad; vmNececidad.Nombre = necesidadDTO.Nombre; vmNececidad.TipoDonacion = (TipoDonacion)necesidadDTO.TipoDonacion;; vmNececidad.Estado = (TipoEstadoNecesidad)necesidadDTO.Estado; if (necesidadDTO.TipoDonacion == (int)TipoDonacion.Monetaria) { CalcularDineroRecaudadoYSepararDonacionesDelUserLogueado(necesidadDTO.NecesidadesDonacionesMonetarias, vmNececidad, idUserLogueado); } else { CalcularCantidadTotalInsumosYSepararDonacionesInsumosDelUserLogueado(necesidadDTO.NecesidadesDonacionesInsumos, vmNececidad, idUserLogueado); } ListavMNecesidades.Add(vmNececidad); } OrdenarPorFechaDonacionActualAlaMasAntigua(ListavMNecesidades); return(ListavMNecesidades); }
private void CalcularCantidadTotalInsumosYSepararDonacionesInsumosDelUserLogueado(List <NecesidadesDonacionesInsumosDTO> necesidadesDonacionesInsumosDTO, VMNecesidades vmNececidad, int idUserLogueado) { foreach (var ndi in necesidadesDonacionesInsumosDTO) { // lista de donaciones insumos que no son del usuario logueado DonacionesInsumosVM donacionesInsumosVM = new DonacionesInsumosVM(); donacionesInsumosVM.NombreNecesidadInsumos = ndi.Nombre; int totalDonado = 0; foreach (var di in ndi.DonacionesInsumos) { totalDonado += di.Cantidad; if (di.IdUsuario == idUserLogueado) { vmNececidad.MisDonacionesInsumos.Add(di); } } donacionesInsumosVM.TotalRecaudado = totalDonado; vmNececidad.DonacionesInsumos.Add(donacionesInsumosVM); } }
private void CalcularDineroRecaudadoYSepararDonacionesDelUserLogueado(List <NecesidadesDonacionesMonetariasDTO> necesidadesDonacionesMonetariasDTO, VMNecesidades vmNecesidad, int idUserLogueado) { foreach (var ndm in necesidadesDonacionesMonetariasDTO) { foreach (var dm in ndm.DonacionesMonetarias) { vmNecesidad.TotalDineroRecaudado += dm.Dinero; // agrego la donacion del user logueado otra lista if (dm.IdUsuario == idUserLogueado) { vmNecesidad.MisDonacionesMonetarias.Add(dm); } } } }