예제 #1
0
        public static bool Modificar(Compras compras)
        {
            Contexto db   = new Contexto();
            bool     paso = false;

            try
            {
                db.Database.ExecuteSqlRaw($"DELETE FROM ComprasDetalle Where CompraId={compras.CompraId}");

                foreach (var item in compras.ComprasDetalle)
                {
                    db.Entry(item).State = EntityState.Added;
                }

                db.Entry(compras).State = EntityState.Modified;
                paso = (db.SaveChanges() > 0);
            }
            catch
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }
            return(paso);
        }
예제 #2
0
        public static void BorrarCosto(Compras compras)
        {
            List <Articulos> articulos = ArticulosBLL.GetList(ar => true);

            if (articulos != null)
            {
                foreach (var articulo in articulos)
                {
                    decimal Costo = articulo.Costo;

                    foreach (var compra in compras.ComprasDetalle)
                    {
                        Costo -= compra.Costo;
                    }

                    if (Costo < 0)
                    {
                        Costo          = 0;
                        articulo.Costo = Costo;
                    }
                    else
                    {
                        articulo.Costo = Costo;
                    }

                    ArticulosBLL.Guardar(articulo);
                }
            }
        }
예제 #3
0
        public static void ObtenerCosto(Compras compras)
        {
            List <Articulos> articulos = ArticulosBLL.GetList(ar => true);

            if (articulos != null)
            {
                foreach (var articulo in articulos)
                {
                    decimal Costo = articulo.Costo;

                    foreach (var compra in compras.ComprasDetalle)
                    {
                        if (articulo.ArticuloId == compra.ArticuloId)
                        {
                            if (articulo.Costo != 0)
                            {
                                articulo.Costo = Costo;
                            }
                            else
                            {
                                Costo += compra.Costo;
                            }
                        }
                    }

                    articulo.Costo = Costo;

                    ArticulosBLL.Guardar(articulo);
                }
            }
        }
