Ejemplo n.º 1
0
        public void Add(VentaRequest model)
        {
            var transaction = _dbContext.Database.BeginTransaction();

            try
            {
                var venta = new Venta();
                venta.Total     = model.Conceptos.Sum(d => d.Cantidad * d.PrecioUnitario);
                venta.Fecha     = DateTime.Now;
                venta.IdCliente = model.IdCliente;

                _dbContext.Venta.Add(venta);
                _dbContext.SaveChanges();

                foreach (var modelconcepto in model.Conceptos)
                {
                    var concepto = new Models.Concepto();
                    concepto.Cantidad       = modelconcepto.Cantidad;
                    concepto.IdProducto     = modelconcepto.IdProducto;
                    concepto.PrecioUnitario = modelconcepto.PrecioUnitario;
                    concepto.Importe        = modelconcepto.Importe;
                    concepto.IdVenta        = venta.Id;
                    _dbContext.Conceptos.Add(concepto);
                    _dbContext.SaveChanges();
                }

                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw new Exception("Ocurrió un error en la inserción", ex);
            }
        }
Ejemplo n.º 2
0
        public IActionResult Add(VentaRequest model)
        {
            Respuesta respuesta = new Respuesta();

            try
            {
                using (VentaRealContext db = new VentaRealContext())
                {
                    using (var transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            var venta = new Venta();
                            venta.Total     = model.Conceptos.Sum(d => d.Cantidad * d.PrecioUnitario);
                            venta.Fecha     = DateTime.Now;
                            venta.IdCliente = model.idCliente;
                            db.Venta.Add(venta);
                            db.SaveChanges();

                            foreach (var modelConcepto in model.Conceptos)
                            {
                                var concepto = new Models.Concepto();
                                concepto.Cantidad       = modelConcepto.Cantidad;
                                concepto.IdProducto     = modelConcepto.IdProducto;
                                concepto.PrecioUnitario = modelConcepto.PrecioUnitario;
                                concepto.Importe        = modelConcepto.Importe;
                                concepto.IdVenta        = venta.Id;
                                db.Concepto.Add(concepto);
                                db.SaveChanges();
                            }
                            transaction.Commit();
                            respuesta.Exito = 1;
                        }

                        catch (Exception)
                        {
                            transaction.Rollback();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                respuesta.Mensaje = ex.Message;
            }

            return(Ok(respuesta));
        }
Ejemplo n.º 3
0
        public void Add(VentaRequest model)
        {
            using (VentaRealContext db = new VentaRealContext())
            {
                //primero se guarda los elementos de la tabla padre

                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var venta = new Venta();
                        venta.Total     = model.Conceptos.Sum(s => s.Cantidad * s.Importe);
                        venta.Fecha     = DateTime.Now;
                        venta.IdCliente = model.IdCliente;
                        db.Venta.Add(venta);
                        db.SaveChanges();

                        //recorrido de todos los conectos uno or uno , guardado del detalle de la venta
                        foreach (var modelConcepto in model.Conceptos)
                        {
                            var concepto = new Models.Concepto();
                            concepto.Cantidad       = modelConcepto.Cantidad;
                            concepto.IdProducto     = modelConcepto.IdProducto;
                            concepto.PrecioUnitario = modelConcepto.PrecioUnitario;
                            concepto.IdVenta        = venta.Id;
                            concepto.Importe        = modelConcepto.Importe;
                            db.Concepto.Add(concepto);
                            db.SaveChanges();
                        }
                        transaction.Commit();     // si no se pone se va a bloquear la base de datos
                    }
                    catch
                    {
                        transaction.Rollback();
                        throw new Exception("ocurrio un error en la inserción");
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public void Add(VentaRequest model)
        {
            using (VentaRealContext db = new VentaRealContext())
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var venta = new Venta();
                        venta.Total     = model.Conceptos.Sum(d => d.Cantidad * d.PrecioUnitario);
                        venta.Fecha     = DateTime.Now;
                        venta.IdCliente = model.IdCliente;
                        db.Venta.Add(venta);
                        db.SaveChanges();

                        foreach (var modelConcepto in model.Conceptos)
                        {
                            var concepto = new Models.Concepto();
                            concepto.Cantidad       = modelConcepto.Cantidad;
                            concepto.IdProducto     = modelConcepto.IdProducto;
                            concepto.PrecioUnitario = modelConcepto.PrecioUnitario;
                            concepto.IdVenta        = venta.Id;
                            db.Concepto.Add(concepto);
                            db.SaveChanges();
                        }

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw new Exception("Ocurrio un error en la inserción de datos. " + ex.Message);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public void AddVenta(VentaRespuesta Venta)
        {
            using (Almacen_dbContext db = new Almacen_dbContext())
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        Venta venta = new Venta();
                        venta.Total     = Venta.Conceptos.Sum(t => t.Cantidad * t.PrecioUnitario);
                        venta.Fecha     = DateTime.Now;
                        venta.IdCliente = Venta.IdCliente;
                        db.Venta.Add(venta);
                        db.SaveChanges();

                        foreach (var modelConcepto in Venta.Conceptos)
                        {
                            var concepto = new Models.Concepto();
                            concepto.Cantidad       = modelConcepto.Cantidad;
                            concepto.IdProducto     = modelConcepto.IdProducto;
                            concepto.PrecioUnitario = modelConcepto.PrecioUnitario;
                            concepto.Importe        = modelConcepto.Importe;
                            concepto.IdVenta        = venta.IdVenta;
                            db.Concepto.Add(concepto);
                            db.SaveChanges();
                        }
                        transaction.Commit();
                    }
                    catch (Exception)
                    {
                        transaction.Rollback();
                        throw new Exception("Ocurrio un Error en la Inserción");
                    }
                }
            }
        }