public async Task <ActionResult <ProductoProveedor> > Post(ProductoProveedor productoProveedor)
        {
            _context.ProductoProveedor.Add(productoProveedor);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("Get", new { id = productoProveedor.ProductoProveedorId }, productoProveedor));
        }
        public async Task <IActionResult> Edit(int id, [Bind("idProductoProveedor,precio")] ProductoProveedor productoProveedor)
        {
            if (id != productoProveedor.idProductoProveedor)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(productoProveedor);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProductoProveedorExists(productoProveedor.idProductoProveedor))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(productoProveedor));
        }
        public async Task <IActionResult> Put(int id, ProductoProveedor productoProveedor)
        {
            if (id != productoProveedor.ProductoProveedorId)
            {
                return(BadRequest());
            }

            _context.Entry(productoProveedor).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductoProveedorExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        protected override void DeleteProductoAction()
        {
            if (Datos_Productos.Current == null)
            {
                return;
            }

            if (PgMng.ShowDeleteConfirmation() == DialogResult.Yes)
            {
                ProductoProveedor pp = (ProductoProveedor)Datos_Productos.Current;
                _entity.Productos.Remove(pp.Oid);

                Datos_Productos.ResetBindings(false);
            }
        }
        protected override void SelectTipoDescuentoLineaAction()
        {
            ProductoProveedor item = Productos_DGW.CurrentRow.DataBoundItem as ProductoProveedor;

            SelectEnumInputForm form = new SelectEnumInputForm(true);

            form.SetDataSource(moleQule.Common.Structs.EnumText <ETipoDescuento> .GetList(false));

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                ComboBoxSource tipo = form.Selected as ComboBoxSource;
                item.ETipoDescuento = (ETipoDescuento)tipo.Oid;

                ControlsMng.UpdateBinding(Datos_Productos);
            }
        }
        protected override void DeleteProductoAction()
        {
            if (Datos_ProductoProveedor.Current == null)
            {
                return;
            }

            //if (MessageBox.Show(Face.Resources.Messages.DELETE_CONFIRM,
            //                    Face.Resources.Labels.ADVISE_TITLE,
            //                    MessageBoxButtons.YesNoCancel,
            //                    MessageBoxIcon.Question) == DialogResult.Yes)
            //{
            ProductoProveedor pp = (ProductoProveedor)Datos_ProductoProveedor.Current;

            _entity.Productos.Remove(pp.Oid);

            Datos_ProductoProveedor.ResetBindings(false);
            //}
        }
        public async Task <IActionResult> Create([Bind("idProductoProveedor,precio,idProducto,idProveedor")] CreateProductoProveedor createProductoProveedor)
        {
            if (ModelState.IsValid)
            {
                ProductoProveedor productoProveedor = new ProductoProveedor();
                productoProveedor.precio = createProductoProveedor.precio;

                Producto producto = await _context.Producto.Where <Producto>(prod => prod.idProducto == createProductoProveedor.idProducto).FirstOrDefaultAsync();

                Proveedor proveedor = await _context.Proveedor.Where <Proveedor>(prov => prov.idProveedor == createProductoProveedor.idProveedor).FirstOrDefaultAsync();

                productoProveedor.Producto  = producto;
                productoProveedor.Proveedor = proveedor;
                _context.Add(productoProveedor);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(createProductoProveedor));
        }
        protected override void SelectImpuestoLineaAction()
        {
            if (Datos_Productos.Current == null)
            {
                return;
            }

            ProductoProveedor item = (ProductoProveedor)Datos_Productos.Current;

            ImpuestoSelectForm form = new ImpuestoSelectForm(this);

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                ImpuestoInfo impuesto = form.Selected as ImpuestoInfo;

                item.OidImpuesto = impuesto.Oid;
                item.Impuesto    = impuesto.Nombre;
                item.PImpuestos  = impuesto.Porcentaje;

                Datos_Productos.ResetBindings(false);
            }
        }
