public IEnumerable <ComprobanteSalonDto> ObtenerComprobantesPorCliente(long?clienteId)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var comprobante = context.Comprobantes.OfType <Salon>()
                                  .Include("DetallesSalones")
                                  .Include("Mozo")
                                  .Where(x => (x.ClienteId == clienteId &&
                                               (x.TipoComprobante == TipoComprobante.Impaga) &&
                                               (x.EstadoSalon == EstadoSalon.Pendiente)))
                                  .Select(x => new ComprobanteSalonDto
                {
                    Id        = x.Id,
                    Total     = x.Total,
                    MesaId    = x.MesaId,
                    MozoId    = x.MozoId,
                    Mozo      = "No Asignado",
                    ClienteId = x.ClienteId
                }).ToList();

                if (comprobante == null)
                {
                    throw new ArgumentNullException("Error Grave");
                }
                return(comprobante);
            }
        }
Exemple #2
0
        public void Crear(long clienteId, long empleadoId)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var Cliente = context.Personas.OfType <DAL.Cliente>()
                              .AsNoTracking().FirstOrDefault(x => x.Id == clienteId);



                var nuevoComprobante = new DAL.Delivery
                {
                    Fecha          = DateTime.Now,
                    Total          = 0m,
                    SubTotal       = 0m,
                    DireccionEnvio = Cliente.Direccion,
                    EstadoDelivery = EstadoDelivery.EnProceso,
                    ClienteId      = clienteId,
                    CadeteId       = empleadoId,
                    Observacion    = string.Empty,
                    Descuento      = 0m
                };

                context.Comprobantes.Add(nuevoComprobante);

                context.SaveChanges();
            }
        }
Exemple #3
0
        public void Eliminar(long clienteId)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var comprobante = context.Comprobantes.OfType <DAL.Delivery>()
                                  .Include(x => x.DetallesDeliveries)
                                  .FirstOrDefault(x => x.ClienteId == clienteId && x.EstadoDelivery == EstadoDelivery.EnProceso);

                List <DetalleDelivery> lista = new List <DetalleDelivery>();

                foreach (var item in comprobante.DetallesDeliveries)
                {
                    lista.Add(item);
                }

                foreach (var item in lista)
                {
                    if (lista.Any())
                    {
                        context.DetalleComprobantes.Remove(item);
                        context.SaveChanges();
                    }
                }

                context.Comprobantes.Remove(comprobante);
                context.SaveChanges();
            }
        }
        public IEnumerable <EmpleadoDto> ObtenerCadetePorId(string cadenaBuscar)
        {
            var context = new ModeloGastronomiaContainer();

            var legajo = 1;

            int.TryParse(cadenaBuscar, out legajo);

            return(context.Personas.OfType <DAL.Empleado>()
                   .AsNoTracking()
                   .Where(x => (x.Apellido.Contains(cadenaBuscar) ||
                                x.Nombre == cadenaBuscar &&
                                (x.Legajo == legajo) &&
                                (x.EstaEliminado == false)) &&
                          (x.TipoEmpleado == TipoEmpleado.Cadete))
                   .Select(x => new EmpleadoDto()
            {
                Id = x.Id,
                Apellido = x.Apellido,
                Nombre = x.Nombre,
                Telefono = x.Teléfono,
                Dni = x.Dni,
                Cuil = x.Cuil,
                Celular = x.Celular,
                Direccion = x.Direccion,
                Legajo = x.Legajo,
                TipoEmpleado = x.TipoEmpleado
            }));
        }
        public void Insertar(EmpleadoDto dto)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                context.Personas.Add(new DAL.Empleado
                {
                    Nombre        = dto.Nombre,
                    Apellido      = dto.Apellido,
                    Teléfono      = dto.Telefono,
                    Celular       = dto.Celular,
                    Cuil          = dto.Cuil,
                    TipoEmpleado  = dto.TipoEmpleado,
                    EstaEliminado = false,
                    Direccion     = dto.Direccion,
                    Legajo        = dto.Legajo,
                    Dni           = dto.Dni,
                    Usuario       = new DAL.Usuario
                    {
                        EstaBloqueado = false,
                        Nombre        = dto.Nombre,
                        Password      = "******"
                    }
                });


                context.SaveChanges();
            }
        }
Exemple #6
0
        public void Eliminar(long id, long mesaId)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var comprobante = context.Comprobantes.OfType <DAL.Salon>()
                                  .Include(x => x.DetallesSalones)
                                  .FirstOrDefault(x => x.Id == id && x.MesaId == mesaId && x.EstadoSalon == EstadoSalon.Pendiente);

                List <DetalleComprobante> lista = new List <DetalleComprobante>();

                foreach (var item in comprobante.DetallesSalones)
                {
                    lista.Add(item);
                }

                foreach (var item in lista)
                {
                    if (lista.Any())
                    {
                        context.DetalleComprobantes.Remove(item);
                        context.SaveChanges();
                    }
                }

                context.Comprobantes.Remove(comprobante);
                context.SaveChanges();
            }
        }
Exemple #7
0
        public void Insertar(ClienteDto dto)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                context.Personas.Add(new DAL.Cliente
                {
                    Nombre            = dto.Nombre,
                    Apellido          = dto.Apellido,
                    Teléfono          = dto.Telefono,
                    Celular           = dto.Celular,
                    Cuil              = dto.Cuil,
                    EstaEliminado     = false,
                    Direccion         = dto.Direccion,
                    Codigo            = dto.Codigo,
                    Dni               = dto.Dni,
                    TieneCtaCte       = dto.TieneCtaCte,
                    MontoMaximoCtaCte = dto.MontoMaximoCtaCte,
                    Usuario           = new DAL.Usuario
                    {
                        EstaBloqueado = false,
                        Nombre        = dto.Nombre,
                        Password      = "******"
                    }
                });


                context.SaveChanges();
            }
        }
