public IList <ReservaViewDTO> GetReservasEstado(EstadosReservaEnum estadosReserva) { _logger.LogDebug("A executar [ReservaBusiness -> GetReservasEstado]"); IList <ReservaViewDTO> reservasViewDTO = new List <ReservaViewDTO>(); IList <Reserva> reservas = _reservaDAO.GetReservasEstado((int)estadosReserva); foreach (Reserva reserva in reservas) { IList <ItemViewDTO> itensDTO = new List <ItemViewDTO>(); foreach (Item item in reserva.Itens) { ItemViewDTO itemViewDTO = _mapper.Map <ItemViewDTO>(item); Produto produto = _produtoDAO.GetProduto(item.IdProduto); itemViewDTO.ProdutoView = _mapper.Map <ProdutoViewDTO>(produto); itemViewDTO.ProdutoView.Url = new Uri($"{_appSettings.ServerUrl}/Images/Produto/{produto.IdProduto}.{produto.ExtensaoImagem}"); itensDTO.Add(itemViewDTO); } ReservaViewDTO reservaViewDTO = _mapper.Map <ReservaViewDTO>(reserva); reservaViewDTO.Itens = itensDTO; reservasViewDTO.Add(reservaViewDTO); } return(reservasViewDTO); }
//-> SelectByID public async Task <ItemViewDTO> SelectByID(int id) { /* * var items = await (from i in db.tblItems * join g in db.tblItemGroups.Where(x => x.itmg_Deleted == null) * on i.itemGroupID equals g.id * join d in db.sm_doc.Where(x => x.docs_Deleted == null && x.tableID == Helper.Helper.document_ItemTableID) * on i.id.ToString() equals d.value into document * where i.item_Deleted == null && i.id == id * orderby i.name ascending * select new { item = i, document = document, itemGroup = g } * ).ToListAsync(); * * if (items.Count == 0) * throw new HttpException((int)HttpStatusCode.NotFound, "NotFound"); * * var itemGroupView = new ItemGroupBase(); * itemGroupView = Helper.Helper.MapDBClassToDTO<tblItemGroup, ItemGroupBase>(items[0].itemGroup); * var itemView = new ItemViewDTO(); * itemView = Helper.Helper.MapDBClassToDTO<tblItem, ItemViewDTO>(items[0].item); * itemView.documents = Helper.Helper.GetDocuments(items[0].document.ToList()); * itemView.itemGroup = itemGroupView; * * return itemView; */ //--i want use like this, but seem getting error with ayn var item = await db.tblItems.FirstOrDefaultAsync(r => r.item_Deleted == null && r.id == id); if (item == null) { throw new HttpException((int)HttpStatusCode.NotFound, "NotFound"); } var itemView = new ItemViewDTO(); itemView = MappingHelper.MapDBClassToDTO <tblItem, ItemViewDTO>(item); itemView.documents = DocumentHelper.GetDocuments(db, ConstantHelper.document_ItemTableID, item.id); itemView.itemGroup = await new ItemGroupRepository().SelectByID(int.Parse(item.itemGroupID.ToString())); //itemView = MappingHelper.MapDBClassToDTO<tblItem, ItemViewDTO>(item); //if map at last like this , document & and item group will be null return(itemView); }