示例#1
0
 public dto.ErrorClass InsertarEntrada(ent.Almacen r)
 {
     dto.ErrorClass error = new dto.ErrorClass();
     try
     {
         var objProducto = new dom.Producto().BuscarPorId(r.ProductoId);
         objProducto.Stock       += r.Cantidad;
         objProducto.PrecioCompra = r.Precio;
         new dom.Producto().Modificar(objProducto);
         var objAlmacen = Mapper.Map <ent.Almacen, dato.Almacen>(r);
         objAlmacen.ComprobanteId  = 0;
         objAlmacen.Fecha          = DateTime.Now;
         objAlmacen.Tipo           = 1;
         objAlmacen.ProductoNombre = objProducto.Nombre;
         objAlmacen.UnidadMedidaId = objProducto.UnidadMedidaId;
         new dom.Almacen().Adicionar(objAlmacen);
         error.Error   = false;
         error.Mensaje = Mensajes.Guardado;
     }
     catch (Exception Ex)
     {
         error.Error   = true;
         error.Mensaje = ConstantesErrores.NoControlado;
     }
     return(error);
 }
示例#2
0
        public List <ent.Producto> ObtenerProductos(dto.ProductoObtenerRequest r)
        {
            var query     = new dom.Producto().Buscar(c => c.EmpresaId == r.Empresa_id && c.Nombre.Contains(r.Nombre) && c.Marca.Contains(r.Marca));
            var Resultado = Mapper.Map <IEnumerable <dato.Producto>, IEnumerable <ent.Producto> >(query);

            return(Resultado.ToList());
        }
示例#3
0
        public List <ent.Producto> ObtenerProductosPorAgotarse(string EmpresaId)
        {
            var query     = new dom.Producto().Buscar(c => c.EmpresaId == EmpresaId && c.StockMinimo >= c.Stock).OrderBy(c => Guid.NewGuid()).Take(ConstantesAplicacion.CantidadProdSinStock);
            var Resultado = Mapper.Map <IEnumerable <dato.Producto>, IEnumerable <ent.Producto> >(query);

            return(Resultado.ToList());
        }
示例#4
0
        public List <dto.ProductoServicio> BuscarProductosYServicios(string Empresaid, string Nombre)
        {
            var query     = new dom.Producto().BuscarProductosYServicios(Empresaid, Nombre);
            var Resultado = Mapper.Map <IEnumerable <datoDto.ProductoServicio>, IEnumerable <dto.ProductoServicio> >(query);

            return(Resultado.ToList());
        }
 private Producto LoadObject(SqlDataReader reader)
 {
     Producto producto = new Producto();
     producto.Id = (int) reader["id"];
     producto.Nombre = reader["nombre"].ToString();
     producto.Cantidad = (int)reader["cantidad"];
     producto.Cantidad_millas = Convert.ToInt32(reader["cantidad_millas"].ToString());
     return producto;
 }
示例#6
0
        public void AnularComprobante(dto.ComprobanteAnulacionElectronicaRequest request, byte estado)
        {
            var comprobante = new dom.Comprobante().BuscarPorId(request.IdComprobante);

            comprobante.Estado        = estado;
            comprobante.MotiAnulacion = request.MotivoAnulacion;
            new dom.Comprobante().Modificar(comprobante);
            byte tipodete = 1;

            if (comprobante.ComprobanteTipoId == 7)
            {
                tipodete = 2;
            }
            var detalle = new dom.ComprobanteDetalles().Buscar(c => c.ComprobanteId == comprobante.Id).ToList();

            dato.Almacen objAlmacen;
            foreach (var item in detalle)
            {
                var producto = new dom.Producto().BuscarPorId(item.ProductoId);
                if (item.Tipo == 1)
                {
                    if (tipodete == 2)
                    {
                        if (producto.Stock - item.Cantidad > 0)
                        {
                            producto.Stock = producto.Stock - item.Cantidad;
                        }
                        else
                        {
                            producto.Stock = 0;
                        }
                    }
                    else
                    {
                        producto.Stock = producto.Stock + item.Cantidad;
                    }
                    new dom.Producto().Modificar(producto);
                    objAlmacen                = new dato.Almacen();
                    objAlmacen.Tipo           = tipodete;
                    objAlmacen.UsuarioId      = request.UsuarioId;
                    objAlmacen.ProductoId     = item.ProductoId;
                    objAlmacen.ProductoNombre = item.ProductoNombre;
                    objAlmacen.UnidadMedidaId = item.UnidadMedidaId;
                    objAlmacen.Cantidad       = (decimal)item.Cantidad;
                    objAlmacen.Fecha          = DateTime.Now;
                    objAlmacen.EmpresaId      = comprobante.EmpresaId;
                    objAlmacen.ComprobanteId  = comprobante.Id;
                    objAlmacen.Precio         = item.PrecioTotal;
                    new dom.Almacen().Adicionar(objAlmacen);
                }
            }
        }