Exemple #8
0
        public bool AutenticarPassword(string nombre, string password)
        {
            try
            {
                using (var context = new ModeloGastronomiaContainer())
                {
                    var usuario = context.Usuarios.Any(x => x.Nombre == nombre &&
                                                       !x.EstaBloqueado) ||
                                  (Constante.Seguridad.UsuarioAdmin == nombre);

                    if (usuario == true)
                    {
                        var clave = context.Usuarios.Any(x => x.Nombre == nombre &&
                                                         x.Password == password &&
                                                         !x.EstaBloqueado) ||
                                    (Constante.Seguridad.UsuarioAdmin == nombre &&
                                     Constante.Seguridad.PasswordAdmin == password);

                        if (clave == true)
                        {
                            return(true);
                        }
                    }

                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #9
0
        public void EmitirFactura(long clienteId, decimal Total, long empleadoId, long?CtaCteId, long ComprobanteId, decimal totalAbonado)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var cliente = context.Personas.OfType <DAL.Cliente>()
                              .Single(x => x.Id == clienteId);

                var comprobante = context.Comprobantes.Single(x => x.Id == ComprobanteId);

                var FacturaNueva = new Factura
                {
                    ClienteId         = clienteId,
                    Numero            = ObtenerSiguienteNumero(),
                    Fecha             = DateTime.Now,
                    Estado            = totalAbonado > 0m ? EstadoFactura.Pagada : EstadoFactura.Impagada,
                    Total             = Total,
                    TotalAbonado      = totalAbonado > 0m ? totalAbonado : 0m,
                    EmpleadoId        = empleadoId,
                    Comprobante       = comprobante,
                    CuentaCorrienteId = CtaCteId
                };


                context.Facturas.Add(FacturaNueva);

                context.SaveChanges();
            }
        }
Exemple #10
0
        public IEnumerable <ProductoDto> ObtenerPorListaDePrecioParaLookUp(long listaPrecioId, string cadena)
        {
            var context = new ModeloGastronomiaContainer();

            return(context.Productos
                   .Include("ListasPreciosProductos")
                   .Where(x => x.ListasPreciosProductos.Any(l => l.ListaPrecioId == listaPrecioId) && (x.CodigoBarra == cadena || x.Descripcion.Contains(cadena)))

                   .Select(x => new ProductoDto
            {
                Id = x.Id,
                Codigo = x.Codigo,
                CodigoBarra = x.CodigoBarra,
                Descripcion = x.Descripcion,
                Stock = x.Stock,
                ListaPrecioId = listaPrecioId,

                PrecioPublico = x.ListasPreciosProductos
                                .FirstOrDefault(l => l.ListaPrecioId == listaPrecioId &&
                                                l.FechaActualizacion ==
                                                context.ListaPrecioProductos.Where(p => p.ListaPrecioId == listaPrecioId &&
                                                                                   p.ProductoId == x.Id)
                                                .Max(f => f.FechaActualizacion)).PrecioPublico,

                FechaActualizacion = x.ListasPreciosProductos
                                     .FirstOrDefault(l => l.ListaPrecioId == listaPrecioId &&
                                                     l.FechaActualizacion ==
                                                     context.ListaPrecioProductos.Where(p => p.ListaPrecioId == listaPrecioId &&
                                                                                        p.ProductoId == x.Id)
                                                     .Max(f => f.FechaActualizacion)).FechaActualizacion
            }).ToList());
        }
Exemple #11
0
        public IEnumerable <ProductoDto> ObtenerPorFiltro(string cadenaBuscar)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var Producto = context.Productos.AsNoTracking().
                               Where(x => (x.Codigo.ToString().Contains(cadenaBuscar) ||
                                           x.CodigoBarra.Contains(cadenaBuscar) ||
                                           x.Descripcion.Contains(cadenaBuscar)) &&
                                     x.EstaEliminado == false).Select(x => new ProductoDto()
                {
                    Id          = x.Id,
                    Codigo      = x.Codigo,
                    CodigoBarra = x.CodigoBarra,
                    Descripcion = x.Descripcion,
                    Stock       = x.Stock,
                    MarcaStr    = x.Marca.Descripcion,
                    SubRubroStr = x.SubRubro.Descripcion,
                    RubroStr    = x.SubRubro.Rubro.Descripcion,
                    MarcaId     = x.MarcaId,
                    SubRubroId  = x.SubRubroId,
                }).ToList();

                return(Producto);
            }
        }
Exemple #12
0
 public int ObtenerSiguienteNumero()
 {
     using (var context = new ModeloGastronomiaContainer())
     {
         return(context.SubRubros.Any() ? context.SubRubros.Max(x => x.Codigo) + 1 : 1);
     }
 }
        public void DisminuirCantidadItem(long comprobanteId, ProductoDto producto, int cantidad)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var comprobante = context.Comprobantes.OfType <Salon>()
                                  .Include(x => x.DetallesSalones)
                                  .FirstOrDefault(x => x.Id == comprobanteId);

                if (comprobante == null)
                {
                    throw new Exception("Error");
                }

                var item = comprobante.DetallesSalones.FirstOrDefault(x =>
                                                                      x.ProductoId == producto.Id

                                                                      );

                if (item?.Cantidad > 0)
                {
                    item.Cantidad = item.Cantidad - cantidad;
                    item.SubTotal = item.Cantidad * item.Precio;
                }

                context.SaveChanges();
            }
        }
        public void EliminarItem(long comprobanteId, int cantidad, ProductoDto producto, long listaId)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var comprobante = context.Comprobantes.OfType <Salon>()
                                  .Include(x => x.DetallesSalones)
                                  .FirstOrDefault(x => x.Id == comprobanteId);

                if (comprobante == null)
                {
                    throw new Exception("Error");
                }

                var item = comprobante.DetallesSalones
                           .FirstOrDefault(x => x.ProductoId == producto.Id &&
                                           x.Producto.ListasPreciosProductos.Any(l => l.ListaPrecioId == listaId));

                if (item != null)
                {
                    if (item.Cantidad != 0)
                    {
                        item.Cantidad  -= cantidad;
                        item.SubTotal  -= item.Precio;
                        producto.Stock += 1;
                    }
                    if (item.Cantidad == 0)
                    {
                        context.DetalleComprobantes.Remove(item);
                    }
                }
                context.SaveChanges();
            }
        }