예제 #4
0
        public static void BorrarCantidad(Compras compras)
        {
            List <Articulos> articulos = ArticulosBLL.GetList(ar => true);

            if (articulos != null)
            {
                foreach (var articulo in articulos)
                {
                    decimal Cantidad = articulo.Stock;

                    foreach (var compra in compras.ComprasDetalle)
                    {
                        Cantidad -= compra.CantidadArticulos;
                    }

                    if (Cantidad < 0)
                    {
                        Cantidad       = 0;
                        articulo.Stock = Cantidad;
                    }
                    else
                    {
                        articulo.Stock = Cantidad;
                    }

                    ArticulosBLL.Guardar(articulo);
                }
            }
        }
        /// <summary>
        /// Permite Eliminar una entidad en la base de datos
        /// </summary>
        ///<param name="id">El Id de la visita que se desea eliminar </param>
        /// <returns>Retorna True si Eliminó o Falso si falló </returns>
        public static bool Eliminar(int id)
        {
            bool paso = false;

            Contexto contexto = new Contexto();

            try
            {
                Compras compras = contexto.Compras.Find(id);



                contexto.Compras.Remove(compras);

                if (contexto.SaveChanges() > 0)
                {
                    paso = true;
                }
                contexto.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }
예제 #6
0
        private static bool Insert(Compras compra)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                contexto.Compras.Add(compra);
                paso = contexto.SaveChanges() > 0;
                Productos producto;
                ICollection <ComprasDetalle> detalle = compra.Detalle;
                foreach (ComprasDetalle m in detalle)
                {
                    producto           = ProductosBLL.Search(m.ProductoId);
                    producto.Cantidad += m.Cantidad;
                    ProductosBLL.Save(producto);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
        /// <summary>
        /// Permite Modificar una entidad en la base de datos
        /// </summary>
        /// <param name="inscripciones">Una instancia de visita</param>
        /// <returns>Retorna True si Modifico o Falso si falló </returns>
        public static bool Modificar(Compras compras)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                //todo: buscar las entidades que no estan para removerlas
                var buscar = OrdenCompraBLL.Buscar(compras.CompraId);

                //Idicar que se esta modificando el encabezado
                contexto.Entry(compras).State = EntityState.Modified;

                if (contexto.SaveChanges() > 0)
                {
                    paso = true;
                }
                contexto.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }
예제 #8
0
        public void LlenarDatos(Compras compras)
        {
            int id, cantidad;
            float itbis, precio, flete, monto;
            int.TryParse(CompraIdTextBox.Text, out id);
            int.TryParse(CantidadTextBox.Text, out cantidad);
            float.TryParse(ITBISTextBox.Text, out itbis);
            float.TryParse(CostoTextBox.Text, out precio);
            float.TryParse(FleteTextBox.Text, out flete);
            float.TryParse(MontoTextBox.Text, out monto);

            compras.CompraId = id;
            compras.Fecha = FechaDateTimePicker.Text;
            compras.TipoCompra = TipoDeCompraComboBox.Text;
            compras.NFC = NFCTextBox.Text;
            compras.TipoNFC = TipoNFCTextBox.Text;
            compras.Flete = flete;
            compras.Monto = monto;
            compras.ProveedorId = (int)ProveedorComboBox.SelectedValue;

            foreach (DataGridViewRow row in CompraDataGridView.Rows)
            {
                int id1 = Convert.ToInt32(row.Cells["ProductoId"].Value);
                int cantidad1 = Convert.ToInt32(row.Cells["Cantidad"].Value);
                compras.AgregarProducto(id1, row.Cells["Nombre"].Value.ToString(), Convert.ToSingle(row.Cells["Costo"].Value), cantidad1, Convert.ToSingle(row.Cells["ITBIS"].Value), Convert.ToSingle(row.Cells["Importe"].Value));

            }
        }
        public static void Modificar(Compras compra)
        {
            var db = new CompraventaDb();

            db.Entry(compra).State = EntityState.Modified;
            db.SaveChanges();
            Lista = GetLista();
        }
예제 #10
0
 public static bool Save(Compras compra)
 {
     if (!Existe(compra.CompraId))
     {
         return(Insert(compra));
     }
     else
     {
         return(Modify(compra));
     }
 }
예제 #11
0
 public static bool Guardar(Compras compras)
 {
     if (!Existe(compras.CompraId))
     {
         return(Insertar(compras));
     }
     else
     {
         return(Modificar(compras));
     }
 }
예제 #12
0
 private void EliminarButton_Click(object sender, EventArgs e)
 {
     Compras compra = new Compras();
     if (compra.Eliminar())
     {
         MessageBox.Show("Compra Eliminada", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
         NuevoButton.PerformClick();
     }
     else
     {
         MessageBox.Show("Error al eliminar", "alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public static void Eliminar(int CompraId)
        {
            try

            {
                var     db     = new CompraventaDb();
                Compras compra = Buscar(CompraId);
                db.Entry(compra).State = EntityState.Deleted;
                db.SaveChanges();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
        }
        /// <summary>
        /// Permite Buscar una entidad en la base de datos
        /// </summary>
        ///<param name="id">El Id de la visita que se desea encontrar </param>
        /// <returns>Retorna la visita encontrada </returns>
        public static Compras Buscar(int id)
        {
            Contexto contexto = new Contexto();
            Compras  compras  = new Compras();

            try
            {
                compras = contexto.Compras.Find(id);

                contexto.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            return(compras);
        }
        public static bool insertar(Compras compra)//algo
        {
            bool retorno = false;

            try
            {
                CompraventaDb db = new CompraventaDb();
                db.Compra.Add(compra);
                db.SaveChanges();
                retorno = true;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }

            return(retorno);
        }
예제 #16
0
        public static bool Modificar(Compras compras)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            try
            {
                var anterior = Buscar(compras.CompraId);
                foreach (var item in anterior.DetalleCompra)
                {
                    if (!compras.DetalleCompra.Any(d => d.Id == item.Id))
                    {
                        db.Entry(item).State = EntityState.Deleted;
                    }
                }

                foreach (var item in compras.DetalleCompra)
                {
                    if (item.Id == 0)
                    {
                        db.Entry(item).State = EntityState.Added;
                    }
                    else
                    {
                        db.Entry(item).State = EntityState.Modified;
                    }
                }

                db.Entry(compras).State = EntityState.Modified;
                paso = (db.SaveChanges() > 0);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }

            return(paso);
        }
예제 #17
0
        private void Buscarbutton_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            Compras compras = new Compras();
            string condicion;

            if(ComprasComboBox.SelectedIndex == 0)
            {
                if(ComprasTextBox.TextLength == 0)
                {
                    condicion = "1=1";
                }
                else
                {
                    condicion = "CompraId = " + ComprasTextBox.Text;
                }
                dt = compras.Listado("*",condicion,"");
                ComprasDataGridView.DataSource = dt;
            }
        }
예제 #18
0
        public static Compras Buscar(int id)
        {
            Contexto db      = new Contexto();
            Compras  compras = new Compras();

            try
            {
                compras = db.Compras.Include(x => x.ComprasDetalle).
                          Where(x => x.CompraId == id).
                          SingleOrDefault();
            }
            catch
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }
            return(compras);
        }
예제 #19
0
        public static void ObtenerCantidad(Compras compras)
        {
            List <Articulos> articulos = ArticulosBLL.GetList(ar => true);

            if (articulos != null)
            {
                foreach (var articulo in articulos)
                {
                    decimal Cantidad = articulo.Stock;

                    foreach (var compra in compras.ComprasDetalle)
                    {
                        Cantidad += compra.CantidadArticulos;
                    }

                    articulo.Stock = Cantidad;

                    ArticulosBLL.Guardar(articulo);
                }
            }
        }
        /// <summary>
        /// Permite guardar una entidad en la base de datos
        /// </summary>
        /// <param name="inscripciones">Una instancia de visita</param>
        /// <returns>Retorna True si guardo o Falso si falló </returns>
        public static bool Guardar(Compras compras)
        {
            bool paso = false;

            Contexto contexto = new Contexto();

            try
            {
                if (contexto.Compras.Add(compras) != null)
                {
                    contexto.SaveChanges(); //Guardar los cambios
                    paso = true;
                }
                contexto.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }
예제 #21
0
        public static bool Modify(Compras compra)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                Productos producto;
                ICollection <ComprasDetalle> detalle = Search(compra.CompraId).Detalle;
                foreach (ComprasDetalle m in detalle)
                {
                    producto           = ProductosBLL.Search(m.ProductoId);
                    producto.Cantidad += m.Cantidad;
                    ProductosBLL.Save(producto);
                }
                contexto.Database.ExecuteSqlRaw($"Delete FROM ComprasDetalle Where CompraId={compra.CompraId}");
                foreach (var item in compra.Detalle)
                {
                    contexto.Entry(item).State = EntityState.Added;
                }
                ICollection <ComprasDetalle> nuevo = compra.Detalle;
                foreach (ComprasDetalle m in nuevo)
                {
                    producto           = ProductosBLL.Search(m.ProductoId);
                    producto.Cantidad -= m.Cantidad;
                    ProductosBLL.Save(producto);
                }
                contexto.Entry(compra).State = EntityState.Modified;
                paso = contexto.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
예제 #22
0
        public static bool Insertar(Compras compras)
        {
            Contexto db   = new Contexto();
            bool     paso = false;

            try
            {
                if (db.Compras.Add(compras) != null)
                {
                    paso = (db.SaveChanges() > 0);
                }
            }
            catch
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }
            return(paso);
        }
예제 #23
0
        public static bool Guardar(Compras compra)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            try
            {
                if (db.Compra.Add(compra) != null)
                {
                    paso = db.SaveChanges() > 0;
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }

            return(paso);
        }
예제 #24
0
        public static Compras Buscar(int id)
        {
            Contexto db     = new Contexto();
            Compras  Compra = new Compras();

            try
            {
                Compra = db.Compra.Find(id);
                if (Compra != null)
                {
                    Compra.DetalleCompra.Count();
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }

            return(Compra);
        }
예제 #25
0
        private void GuardarButton_Click(object sender, EventArgs e)
        {
            Compras compra = new Compras();
            if (CompraIdTextBox.TextLength == 0)
            {
                LlenarDatos(compra);
                if (Error() == 1 && Validar() == 1 && compra.Insertar())
                {

                    MessageBox.Show("Compra registrada", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    NuevoButton.PerformClick();
                }
                else
                {
                    MessageBox.Show("Error al registrar la compra", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                compra.CompraId = Convertir();
                LlenarDatos(compra);
                if (Error() == 1 && Validar() == 1 &&  compra.Editar())
                {
                    MessageBox.Show("Compra Editada correctamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    NuevoButton.PerformClick();
                }
                else
                {
                    MessageBox.Show("Error al editar", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
예제 #26
0
        private void BuscarVentaButton_Click(object sender, EventArgs e)
        {
            Compras compras = new Compras();
            CompraIdTextBox.ReadOnly = true;
            if (compras.Buscar(Convertir()))
            {
                ProveedorComboBox.SelectedValue = compras.ProveedorId;
                TipoDeCompraComboBox.Text = compras.TipoCompra;
                NFCTextBox.Text = compras.NFC;
                TipoNFCTextBox.Text = compras.TipoNFC;
                FechaDateTimePicker.Text = compras.Fecha;
                MontoTextBox.Text = compras.Monto.ToString();
                foreach (var compra in compras.Producto)
                {
                    CompraDataGridView.Rows.Add(compra.ProductoId.ToString(), compra.Nombre, compra.Costo.ToString(), compra.Cantidad.ToString(), compra.ITBIS.ToString(), compra.Importe.ToString());
                }

            }
            else
            {
                MessageBox.Show("Id invalido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }