Ejemplo n.º 1
0
        public GenericCreatedResponseDto CreateComanda(CreateComandaRequestDto comandaDto)
        {
            List <ResponseGetMercaderiaById> listaMercaderias = new List <ResponseGetMercaderiaById>();

            foreach (var item in comandaDto.Mercaderias)
            {
                ResponseGetMercaderiaById mercaderia = _mercaderiaService.GetById(item.ToString());
                listaMercaderias.Add(mercaderia);
            }
            int total = Calcularpreciototal(listaMercaderias);

            var entity = new Comanda
            {
                ComandaId      = new Guid(),
                FormaEntregaId = comandaDto.FormaEntrega,
                PrecioTotal    = total,
                Fecha          = new DateTime()
            };

            _repository.Add(entity);

            foreach (ResponseGetMercaderiaById item in listaMercaderias)
            {
                RegistrarComandaMercaderia(item.MercaderiaId, entity.ComandaId);
            }

            return(new GenericCreatedResponseDto {
                Entity = "Comanda", Id = entity.ComandaId.ToString()
            });
        }
Ejemplo n.º 2
0
        public ResponseGetMercaderiaById GetById(string mercaderiaId)
        {
            ResponseGetMercaderiaById mercaderiaById = _query.GetById(mercaderiaId);

            if (mercaderiaById == null)
            {
                NullReferenceException exception = new NullReferenceException("Mercaderia con id " + mercaderiaId + " no encontrada");
                throw exception;
            }
            else
            {
                return(mercaderiaById);
            }
        }
Ejemplo n.º 3
0
        public ResponseGetComandaById GetById(string comandaId)
        {
            var db = new QueryFactory(connection, sqlKataCompiler);

            var comanda = db.Query("Comandas")
                          .Select("ComandaId", "PrecioTotal", "Fecha", "FormaEntregaId")
                          .Where("ComandaId", "=", comandaId)
                          .FirstOrDefault <ComandaDto>();

            if (comanda != null)
            {
                var entrega = db.Query("FormaEntrega")
                              .Select("FormaEntregaId", "Descripcion")
                              .Where("FormaEntregaId", "=", comanda.FormaEntregaId)
                              .FirstOrDefault <ResponseGetComandaByIdFormaEntrega>();

                var idsMercaderia = db.Query("ComandaMercaderias")
                                    .Select("MercaderiaId", "ComandaId")
                                    .Where("ComandaId", "=", comandaId)
                                    .Get <int>().ToList();

                List <ResponseGetMercaderiaById> listaMercaderias = new List <ResponseGetMercaderiaById>();
                foreach (var item in idsMercaderia)
                {
                    ResponseGetMercaderiaById mercaderia = _mercaderiaservice.GetById(item.ToString());
                    listaMercaderias.Add(mercaderia);
                }

                return(new ResponseGetComandaById
                {
                    ComandaId = comanda.ComandaId,
                    PrecioTotal = comanda.PrecioTotal,
                    Fecha = comanda.Fecha,
                    FormaEntrega = entrega.Descripcion,
                    Mercaderia = listaMercaderias
                });
            }
            else
            {
                return(null);
            }
        }