Ejemplo n.º 9
0
        public static async void Initialize(IServiceProvider serviceProvider)
        {
            using (var _context = new ApplicationDbContext(
                       serviceProvider.GetRequiredService <DbContextOptions <ApplicationDbContext> >()))
            {
                // Look for any movies.
                UserStore <ApplicationUser> userStore = new UserStore <ApplicationUser>(_context);

                Microsoft.AspNetCore.Identity.UserManager <ApplicationUser> userManager =
                    serviceProvider.GetService <Microsoft.AspNetCore.Identity.UserManager <ApplicationUser> >();

                Microsoft.AspNetCore.Identity.RoleManager <IdentityRole> roleManager =
                    serviceProvider.GetService <Microsoft.AspNetCore.Identity.RoleManager <IdentityRole> >();


                ApplicationUser   userToInsert;
                string            adminRole        = "admin";
                string            waiterRole       = "waiter";
                string            receptionistRole = "receptionist";
                string            warehouseMgRole  = "warehouseMg";
                Factura           factura;
                Reserva           reserva;
                Habitacion        habitacion;
                ReservaHabitacion rh;

                if (!_context.Roles.Any <IdentityRole>(r => r.Name == adminRole))
                {
                    var result = await roleManager.CreateAsync(new IdentityRole(adminRole));
                }

                if (!_context.Roles.Any <IdentityRole>(r => r.Name == waiterRole))
                {
                    var result = await roleManager.CreateAsync(new IdentityRole(waiterRole));
                }

                if (!_context.Roles.Any <IdentityRole>(r => r.Name == receptionistRole))
                {
                    var result = await roleManager.CreateAsync(new IdentityRole(receptionistRole));
                }

                if (!_context.Roles.Any <IdentityRole>(r => r.Name == warehouseMgRole))
                {
                    var result = await roleManager.CreateAsync(new IdentityRole(warehouseMgRole));
                }

                // _context.SaveChanges();

                if (!_context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    userToInsert = new ApplicationUser {
                        UserName = "******", PhoneNumber = "0797697898", Email = "*****@*****.**"
                    };
                    var resultu = await userManager.CreateAsync(userToInsert, "Password@123");

                    var resultr = await userManager.AddToRoleAsync(userToInsert, adminRole);
                }

                if (!_context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    userToInsert = new ApplicationUser {
                        UserName = "******", PhoneNumber = "0797697898", Email = "*****@*****.**"
                    };
                    var resultu = await userManager.CreateAsync(userToInsert, "Password@123");

                    var resultr = await userManager.AddToRoleAsync(userToInsert, adminRole);
                }

                if (!_context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    userToInsert = new ApplicationUser {
                        UserName = "******", PhoneNumber = "8719638231", Email = "*****@*****.**"
                    };
                    var resultu = await userManager.CreateAsync(userToInsert, "Password@123");

                    var resultr = await userManager.AddToRoleAsync(userToInsert, adminRole);
                }

                if (!_context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    userToInsert = new ApplicationUser {
                        UserName = "******", PhoneNumber = "0797697898", Email = "*****@*****.**"
                    };
                    var resultu = await userManager.CreateAsync(userToInsert, "Password@123");

                    var resultr = await userManager.AddToRoleAsync(userToInsert, waiterRole);
                }

                if (!_context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    userToInsert = new ApplicationUser {
                        UserName = "******", PhoneNumber = "0797697898", Email = "*****@*****.**"
                    };
                    var resultu = await userManager.CreateAsync(userToInsert, "Password@123");

                    var resultr = await userManager.AddToRoleAsync(userToInsert, receptionistRole);
                }

                if (!_context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    userToInsert = new ApplicationUser {
                        UserName = "******", PhoneNumber = "0797697898", Email = "*****@*****.**"
                    };
                    var resultu = await userManager.CreateAsync(userToInsert, "Password@123");

                    var resultr = await userManager.AddToRoleAsync(userToInsert, warehouseMgRole);
                }

                Menu menu;

                if (!_context.Menu.Any(m => m.idServicio == 1))
                {
                    menu = new Menu
                    {
                        descripcion = "Desayuno equilibrado",
                        nombre      = "Desayuno",
                        horaInicio  = new DateTime(2016, 1, 1, 9, 0, 0),
                        horaFin     = new DateTime(2016, 1, 1, 11, 0, 0),
                        precio      = 11f
                    };
                    _context.Menu.Add(menu);
                }

                if (!_context.Menu.Any(m => m.idServicio == 2))
                {
                    menu = new Menu
                    {
                        descripcion = "Comida equilibrada",
                        nombre      = "Comida",
                        horaInicio  = new DateTime(2016, 1, 1, 13, 0, 0),
                        horaFin     = new DateTime(2016, 1, 1, 16, 0, 0),
                        precio      = 12f
                    };
                    _context.Menu.Add(menu);
                }

                if (!_context.Menu.Any(m => m.idServicio == 3))
                {
                    menu = new Menu
                    {
                        descripcion = "Cena equilibrada",
                        nombre      = "Cena",
                        horaInicio  = new DateTime(2016, 1, 1, 19, 0, 0),
                        horaFin     = new DateTime(2016, 1, 1, 22, 0, 0),
                        precio      = 13f
                    };
                    _context.Menu.Add(menu);
                }

                Descuento descuento;
                if (!_context.Descuento.Any(d => d.idDescuento == 1))
                {
                    descuento = new Descuento
                    {
                        nombre      = "Descuento1",
                        descripcion = "Wapo",
                        porcentaje  = 25,
                        fechaInicio = new DateTime(2007, 1, 1, 19, 0, 0),
                        fechaFin    = new DateTime(2030, 1, 1, 19, 0, 0)
                    };
                    _context.Add(descuento);
                }

                if (!_context.Descuento.Any(d => d.idDescuento == 2))
                {
                    descuento = new Descuento
                    {
                        nombre      = "Descuento2",
                        descripcion = "Trisquelion",
                        porcentaje  = 50,
                        fechaInicio = new DateTime(2017, 12, 1, 19, 0, 0),
                        fechaFin    = new DateTime(2030, 1, 1, 19, 0, 0)
                    };
                    _context.Add(descuento);
                }

                Cliente cliente;
                if (!_context.Cliente.Any(d => d.idPersona == 1))
                {
                    cliente = new Cliente
                    {
                        nombre            = "Eustaquio",
                        apellidos         = "Habichuela",
                        codigoPostal      = "16004",
                        correoElectronico = "*****@*****.**",
                        direccion         = "Casa en las afueras",
                        localidad         = "Aquimismo",
                        nif           = "12345678K",
                        numeroTarjeta = "1234567890123456",
                        pais          = "Aquimismostan",
                        provincia     = "Aquimismo",
                        telefono      = "612345678"
                    };
                    _context.Add(cliente);
                }

                if (!_context.Cliente.Any(d => d.idPersona == 2))
                {
                    cliente = new Cliente
                    {
                        nombre            = "Muriel",
                        apellidos         = "Habichuela",
                        codigoPostal      = "16004",
                        correoElectronico = "*****@*****.**",
                        direccion         = "Casa en las afueras",
                        localidad         = "Aquimismo",
                        nif           = "12345678N",
                        numeroTarjeta = "1234567890123459",
                        pais          = "Aquimismostan",
                        provincia     = "Aquimismo",
                        telefono      = "612345679"
                    };
                    _context.Add(cliente);
                }
                _context.SaveChanges();

                if (!_context.Reserva.Any(r => r.idReserva == 1) &&
                    !_context.Factura.Any(f => f.idFactura == 1) &&
                    !_context.Habitacion.Any(h => h.numero == 1) &&
                    !_context.ReservaHabitacion.Any(reh => reh.idReservaHabitacion == 1))
                {
                    factura = new Factura
                    {
                        abono = false
                    };

                    cliente = _context.Cliente.FirstOrDefault(c => c.idPersona == 1);
                    reserva = new Reserva
                    {
                        fechaRealizacion = DateTime.Today.AddDays(-6),
                        fechaInicio      = DateTime.Today.AddDays(-5),
                        fechaFin         = DateTime.Today.AddDays(5),
                        regimenComida    = Regimen.MEDIA,
                        Cliente          = cliente,
                        comentarios      = "Reserva eustaquia",
                        Factura          = factura
                    };

                    habitacion = new Habitacion
                    {
                        descripcion  = "Habitacion doble",
                        aforo        = 2,
                        precio       = 90f,
                        localizacion = "Primera planta",
                        ocupada      = true
                    };

                    rh = new ReservaHabitacion
                    {
                        Habitacion = habitacion,
                        Reserva    = reserva
                    };

                    _context.Factura.Add(factura);
                    _context.Reserva.Add(reserva);
                    _context.Habitacion.Add(habitacion);
                    _context.ReservaHabitacion.Add(rh);
                    _context.SaveChanges();

                    factura         = _context.Factura.FirstOrDefault(f => f.idFactura == 1);
                    reserva         = _context.Reserva.FirstOrDefault(f => f.idReserva == 1);
                    factura.Reserva = reserva;
                    _context.Update(factura);
                }

                if (!_context.Reserva.Any(r => r.idReserva == 2) &&
                    !_context.Factura.Any(f => f.idFactura == 2) &&
                    !_context.Habitacion.Any(h => h.numero == 2) &&
                    !_context.ReservaHabitacion.Any(reh => reh.idReservaHabitacion == 2))
                {
                    factura = new Factura
                    {
                        abono = false
                    };

                    cliente = _context.Cliente.FirstOrDefault(c => c.idPersona == 2);
                    reserva = new Reserva
                    {
                        fechaRealizacion = DateTime.Today.AddDays(-6),
                        fechaInicio      = DateTime.Today.AddDays(-5),
                        fechaFin         = DateTime.Today.AddDays(5),
                        regimenComida    = Regimen.COMPLETA,
                        Cliente          = cliente,
                        comentarios      = "Reserva murielida",
                        Factura          = factura
                    };

                    habitacion = new Habitacion
                    {
                        descripcion  = "Habitacion para cuatro",
                        aforo        = 4,
                        precio       = 100f,
                        localizacion = "Primera planta",
                        ocupada      = true
                    };

                    rh = new ReservaHabitacion
                    {
                        Habitacion = habitacion,
                        Reserva    = reserva
                    };

                    _context.Factura.Add(factura);
                    _context.Reserva.Add(reserva);
                    _context.Habitacion.Add(habitacion);
                    _context.ReservaHabitacion.Add(rh);
                    _context.SaveChanges();

                    factura         = _context.Factura.FirstOrDefault(f => f.idFactura == 2);
                    reserva         = _context.Reserva.FirstOrDefault(f => f.idReserva == 2);
                    factura.Reserva = reserva;
                    _context.Update(factura);
                }
                _context.SaveChanges();

                if (!_context.Habitacion.Any(h => h.numero == 3))
                {
                    habitacion = new Habitacion
                    {
                        descripcion  = "Habitacion para cuatro",
                        aforo        = 4,
                        precio       = 100f,
                        localizacion = "Primera planta",
                        ocupada      = false
                    };
                    _context.Add(habitacion);
                }

                Servicio servicio;
                if (!_context.Servicio.Any(s => s.idServicio == 4))
                {
                    servicio = new Servicio
                    {
                        descripcion = "Sauna",
                        precio      = 15f,
                        nombre      = "Sauna"
                    };
                    _context.Add(servicio);
                }

                if (!_context.Servicio.Any(s => s.idServicio == 5))
                {
                    servicio = new Servicio
                    {
                        descripcion = "Masaje",
                        precio      = 40f,
                        nombre      = "Masaje"
                    };
                    _context.Add(servicio);
                }

                Producto producto;
                if (!_context.Producto.Any(p => p.idProducto == 1))
                {
                    producto = new Producto
                    {
                        nombre       = "Toalla",
                        cantidad     = 3,
                        categoria    = "Higiene",
                        descripcion  = "Toallas",
                        limiteMinimo = 1,
                        localizador  = "A11111111",
                        precio       = 5f
                    };
                    _context.Add(producto);
                }

                if (!_context.Producto.Any(p => p.idProducto == 2))
                {
                    producto = new Producto
                    {
                        nombre       = "Sabana",
                        cantidad     = 2,
                        categoria    = "Habitacion",
                        descripcion  = "Sabanas",
                        limiteMinimo = 1,
                        localizador  = "B22222222",
                        precio       = 10f
                    };
                    _context.Add(producto);
                }

                if (!_context.Producto.Any(p => p.idProducto == 3))
                {
                    producto = new Producto
                    {
                        nombre       = "Jabon",
                        cantidad     = 3,
                        categoria    = "Higiene",
                        descripcion  = "Jabones",
                        limiteMinimo = 1,
                        localizador  = "C33333333",
                        precio       = 15f
                    };
                    _context.Add(producto);
                }

                if (!_context.Producto.Any(p => p.idProducto == 4))
                {
                    producto = new Producto
                    {
                        nombre       = "Cuberteria",
                        cantidad     = 4,
                        categoria    = "Restaurante",
                        descripcion  = "Cubiertos",
                        limiteMinimo = 1,
                        localizador  = "D44444444",
                        precio       = 50f
                    };
                    _context.Add(producto);
                }
                _context.SaveChanges();

                Proveedor proveedor;
                Persona   contacto;
                if (!_context.Proveedor.Any(p => p.idProveedor == 1))
                {
                    contacto  = _context.Cliente.FirstOrDefault(c => c.idPersona == 1);
                    proveedor = new Proveedor
                    {
                        nombre            = "PedroSL",
                        cif               = "11111111A",
                        correoElectronico = "*****@*****.**",
                        direccion         = "CalleUno",
                        localidad         = "Valencia",
                        pais              = "Spain",
                        numeroCuenta      = "NumeroCuentaUno",
                        provincia         = "Valencia",
                        Persona           = contacto
                    };
                    _context.Add(proveedor);
                }

                if (!_context.Proveedor.Any(p => p.idProveedor == 2))
                {
                    contacto  = _context.Cliente.FirstOrDefault(c => c.idPersona == 2);
                    proveedor = new Proveedor
                    {
                        nombre            = "JoseSL",
                        cif               = "22222222B",
                        correoElectronico = "*****@*****.**",
                        direccion         = "CalleDos",
                        localidad         = "Madrid",
                        pais              = "Spain",
                        numeroCuenta      = "NumeroCuentaDos",
                        provincia         = "Madrid",
                        Persona           = contacto
                    };
                    _context.Add(proveedor);
                }

                if (!_context.Proveedor.Any(p => p.idProveedor == 3))
                {
                    contacto  = _context.Cliente.FirstOrDefault(c => c.idPersona == 3);
                    proveedor = new Proveedor
                    {
                        nombre            = "FranciscoSL",
                        cif               = "33333333C",
                        correoElectronico = "*****@*****.**",
                        direccion         = "CalleTres",
                        localidad         = "Barcelona",
                        pais              = "Spain",
                        numeroCuenta      = "NumeroCuentaTres",
                        provincia         = "Barcelona",
                        Persona           = contacto
                    };
                    _context.Add(proveedor);
                }
                _context.SaveChanges();

                ProductoProveedor propro;
                if (!_context.ProductoProveedor.Any(pp => pp.idProductoProveedor == 1))
                {
                    producto  = _context.Producto.FirstOrDefault(p => p.idProducto == 1);
                    proveedor = _context.Proveedor.FirstOrDefault(p => p.idProveedor == 1);

                    propro = new ProductoProveedor
                    {
                        precio    = 5f,
                        Producto  = producto,
                        Proveedor = proveedor
                    };
                    _context.Add(propro);
                }

                if (!_context.ProductoProveedor.Any(pp => pp.idProductoProveedor == 2))
                {
                    producto  = _context.Producto.FirstOrDefault(p => p.idProducto == 2);
                    proveedor = _context.Proveedor.FirstOrDefault(p => p.idProveedor == 1);

                    propro = new ProductoProveedor
                    {
                        precio    = 10f,
                        Producto  = producto,
                        Proveedor = proveedor
                    };
                    _context.Add(propro);
                }

                if (!_context.ProductoProveedor.Any(pp => pp.idProductoProveedor == 3))
                {
                    producto  = _context.Producto.FirstOrDefault(p => p.idProducto == 3);
                    proveedor = _context.Proveedor.FirstOrDefault(p => p.idProveedor == 1);

                    propro = new ProductoProveedor
                    {
                        precio    = 15f,
                        Producto  = producto,
                        Proveedor = proveedor
                    };
                    _context.Add(propro);
                }

                if (!_context.ProductoProveedor.Any(pp => pp.idProductoProveedor == 4))
                {
                    producto  = _context.Producto.FirstOrDefault(p => p.idProducto == 3);
                    proveedor = _context.Proveedor.FirstOrDefault(p => p.idProveedor == 2);

                    propro = new ProductoProveedor
                    {
                        precio    = 15f,
                        Producto  = producto,
                        Proveedor = proveedor
                    };
                    _context.Add(propro);
                }

                if (!_context.ProductoProveedor.Any(pp => pp.idProductoProveedor == 5))
                {
                    producto  = _context.Producto.FirstOrDefault(p => p.idProducto == 4);
                    proveedor = _context.Proveedor.FirstOrDefault(p => p.idProveedor == 2);

                    propro = new ProductoProveedor
                    {
                        precio    = 50f,
                        Producto  = producto,
                        Proveedor = proveedor
                    };
                    _context.Add(propro);
                }

                if (!_context.Reserva.Any(r => r.idReserva == 3))
                {
                    cliente = _context.Cliente.FirstOrDefault(c => c.idPersona == 1);
                    reserva = new Reserva
                    {
                        fechaRealizacion = DateTime.Today,
                        fechaInicio      = DateTime.Today.AddDays(2),
                        fechaFin         = DateTime.Today.AddDays(5),
                        regimenComida    = Regimen.MEDIA,
                        Cliente          = cliente,
                        comentarios      = "Reserva tercera",
                    };

                    habitacion = _context.Habitacion.FirstOrDefault(h => h.numero == 3);

                    rh = new ReservaHabitacion
                    {
                        Habitacion = habitacion,
                        Reserva    = reserva
                    };

                    _context.Reserva.Add(reserva);
                    _context.ReservaHabitacion.Add(rh);
                }

                await _context.SaveChangesAsync();

                //_context.SaveChanges();
            }
        }