示例#7
0
 public dto.ErrorClass EditarStockProducto(ent.Producto r)
 {
     dto.ErrorClass error = new dto.ErrorClass();
     try
     {
         var producto = new dom.Producto().BuscarPorId(r.Id);
         producto.Stock = r.Stock;
         new dom.Producto().Modificar(producto);
         error.Error   = false;
         error.Mensaje = Mensajes.Guardado;
     }
     catch (Exception Ex)
     {
         error.Error   = true;
         error.Mensaje = ConstantesErrores.NoControlado;
     }
     return(error);
 }
示例#8
0
        public dto.ComprobanteGuardarResponse GuardarComprobante(dto.ComprobanteGuardarRequest r)
        {
            dto.ComprobanteGuardarResponse response = new dto.ComprobanteGuardarResponse();
            try
            {
                byte tipodete = 2;
                var  cabecera = Mapper.Map <ent.Comprobante, dato.Comprobante>(r.ComprobanteCabecera);
                var  detalle  = Mapper.Map <IEnumerable <ent.Comprobantedetalle>, IEnumerable <dato.Comprobantedetalle> >(r.ComprobanteDetalle);
                if (cabecera.ComprobanteTipoId == 7)
                {
                    tipodete = 1;
                }
                if (cabecera.Id == 0)
                {
                    var serieServ = new dom.Serie().Buscar(c => c.EmpresaId == r.ComprobanteCabecera.EmpresaId && c.Serie1 == r.ComprobanteCabecera.Serie && c.ComprobanteTipoId == r.ComprobanteCabecera.ComprobanteTipoId && c.Proforma == false).FirstOrDefault();
                    cabecera.Correlativo = (serieServ.Correlativo + 1).ToString();
                    new dom.Comprobante().Adicionar(cabecera);
                    foreach (var item in detalle)
                    {
                        item.ComprobanteId = cabecera.Id;
                        new dom.ComprobanteDetalles().Adicionar(item);
                        var producto = new dom.Producto().BuscarPorId(item.ProductoId);
                        if (item.Tipo == 1)
                        {
                            if (cabecera.ComprobanteTipoId == 1 || cabecera.ComprobanteTipoId == 3 || cabecera.ComprobanteTipoId == 8)
                            {
                                if (producto.Stock - item.Cantidad > 0)
                                {
                                    producto.Stock = producto.Stock - item.Cantidad;
                                }
                                else
                                {
                                    producto.Stock = 0;
                                }
                            }
                            else
                            {
                                producto.Stock = producto.Stock + item.Cantidad;
                            }
                            new dom.Producto().Modificar(producto);
                            dato.Almacen objAlmacen = new dato.Almacen();
                            objAlmacen.Tipo           = tipodete;
                            objAlmacen.UsuarioId      = cabecera.UsuarioId;
                            objAlmacen.ProductoId     = item.ProductoId;
                            objAlmacen.ProductoNombre = item.ProductoNombre;
                            objAlmacen.UnidadMedidaId = item.UnidadMedidaId;
                            objAlmacen.Cantidad       = (decimal)item.Cantidad;
                            objAlmacen.Fecha          = DateTime.Now;
                            objAlmacen.EmpresaId      = cabecera.EmpresaId;
                            objAlmacen.ComprobanteId  = cabecera.Id;
                            objAlmacen.Precio         = item.PrecioTotal;
                            new dom.Almacen().Adicionar(objAlmacen);
                        }
                    }

                    var serie = new dom.Serie().BuscarPrimero(c => c.EmpresaId == cabecera.EmpresaId && c.Serie1 == cabecera.Serie && c.ComprobanteTipoId == cabecera.ComprobanteTipoId);
                    serie.Correlativo = Convert.ToInt64(cabecera.Correlativo);
                    new dom.Serie().Modificar(serie);


                    response.IdComprobante = cabecera.Id;
                }
                else
                {
                    new dom.Comprobante().Modificar(cabecera);
                    var comprobanteDetalles = new dom.ComprobanteDetalles();
                    var detalleEdicion      = comprobanteDetalles.Buscar(c => c.ComprobanteId == cabecera.Id).ToList();
                    foreach (var item in detalleEdicion)
                    {
                        var productoEdicion = new dom.Producto().BuscarPorId(item.ProductoId);
                        if (item.Tipo == 1)
                        {
                            if (cabecera.ComprobanteTipoId == 1 || cabecera.ComprobanteTipoId == 3 || cabecera.ComprobanteTipoId == 8)
                            {
                                //devolucion
                                productoEdicion.Stock = productoEdicion.Stock + item.Cantidad;
                            }
                            else
                            {
                                productoEdicion.Stock = productoEdicion.Stock - item.Cantidad;
                            }
                            new dom.Producto().Modificar(productoEdicion);

                            dato.Almacen objAlmacen = new dato.Almacen();
                            objAlmacen.Tipo           = 3;
                            objAlmacen.UsuarioId      = cabecera.UsuarioId;
                            objAlmacen.ProductoId     = item.ProductoId;
                            objAlmacen.ProductoNombre = item.ProductoNombre;
                            objAlmacen.UnidadMedidaId = item.UnidadMedidaId;
                            objAlmacen.Cantidad       = (decimal)item.Cantidad;
                            objAlmacen.Fecha          = DateTime.Now;
                            objAlmacen.EmpresaId      = cabecera.EmpresaId;
                            objAlmacen.ComprobanteId  = cabecera.Id;
                            objAlmacen.Precio         = item.PrecioTotal;
                            new dom.Almacen().Adicionar(objAlmacen);
                        }
                        comprobanteDetalles.Eliminar(item);
                    }

                    foreach (var item in detalle)
                    {
                        item.ComprobanteId = cabecera.Id;
                        new dom.ComprobanteDetalles().Adicionar(item);
                        var producto = new dom.Producto().BuscarPorId(item.ProductoId);
                        if (item.Tipo == 1)
                        {
                            if (cabecera.ComprobanteTipoId == 1 || cabecera.ComprobanteTipoId == 3 || cabecera.ComprobanteTipoId == 8)
                            {
                                if (producto.Stock - item.Cantidad > 0)
                                {
                                    producto.Stock = producto.Stock - item.Cantidad;
                                }
                                else
                                {
                                    producto.Stock = 0;
                                }
                            }
                            else
                            {
                                producto.Stock = producto.Stock + item.Cantidad;
                            }
                            new dom.Producto().Modificar(producto);

                            dato.Almacen objAlmacen = new dato.Almacen();
                            objAlmacen.Tipo           = tipodete;
                            objAlmacen.UsuarioId      = cabecera.UsuarioId;
                            objAlmacen.ProductoId     = item.ProductoId;
                            objAlmacen.ProductoNombre = item.ProductoNombre;
                            objAlmacen.UnidadMedidaId = item.UnidadMedidaId;
                            objAlmacen.Cantidad       = (decimal)item.Cantidad;
                            objAlmacen.Fecha          = DateTime.Now;
                            objAlmacen.EmpresaId      = cabecera.EmpresaId;
                            objAlmacen.ComprobanteId  = cabecera.Id;
                            objAlmacen.Precio         = item.PrecioTotal;
                            new dom.Almacen().Adicionar(objAlmacen);
                        }
                    }
                    response.IdComprobante = cabecera.Id;
                }
            }
            catch (Exception Ex)
            {
                response.IdComprobante = 0;
            }
            return(response);
        }
示例#9
0
 public bool AgregarAlCarrito(Producto producto, decimal cantidad)
 {
     return(Carro.AgregarLinea(producto, cantidad));
 }