예제 #1
0
        public CarrelloDto getCarrello(Guid carrelloId)
        {
            CarrelloDto dto = null;

            using (new UnitOfWorkScope()) {
                // Ricavo il servizio per estrarre i carrelli
                ICarrelloExplorerSrv srv = LumenApplication.Instance.getServizioAvviato <ICarrelloExplorerSrv>();

                ParamCercaCarrello param = new ParamCercaCarrello {
                    soloSelfService = true,
                    carrelloId      = carrelloId
                };

                srv.cercaCarrelli(param);

                // Creo la lista contenente gli oggetti di trasporto leggeri che ho ricavato dal servizio core.
                if (srv.carrelli != null && srv.carrelli.Count == 1)
                {
                    var carrello = srv.carrelli.ElementAt(0);
                    dto = SelfService.idrataDaCarrello(carrello);
                }
            }

            return(dto);
        }
예제 #2
0
        public List <CarrelloDto> getListaCarrelli()
        {
            List <CarrelloDto> listaCarrelli = new List <CarrelloDto>();

            using (new UnitOfWorkScope()) {
                // Ricavo il servizio per estrarre i carrelli
                ICarrelloExplorerSrv srv = LumenApplication.Instance.getServizioAvviato <ICarrelloExplorerSrv>();

                // TODO decidere quanti carrelli al massimo. Per ora ne fisso 10.
                ParamCercaCarrello param = new ParamCercaCarrello {
                    soloSelfService = true,
                    isVenduto       = false,
                    paginazione     = new Util.Paginazione {
                        skip = 0,
                        take = 10
                    }
                };

                srv.cercaCarrelli(param);

                // Creo la lista contenente gli oggetti di trasporto leggeri che ho ricavato dal servizio core.
                foreach (var carrello in srv.carrelli)
                {
                    CarrelloDto dto = new CarrelloDto();
                    dto.id        = carrello.id;
                    dto.titolo    = carrello.intestazione;
                    dto.isVenduto = carrello.venduto;
                    listaCarrelli.Add(dto);
                }
            }

            // ritorno gli oggetti di trasporto al client
            return(listaCarrelli);
        }
예제 #3
0
        public List <FotografiaDto> getListaFotografie(Guid carrelloId)
        {
            _giornale.Debug("inizio metodo getListaFotografie( " + carrelloId + " )");

            List <FotografiaDto> listaFotografie = new List <FotografiaDto>();

            using (new UnitOfWorkScope()) {
                _giornale.Debug("apertura unit-ok-work ok");

                // ricavo il servizio dei carrelli e imposto quello corrente
                ICarrelloExplorerSrv srv = LumenApplication.Instance.getServizioAvviato <ICarrelloExplorerSrv>();
                _giornale.Debug("ottenuto servizio ICarrelloExplorerSrv");

                try {
                    // Se non ho il carrello nella cache, provo a caricarlo per ID (soltanto lui)
                    if (srv.carrelli == null || srv.carrelli.Any(c => c.id == carrelloId) == false)
                    {
                        srv.cercaCarrelli(new ParamCercaCarrello {
                            carrelloId = carrelloId, soloSelfService = true
                        });
                    }

                    // Se ancora non l'ho trovato significa che non c'è oppure non è destinato al self service.
                    if (srv.carrelli == null || srv.carrelli.Any(c => c.id == carrelloId) == false)
                    {
                        return(listaFotografie);
                    }

                    srv.setCarrelloCorrente(carrelloId);

                    _giornale.Debug("settatto carrello corrente: " + carrelloId + " tot. righe = " + srv.carrelloCorrente.righeCarrello.Count);
                    if (srv.carrelloCorrente != null)
                    {
                        foreach (RigaCarrello riga in srv.carrelloCorrente.righeCarrello)
                        {
                            if (riga.fotografia_id != null && riga.isTipoMasterizzata)
                            {
                                FotografiaDto dto = new FotografiaDto();
                                dto.id        = riga.fotografia.id;
                                dto.etichetta = riga.fotografia.etichetta;
                                dto.miPiace   = riga.fotografia.miPiace;                               // TODO aggiungere nuovo flag su Fotografia

                                listaFotografie.Add(dto);
                            }
                        }
                    }
                } catch (Exception ee) {
                    _giornale.Error(ee);
                    throw ee;
                }
            }

            _giornale.Debug("ritorno lista di " + listaFotografie.Count + " + righe");

            return(listaFotografie);
        }