Ejemplo n.º 10
0
        public bool Insertar(Transaccion compra)
        {
            using (var conection = Database.CreateConnection())
            {
                conection.Open();
                using (var transaction = conection.BeginTransaction())
                {
                    try
                    {
                        #region Transaccion

                        compra.IdTransaccion = transaccionRepository.InsertTransaccion(compra, transaction);

                        #endregion

                        #region Movimiento Producto

                        var movimientos = compra.MovimientoProducto.ToList();

                        foreach (var movimientoProducto in movimientos)
                        {
                            movimientoProducto.IdTransaccion = compra.IdTransaccion;
                        }

                        movimientoProductoRepository.InsertMovimientos(movimientos, transaction);

                        #endregion

                        #region Impuestos

                        foreach (var transaccionImpuesto in compra.TransaccionImpuesto)
                        {
                            transaccionImpuesto.IdTransaccion = compra.IdTransaccion;
                        }

                        transaccionImpuestoRepository.InsertImpuestos(compra.TransaccionImpuesto, transaction);

                        #endregion

                        #region Actualizar Serie Documento

                        serieDocumentoRepository.UpdateSerieDocumento(compra.IdSerieDocumento, compra.IdSucursal, compra.UsuarioModificacion, transaction);

                        #endregion

                        #region Actualizar Orden de Compra

                        if (compra.IdTransaccionReferencia != null)
                        {
                            compra.Estado = (int)TipoEstadoDocumento.Aprobado;
                            transaccionRepository.UpdateReferenciaTransaccion(compra, transaction);
                        }

                        #endregion

                        #region Producto Proveedor

                        foreach (var movimientoProducto in movimientos)
                        {
                            var productoProducto = new ProductoProveedor
                            {
                                IdPersona      = compra.IdPersona.Value,
                                IdPresentacion = movimientoProducto.IdPresentacion,
                                Precio         = movimientoProducto.PrecioBase
                            };
                            productoProveedorRepository.Add(productoProducto, transaction);
                        }

                        #endregion

                        #region Registrar Kardex

                        productoKardexRepository.Insertar(compra, transaction);

                        #endregion

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw new Exception(ex.Message, ex);
                    }
                }
            }
            return(true);
        }