Exemple #15
0
        public IEnumerable <ProveedorDto> ObtenerPorFiltro(string cadenaBuscar)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var obtener = context.Personas.OfType <DAL.Proveedor>()
                              .AsNoTracking()
                              .Where(x => x.EstaEliminado == false && (x.ApyNomContacto.Contains(cadenaBuscar) ||
                                                                       x.NombreFantacia.Contains(cadenaBuscar) ||
                                                                       x.Cuit.Contains(cadenaBuscar) ||
                                                                       x.Direccion.Contains(cadenaBuscar) ||
                                                                       x.Rubro.Descripcion.Contains(cadenaBuscar))).ToList();

                return(obtener.Select(x => new ProveedorDto()
                {
                    Id = x.Id,
                    ApyNomContacto = x.ApyNomContacto,
                    Cuit = x.Cuit,
                    Direccion = x.Direccion,
                    FechaInicioActividad = x.FechaInicioActividad,
                    IngresosBrutos = x.IngresosBrutos,
                    NombreFantasia = x.NombreFantacia,
                    RazonSocial = x.RazonSocial,
                    Telefono = x.Teléfono,
                    CondicionIvaStr = x.CondicionIva.Descripcion,
                    RubroStr = x.Rubro.Descripcion,
                    RubroId = x.RubroId
                }).ToList());
            }
        }
Exemple #16
0
        public IEnumerable <FacturaDto> ObtenerFacturasPagadasCtaCte(string cadenaBuscar, long CtaCteId, EstadoFactura Estado)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var numero = 1;
                int.TryParse(cadenaBuscar, out numero);

                var facturas = context.Facturas.AsNoTracking()
                               .Where(x => (x.CuentaCorrienteId == CtaCteId) &&
                                      (x.Estado == Estado) &&
                                      (x.Cliente.Apellido.Contains(cadenaBuscar) ||
                                       x.Cliente.Nombre.Contains(cadenaBuscar) ||
                                       x.Empleado.Apellido.Contains(cadenaBuscar) ||
                                       x.Empleado.Nombre.Contains(cadenaBuscar) ||
                                       x.Numero == numero))
                               .Select(x => new FacturaDto()
                {
                    Id             = x.Id,
                    Numero         = x.Numero,
                    ComprobanteId  = x.Comprobante.Id,
                    Fecha          = x.Fecha,
                    Total          = x.Total,
                    TotalAbonado   = x.TotalAbonado,
                    Estado         = "Pagada",
                    EmpleadoId     = x.EmpleadoId,
                    CLienteApynom  = string.Concat(x.Cliente.Apellido, " ", x.Cliente.Nombre),
                    EmpleadoApynom = string.Concat(x.Empleado.Apellido, " ", x.Empleado.Nombre)
                }).ToList();

                return(facturas);
            }
        }
Exemple #17
0
 public int ObtenerSiguienteCodigo()
 {
     using (var context = new ModeloGastronomiaContainer())
     {
         return(context.CondicionIvas.Any() ? context.CondicionIvas.Max(x => x.Codigo) + 1 : 1);
     }
 }
        public IEnumerable <ProductoDto> ObtenerLista(string cadenabuscar, long listaid)
        {
            var codigo = 0;

            int.TryParse(cadenabuscar, out codigo);

            var context = new ModeloGastronomiaContainer();


            return(context.Productos.Include("ListaPrecioProducto")
                   .Where(x => (x.Descripcion.Contains(cadenabuscar) ||
                                x.Codigo == codigo ||
                                x.CodigoBarra == cadenabuscar) &&
                          x.ListasPreciosProductos.Any(l => l.ListaPrecioId == listaid))
                   .Select(x => new ProductoDto()
            {
                Id = x.Id,
                Codigo = x.Codigo,
                CodigoBarra = x.CodigoBarra,
                Descripcion = x.Descripcion,

                FechaActualizacion = x.ListasPreciosProductos.FirstOrDefault(h => h.ListaPrecioId == listaid &&
                                                                             h.FechaActualizacion == context.ListaPrecioProductos.Where(p => p.ListaPrecioId == listaid &&
                                                                                                                                        p.ProductoId == x.Id).Max(f => f.FechaActualizacion)).FechaActualizacion,

                Stock = x.Stock,

                PrecioPublico = x.ListasPreciosProductos.FirstOrDefault(h => h.ListaPrecioId == listaid &&
                                                                        h.FechaActualizacion == context.ListaPrecioProductos.Where(p => p.ListaPrecioId == listaid &&
                                                                                                                                   p.ProductoId == x.Id).Max(f => f.FechaActualizacion)).PrecioPublico
            }));
        }
