示例#1
0
        public ResultHelper <Orden> ValidateIfCreateOrder(Orden orden)
        {
            ResultHelper <Orden> result = new ResultHelper <Orden>();

            if (orden.DetalleOrdenes == null)
            {
                result.AddError("El detalle de la orden no pueder nulo");
                return(result);
            }
            if (orden.ClientName.Equals(""))
            {
                result.AddError("El nombre del cliente es requerido");
                return(result);
            }

            Orden nuevaOrden = new Orden
            {
                CashierName = orden.CashierName,
                ClientName  = orden.ClientName
            };

            result.Value = nuevaOrden;

            return(result);
        }
示例#2
0
        public async Task <ResultHelper <string> > Delete(int id)
        {
            var resultado = new ResultHelper <string>();
            var orden     = await _context.Ordenes.FindAsync(id);

            if (orden != null)
            {
                try
                {
                    _context.Ordenes.Remove(orden);
                    await _context.SaveChangesAsync();

                    resultado.Value = "La orden se elimino con exito";
                }
                catch (Exception e)
                {
                    resultado.AddError(e.Message);
                }
            }
            else
            {
                resultado.AddError("La orden no existe");
            }


            return(resultado);
        }
示例#3
0
        public async Task <ResultHelper <Orden> > CreateWithDetails(Orden orden)
        {
            var resultado = new ResultHelper <Orden>();

            try
            {
                Orden nuevaOrden;

                var resultadoDeOrden = _ordenDomainService.ValidateIfCreateOrder(orden);

                if (!resultadoDeOrden.Success)
                {
                    return(resultadoDeOrden);
                }
                nuevaOrden = resultadoDeOrden.Value;

                _context.Ordenes.Add(nuevaOrden);
                await _context.SaveChangesAsync();

                this.CrearDetalle(orden, nuevaOrden.Id);

                resultado.Value = nuevaOrden;
            }
            catch (Exception e)
            {
                resultado.AddError(e.Message);
            }
            return(resultado);
        }
示例#4
0
        public async Task <ResultHelper <IEnumerable <Orden> > > GetOrdenesAsync()
        {
            var resultado = new ResultHelper <IEnumerable <Orden> >();
            var ordenes   = await _context.Ordenes.Include(s => s.DetalleOrdenes).ToListAsync();

            if (ordenes.Count > 0)
            {
                resultado.Value = ordenes;
            }
            else
            {
                resultado.AddError("No existen ordenes en este momento");
            }
            return(resultado);
        }
示例#5
0
        public async Task <ResultHelper <Orden> > Update(Orden orden, int id)
        {
            var resultado = new ResultHelper <Orden>();

            try
            {
                if (id == orden.Id)
                {
                    _context.Entry(orden).State = EntityState.Modified;
                    await _context.SaveChangesAsync();

                    resultado.Value = orden;
                }
                else
                {
                    resultado.AddError("El id no coincide con el id de la orden");
                }
            }
            catch (Exception e)
            {
                resultado.AddError(e.Message);
            }
            return(resultado);
        }
示例#6
0
        public async Task <ResultHelper <Orden> > GetById(int id)
        {
            var resultado = new ResultHelper <Orden>();
            var orden     = await _context.Ordenes.FirstOrDefaultAsync(s => s.Id == id);

            if (orden != null)
            {
                resultado.Value = orden;
            }
            else
            {
                resultado.AddError("La orden no existe");
            }

            return(resultado);
        }
示例#7
0
        public async Task <ResultHelper <Orden> > GetByClientName(string name)
        {
            var resultado = new ResultHelper <Orden>();
            var orden     = await _context.Ordenes.FirstOrDefaultAsync(s => s.ClientName.Contains(name));

            if (orden != null)
            {
                resultado.Value = orden;
            }
            else
            {
                resultado.AddError("La orden no existe");
            }

            return(resultado);
        }
示例#8
0
        public async Task <ResultHelper <Orden> > Create(Orden orden)
        {
            var resultado = new ResultHelper <Orden>();

            try
            {
                Orden nuevaOrden = new Orden
                {
                    CashierName = orden.CashierName,
                    ClientName  = orden.ClientName
                };

                _context.Ordenes.Add(nuevaOrden);
                await _context.SaveChangesAsync();

                resultado.Value = nuevaOrden;
            }
            catch (Exception e)
            {
                resultado.AddError(e.Message);
            }
            return(resultado);
        }