Ejemplo n.º 11
0
        public bool Actualizar(Transaccion compra)
        {
            using (var conection = Database.CreateConnection())
            {
                conection.Open();
                using (var transaction = conection.BeginTransaction())
                {
                    try
                    {
                        #region Obtener Movimiento de Productos

                        var movimientosPorModificar = movimientoProductoRepository.GetByTransaccion(compra.IdTransaccion, transaction);

                        #endregion

                        #region Revertir ProductoStock

                        foreach (var movimientoProducto in movimientosPorModificar)
                        {
                            foreach (var movimientoProductoStock in movimientoProducto.MovimientoProductoStock)
                            {
                                movimientoProductoStock.SignoStock        = -1 * movimientoProducto.SignoStock;
                                movimientoProductoStock.IdPresentacion    = movimientoProducto.IdPresentacion;
                                movimientoProductoStock.UsuarioCreacion   = movimientoProducto.UsuarioCreacion;
                                movimientoProductoStock.TipoClasificacion = movimientoProducto.TipoClasificacion;
                            }
                        }

                        productoStockRepository.UpdateProductoStock(movimientosPorModificar, transaction);

                        #endregion

                        #region Eliminar MovimientoProducto

                        movimientoProductoRepository.DeleteByTransaccion(compra.IdTransaccion, transaction);

                        #endregion

                        #region Eliminar Impuesto

                        transaccionImpuestoRepository.DeleteByTransaccion(compra.IdTransaccion, transaction);

                        #endregion

                        #region Actualizar Transaccion

                        transaccionRepository.UpdateTransaccion(compra, transaction);

                        #endregion

                        #region Movimiento Producto

                        var movimientos = compra.MovimientoProducto.ToList();

                        foreach (var movimientoProducto in movimientos)
                        {
                            movimientoProducto.IdTransaccion = compra.IdTransaccion;
                        }

                        movimientoProductoRepository.InsertMovimientos(movimientos, transaction);

                        #endregion

                        #region Impuestos

                        foreach (var transaccionImpuesto in compra.TransaccionImpuesto)
                        {
                            transaccionImpuesto.IdTransaccion = compra.IdTransaccion;
                        }

                        transaccionImpuestoRepository.InsertImpuestos(compra.TransaccionImpuesto.ToList(), transaction);

                        #endregion

                        #region Actualizar Orden de Compra

                        if (compra.IdTransaccionReferencia != null)
                        {
                            compra.Estado = (int)TipoEstadoDocumento.Atendido;
                            transaccionRepository.UpdateReferenciaTransaccion(compra, transaction);
                        }

                        #endregion

                        #region Producto Proveedor

                        foreach (var movimientoProducto in movimientos)
                        {
                            var productoProducto = new ProductoProveedor
                            {
                                IdPersona      = compra.IdPersona.Value,
                                IdPresentacion = movimientoProducto.IdPresentacion,
                                Precio         = movimientoProducto.PrecioBase
                            };
                            productoProveedorRepository.Add(productoProducto, transaction);
                        }

                        #endregion

                        #region Modificar Kardex

                        productoKardexRepository.Actualizar(compra, transaction);

                        #endregion

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw new Exception(ex.Message, ex);
                    }
                }
            }
            return(true);
        }