Exemple #19
0
        public ClienteDto ObtenerPorId(long id)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var cliente = context.Personas.OfType <DAL.Cliente>()
                              .FirstOrDefault(x => x.Id == id);

                if (cliente == null)
                {
                    throw new ArgumentNullException("No existe el cliente");
                }

                return(new ClienteDto
                {
                    Id = cliente.Id,
                    Apellido = cliente.Apellido,
                    Dni = cliente.Dni,
                    Nombre = cliente.Nombre,
                    Codigo = cliente.Codigo,
                    Telefono = cliente.Teléfono,
                    Direccion = cliente.Direccion,
                    Cuil = cliente.Cuil,
                    Celular = cliente.Celular,
                    TieneCtaCte = cliente.TieneCtaCte,
                    MontoMaximoCtaCte = cliente.MontoMaximoCtaCte
                });
            }
        }
Exemple #20
0
        public EmpleadoDto obtenerMozosPorFiltro(TipoEmpleado mozo, string cadenaBuscar)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var empleado = context.Personas.OfType <DAL.Empleado>()
                               .FirstOrDefault(x => x.TipoEmpleado == mozo &&
                                               x.Legajo.ToString() == cadenaBuscar && x.EstaEliminado == false);

                if (empleado == null)
                {
                    return(null);
                }


                return(new EmpleadoDto
                {
                    Id = empleado.Id,
                    Apellido = empleado.Apellido,
                    Dni = empleado.Dni,
                    Nombre = empleado.Nombre,
                    Legajo = empleado.Legajo,
                    Telefono = empleado.Teléfono,
                    Direccion = empleado.Direccion,
                    Celular = empleado.Celular,
                    Cuil = empleado.Cuil,
                    TipoOcupacion = empleado.TipoEmpleado,
                });
            }
        }
Exemple #21
0
        public IEnumerable <ClienteDto> ObtenerPorFiltro(string cadenaBuscar)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var codigo = 1;
                int.TryParse(cadenaBuscar, out codigo);

                var clientes = context.Personas.OfType <DAL.Cliente>()
                               .AsNoTracking()
                               .Where(x => (x.Apellido.Contains(cadenaBuscar) ||
                                            x.Nombre.Contains(cadenaBuscar) ||
                                            x.Dni == cadenaBuscar &&
                                            (x.Codigo == codigo)) &&
                                      (x.EstaEliminado == false))
                               .Select(x => new ClienteDto
                {
                    Id                = x.Id,
                    Codigo            = x.Codigo,
                    Nombre            = x.Nombre,
                    Apellido          = x.Apellido,
                    Dni               = x.Dni,
                    Telefono          = x.Teléfono,
                    Celular           = x.Celular,
                    Cuil              = x.Cuil,
                    Direccion         = x.Direccion,
                    TieneCtaCte       = x.TieneCtaCte,
                    MontoMaximoCtaCte = x.MontoMaximoCtaCte
                }).ToList();


                return(clientes);
            }
        }
