Exemplo n.º 1
0
        internal List <IdentityError> GuardarIngresos(IngresoTemp ingreso)
        {
            using (var transaction = context.Database.BeginTransaction())
            {
                try
                {
                    var comprobante = new Comprobante
                    {
                        Tipo   = Convert.ToString(ingreso.Comprobante),
                        Serie  = Convert.ToString(ingreso.Serie),
                        Numero = Convert.ToString(ingreso.Numero)
                    };

                    context.Comprobante.Add(comprobante);

                    DateTime now = DateTime.Now;

                    var ing = new Ingreso
                    {
                        Fecha         = now,
                        Impuesto      = 16,
                        ComprobanteID = comprobante.ComprobanteID,
                        PersonaID     = ingreso.Persona
                    };

                    context.Ingreso.Add(ing);


                    for (int i = 0; i < ingreso.detalles.Count(); i++)
                    {
                        var detalles = new DetalleIngreso
                        {
                            Cantidad     = ingreso.detalles[i].Cantidad,
                            PrecioCompra = ingreso.detalles[i].PrecioCompra,
                            PrecioVenta  = ingreso.detalles[i].PrecioVenta,
                            IngresoID    = ing.IngresoID,
                            ArticuloID   = ingreso.detalles[i].ArticuloID
                        };

                        context.DetalleIngreso.Add(detalles);
                    }

                    context.SaveChanges();
                    // Commit transaction if all commands succeed, transaction will auto-rollback
                    // when disposed if either commands fails
                    transaction.Commit();

                    cod = "SAVE";
                    des = "SAVE";
                }
                catch (Exception e)
                {
                    cod = "NOT SAVE";
                    des = e.Message;

                    transaction.Rollback();
                }
            }
            errorList.Add(new IdentityError
            {
                Code        = cod,
                Description = des
            });

            return(errorList);
        }
Exemplo n.º 2
0
        internal List <IdentityError> SaveSale(IngresoTemp venta)
        {
            using (var transaction = context.Database.BeginTransaction())
            {
                try
                {
                    var comprobante = new Comprobante
                    {
                        Serie  = Convert.ToString(venta.Serie),
                        Numero = Convert.ToString(venta.Numero),
                        Tipo   = Convert.ToString(venta.Comprobante)
                    };

                    context.Comprobante.Add(comprobante);

                    DateTime now = DateTime.Now;

                    var sale = new Sale
                    {
                        Fecha         = now,
                        PersonaID     = venta.Persona,
                        ComprobanteID = comprobante.ComprobanteID,
                        Impuesto      = 16
                    };

                    context.Sale.Add(sale);

                    for (int i = 0; i < venta.detalles.Count(); i++)
                    {
                        var detalle = new SaleDetail
                        {
                            ArticuloID  = venta.detalles[i].ArticuloID,
                            PrecioVenta = venta.detalles[i].PrecioVenta,
                            Cantidad    = venta.detalles[i].Cantidad,
                            SaleID      = sale.SaleID
                        };

                        context.SaleDetail.Add(detalle);
                    }

                    context.SaveChanges();

                    transaction.Commit();

                    cod = "SAVE";
                    des = "SAVE";
                }
                catch (Exception e)
                {
                    transaction.Rollback();

                    cod = "NOT SAVE";
                    des = e.Message;
                }

                errorlist.Add(new IdentityError
                {
                    Code        = cod,
                    Description = des
                });

                return(errorlist);
            }
        }