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);
        }
Beispiel #2
0
        //-> 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);
        }