Exemple #22
0
        public EmpleadoDto obtenerPorId(long?Empleadoid)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var empleado = context.Personas.OfType <DAL.Empleado>()
                               .FirstOrDefault(x => x.Id == Empleadoid);

                if (empleado == null)
                {
                    throw new ArgumentNullException("No existe el Empleado");
                }

                return(new EmpleadoDto
                {
                    Id = empleado.Id,
                    Apellido = empleado.Apellido,
                    Dni = empleado.Dni,
                    Nombre = empleado.Nombre,
                    Legajo = empleado.Legajo,
                    Telefono = empleado.Teléfono,
                    Direccion = empleado.Direccion,
                    Celular = empleado.Celular,
                    Cuil = empleado.Cuil,
                    TipoOcupacion = empleado.TipoEmpleado,
                    UsuarioId = empleado.Usuario.Id
                });
            }
        }
        public EmpleadoDto ObtenerPorLegajo(string cadenaBuscar)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var legajo = 1;
                int.TryParse(cadenaBuscar, out legajo);
                var empleado = context.Personas.OfType <DAL.Empleado>()
                               .FirstOrDefault(x => x.Legajo == legajo);

                if (empleado == null)
                {
                    throw new ArgumentNullException("No existe el Empleado");
                }

                return(new EmpleadoDto
                {
                    Id = empleado.Id,
                    Apellido = empleado.Apellido,
                    Dni = empleado.Dni,
                    Nombre = empleado.Nombre,
                    Legajo = empleado.Legajo,
                    Telefono = empleado.Teléfono,
                    Direccion = empleado.Direccion,
                    Cuil = empleado.Cuil,
                    Celular = empleado.Celular,
                    EstaEliminado = empleado.EstaEliminado
                });
            }
        }
Exemple #24
0
 public int ObtenerSiguienteNumero()
 {
     using (var context = new ModeloGastronomiaContainer())
     {
         return(context.PedidosProducto.Any() ? context.PedidosProducto.Max(x => x.Numero) + 1 : 1);
     }
 }
        public IEnumerable <EmpleadoDto> ObtenerPorFiltro(string cadenaBuscar)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var legajo = 1;
                int.TryParse(cadenaBuscar, out legajo);

                var empleados = context.Personas.OfType <DAL.Empleado>()
                                .AsNoTracking()
                                .Where(x => (x.Apellido.Contains(cadenaBuscar) ||
                                             x.Nombre.Contains(cadenaBuscar) ||
                                             x.Dni == cadenaBuscar &&
                                             (x.Legajo == legajo)) &&
                                       (x.EstaEliminado == false))
                                .Select(x => new EmpleadoDto
                {
                    Id            = x.Id,
                    Legajo        = x.Legajo,
                    Nombre        = x.Nombre,
                    Apellido      = x.Apellido,
                    Dni           = x.Dni,
                    Telefono      = x.Teléfono,
                    Celular       = x.Celular,
                    Cuil          = x.Cuil,
                    EstaEliminado = false,
                    TipoEmpleado  = x.TipoEmpleado
                }).ToList();


                return(empleados);
            }
        }
Exemple #26
0
        public PedidoProductoDto obtenerUltimoPedidoEmitido()
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var numero = context.PedidosProducto.Max(x => x.Numero);

                var pedido = context.PedidosProducto
                             .FirstOrDefault(x => x.Numero == numero);

                var pedidoDto = new PedidoProductoDto()
                {
                    Id              = pedido.Id,
                    Cantidad        = pedido.Cantidad,
                    Fecha           = pedido.Fecha,
                    Numero          = pedido.Numero,
                    PrecioCosto     = pedido.PrecioCosto,
                    ProductoId      = pedido.ProductoId,
                    ProductoStr     = pedido.Producto.Descripcion,
                    ProveedorApyNom = pedido.Proveedor.ApyNomContacto,
                    ProveedorId     = pedido.ProveedorId,
                    Total           = pedido.Total
                };

                return(pedidoDto);
            }
        }
Exemple #27
0
        public void DisminuirItem(long comprobanteId, int cantidad, ComprobanteDeliveryDetalleDto producto)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var comprobante = context.Comprobantes.OfType <DAL.Delivery>()
                                  .Include(x => x.DetallesDeliveries)
                                  .FirstOrDefault(x => x.Id == comprobanteId);

                if (comprobante == null)
                {
                    throw new Exception("Error.");
                }

                var item = comprobante.DetallesDeliveries
                           .FirstOrDefault(x => x.ProductoId == producto.ProductoId && x.CodigoBarra == producto.CodigoBarra);

                if (item != null)
                {
                    if (item.Precio == producto.Precio)

                    {
                        item.Cantidad       -= cantidad;
                        item.SubTotal        = item.Cantidad * producto.Precio;
                        comprobante.SubTotal = comprobante.DetallesDeliveries.Sum(x => x.SubTotal);
                    }
                }

                context.SaveChanges();
            }
        }
Exemple #28
0
        public ProveedorDto ObtenerPorProducto(int idProducto)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var producto = context.Productos
                               .First(x => x.Id == idProducto);

                var proveedorId = context.Personas.OfType <DAL.Proveedor>()
                                  .First(x => x.RubroId == producto.SubRubro.RubroId);

                return(new ProveedorDto()
                {
                    Id = proveedorId.Id,
                    ApyNomContacto = proveedorId.ApyNomContacto,
                    Cuit = proveedorId.Cuit,
                    Direccion = proveedorId.Direccion,
                    FechaInicioActividad = proveedorId.FechaInicioActividad,
                    IngresosBrutos = proveedorId.IngresosBrutos,
                    NombreFantasia = proveedorId.NombreFantacia,
                    RazonSocial = proveedorId.RazonSocial,
                    Telefono = proveedorId.Teléfono,
                    CondicionIvaId = proveedorId.CondicionIvaId,
                    CondicionIvaStr = proveedorId.CondicionIva.Descripcion,
                    RubroId = proveedorId.RubroId,
                    RubroStr = proveedorId.Rubro.Descripcion
                });
            }
        }
Exemple #29
0
        public IEnumerable <ComprobanteDeliveryDto> ObtenerPorFiltro(string cadenaBuscar)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var ComprobanteDelivery = context.Comprobantes.OfType <DAL.Delivery>()
                                          .Include("DetallesDeliveries")
                                          .Include("Cadete")
                                          .AsNoTracking().Where(x => (x.Cliente.Apellido.Contains(cadenaBuscar) ||
                                                                      x.Cliente.Nombre.Contains(cadenaBuscar)) &&
                                                                (x.EstadoDelivery == EstadoDelivery.EnProceso))
                                          .Select(x => new ComprobanteDeliveryDto()
                {
                    Id             = x.Id,
                    ClienteStr     = string.Concat(string.Concat(x.Cliente.Apellido, " ", x.Cliente.Nombre)),
                    Deliverie      = string.Concat(string.Concat(x.Cadete.Apellido, " ", x.Cadete.Nombre)),
                    DireccionEnvio = x.DireccionEnvio,
                    Fecha          = x.Fecha,
                    Total          = x.Total,
                    Descuento      = x.Descuento,
                    EstadoDelivery = x.EstadoDelivery,
                    Observacion    = x.Observacion,
                    ClienteId      = x.ClienteId
                }).ToList();

                return(ComprobanteDelivery);
            }
        }
        public IEnumerable <ComprobanteDeliveryDto> ObtenerComprobantesPorCliente(long?clienteId)
        {
            using (var context = new ModeloGastronomiaContainer())
            {
                var comprobante = context.Comprobantes.OfType <Delivery>()
                                  .Include("DetallesDeliveries")
                                  .Include("Empleado")
                                  .Where(x => (x.ClienteId == clienteId &&
                                               (x.TipoComprobante == TipoComprobante.Impaga) &&
                                               (x.EstadoDelivery == EstadoDelivery.Enviado)))
                                  .Select(x => new ComprobanteDeliveryDto
                {
                    Id        = x.Id,
                    Total     = x.Total,
                    ClienteId = x.ClienteId,
                    CadeteId  = x.EmpleadoId,
                    Cadete    = "No Asignado"
                }).ToList();

                if (comprobante == null)
                {
                    throw new ArgumentNullException("Error Grave");
                }
                return(comprobante);
            }
        }