示例#1
0
        public async Task <IActionResult> PutLineasPedido([FromRoute] long id, [FromBody] LineasPedido lineasPedido)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != lineasPedido.IdLinea)
            {
                return(BadRequest());
            }

            _context.Entry(lineasPedido).State = EntityState.Modified;

            try
            {
                _repo.Update(lineasPedido);
                var save = await _repo.SaveAsync(lineasPedido);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LineasPedidoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public LineasPedido Get(int id)
        {
            LineasPedido result = _texereDbContext.LineasPedido.Where(x => x.LineaPedidoId == id).FirstOrDefault();

            if (result == null)
            {
                throw new Exception(string.Format("{0} - Linea de pedido no encontrada", System.Net.HttpStatusCode.NotFound));
            }

            return(result);
        }
示例#3
0
        public async Task <IActionResult> PostLineasPedido([FromBody] LineasPedido lineasPedido)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _repo.Add(lineasPedido);
            var save = await _repo.SaveAsync(lineasPedido);

            return(CreatedAtAction("GetLineasPedido", new { id = lineasPedido.IdLinea }, lineasPedido));
        }
        public bool Update(LineasPedido updatedModel)
        {
            try
            {
                _texereDbContext.Update(updatedModel);
                _texereDbContext.SaveChanges();
                UpdatePedido(updatedModel);
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
        public bool Add(LineasPedido model)
        {
            try
            {
                model.EstadoId = (int)EstadosEnum.Pendiente;
                _texereDbContext.Add(model);
                _texereDbContext.SaveChanges();
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
        private void UpdatePedido(LineasPedido updatedModel)
        {
            Pedidos pedido = _texereDbContext.Pedidos.Where(p => p.PedidoId == updatedModel.PedidoId)
                             .Include(p => p.LineasPedido)
                             .FirstOrDefault();

            switch (updatedModel.EstadoId)
            {
            case (int)EstadosEnum.Pendiente:
            {
                if (pedido.LineasPedido.All(lp => lp.EstadoId == (int)EstadosEnum.Pendiente))
                {
                    ActualizarPedido(pedido, (int)EstadosEnum.Pendiente);
                }
                break;
            }

            case (int)EstadosEnum.EnCurso:
            {
                ActualizarPedido(pedido, (int)EstadosEnum.EnCurso);
                break;
            }

            case (int)EstadosEnum.Finalizado:
            {
                if (pedido.LineasPedido.All(lp => lp.EstadoId == (int)EstadosEnum.Finalizado))
                {
                    ActualizarPedido(pedido, (int)EstadosEnum.Finalizado);
                }
                break;
            }

            case (int)EstadosEnum.Cancelado:
            {
                if (pedido.LineasPedido.All(lp => lp.EstadoId == (int)EstadosEnum.Cancelado))
                {
                    ActualizarPedido(pedido, (int)EstadosEnum.Cancelado);
                }
                break;
            }

            default:
                break;
            }
        }
示例#7
0
        public IActionResult Update(int id, [FromBody] LineasPedidoDTO model)
        {
            LineasPedido item = _lineaPedidoService.Get(id);

            if (item == null)
            {
                return(NotFound(String.Format("Error - No se pudo encontrar el elemento con ID {0}", id)));
            }
            item.EstadoId = model.Estado;
            try
            {
                _lineaPedidoService.Update(item);
            }
            catch (Exception ex)
            {
                return(BadRequest(String.Format("Error - Ha ocurrido la siguiente excepción: {0}", ex.Message)));
            }

            return(NoContent());
        }
示例#8
0
 public IActionResult Add([FromBody] LineasPedido model)
 {
     return(Ok(
                _lineaPedidoService.Add(model)
                ));
 }