Ejemplo n.º 12
0
        public PedidoesController_MostrarResumen_test()
        {
            _contextOptions = CreateNewContextOptions();
            context         = new ApplicationDbContext(_contextOptions);
            // Insert seed data into the database using one instance of the context


            Producto producto1 = new Producto
            {
                idProducto = 1,
                nombre     = "producto 1",
                precio     = 5
            };

            Producto producto2 = new Producto
            {
                idProducto = 2,
                nombre     = "producto 2",
                precio     = 6
            };
            Producto producto3 = new Producto
            {
                idProducto = 3,
                nombre     = "producto 3",
                precio     = 5
            };
            Producto producto4 = new Producto
            {
                idProducto = 4,
                nombre     = "producto 4",
                precio     = 5
            };

            Proveedor proveedor1 = new Proveedor
            {
                idProveedor       = 1,
                cif               = "123",
                correoElectronico = "123@",
                direccion         = "calle1",
            };
            Proveedor proveedor2 = new Proveedor
            {
                idProveedor       = 2,
                cif               = "321",
                correoElectronico = "142@",
                direccion         = "calle2",
            };
            Proveedor proveedor3 = new Proveedor
            {
                idProveedor       = 3,
                cif               = "333",
                correoElectronico = "143@",
                direccion         = "calle3",
            };

            ProductoProveedor prodprov1 = new ProductoProveedor
            {
                idProductoProveedor = 1,
                Producto            = producto1,
                Proveedor           = proveedor1
            };
            ProductoProveedor prodprov2 = new ProductoProveedor
            {
                idProductoProveedor = 2,
                Producto            = producto2,
                Proveedor           = proveedor1
            };
            ProductoProveedor prodprov3 = new ProductoProveedor
            {
                idProductoProveedor = 3,
                Producto            = producto3,
                Proveedor           = proveedor3
            };
            ProductoProveedor prodprov4 = new ProductoProveedor
            {
                idProductoProveedor = 4,
                Producto            = producto4,
                Proveedor           = proveedor3
            };

            context.Producto.Add(producto1);
            context.Producto.Add(producto2);
            context.Producto.Add(producto3);
            context.Producto.Add(producto4);
            context.Proveedor.Add(proveedor1);
            context.Proveedor.Add(proveedor2);
            context.Proveedor.Add(proveedor3);
            context.ProductoProveedor.Add(prodprov1);
            context.ProductoProveedor.Add(prodprov2);
            context.ProductoProveedor.Add(prodprov3);
            context.ProductoProveedor.Add(prodprov4);

            context.SaveChanges();
        }