コード例 #1
0
        public async Task <IActionResult> Actualizar([FromBody] ActualizarViewModel Model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (Model.idcategoria <= 0)
            {
                return(BadRequest());
            }

            var categoria = await _context.categorias.FirstOrDefaultAsync(c => c.idcategoria == Model.idcategoria);

            if (categoria == null)
            {
                return(NotFound());
            }

            categoria.nombre      = Model.nombre;
            categoria.descripcion = Model.descripcion;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                // Guardar Excepción
                return(BadRequest());
            }

            return(Ok());
        }
コード例 #2
0
        public async Task <IActionResult> Crear([FromBody] CrearViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var email = model.email.ToLower();

            if (await _context.Personas.AnyAsync(p => p.email == email))
            {
                return(BadRequest("El email ya existe"));
            }


            if (await _context.Personas.AnyAsync(p => p.num_documento == model.num_documento) && await _context.Personas.AnyAsync(p => p.tipo_documento == model.tipo_documento))
            {
                return(BadRequest("Ya  hay  un registro con el  mismo  tipo de identidad y número   de documento " + model.tipo_documento + "-" + model.num_documento));
            }


            Persona persona = new Persona
            {
                //idusuario = 0,
                tipo_persona   = model.tipo_persona,
                nombre         = model.nombre,
                tipo_documento = model.tipo_documento,
                num_documento  = model.num_documento,
                direccion      = model.direccion,
                telefono       = model.telefono,
                email          = model.email.ToLower()
            };

            _context.Personas.Add(persona);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }

            return(Ok());
        }
コード例 #3
0
        public async Task <IActionResult> Crear([FromBody] CrearViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var email = model.email.ToLower();

            if (await _context.Usuarios.AnyAsync(u => u.email == email))
            {
                return(BadRequest("El email ya existe"));
            }

            CrearPasswordHash(model.password, out byte[] passwordHash, out byte[] passwordSalt);

            Usuario usuario = new Usuario
            {
                //idusuario = 0,
                idrol          = model.idrol,
                nombre         = model.nombre,
                tipo_documento = model.tipo_documento,
                num_documento  = model.num_documento,
                direccion      = model.direccion,
                telefono       = model.telefono,
                email          = model.email.ToLower(),
                password_hash  = passwordHash,
                password_salt  = passwordSalt,
                condicion      = true
            };

            _context.Usuarios.Add(usuario);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }

            return(Ok());
        }
コード例 #4
0
        public async Task <IActionResult> Actualizar([FromBody] ActualizarViewModel Model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (Model.idcategoria <= 0)
            {
                return(BadRequest());
            }

            var articulo = await _context.Articulos.FirstOrDefaultAsync(c => c.idarticulo == Model.idarticulo);

            if (articulo == null)
            {
                return(NotFound());
            }

            articulo.nombre       = Model.nombre;
            articulo.idcategoria  = Model.idcategoria;
            articulo.codigo       = Model.codigo;
            articulo.nombre       = Model.nombre;
            articulo.precio_venta = Model.precio_venta;
            articulo.stock        = Model.stock;
            articulo.descripcion  = Model.descripcion;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                // Guardar Excepción
                return(BadRequest());
            }

            return(Ok());
        }
コード例 #5
0
        public async Task <IActionResult> Crear([FromBody] CrearViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var fechaHora = DateTime.Now;

            // var generar serie

            var serie = await _context.Serie.Where(a => a.Cd_TD == model.tipo_comprobante).Where(a => a.IB_Estado == true).FirstOrDefaultAsync();

            int    correlativo;
            string nroDoc = "";

            if (serie != null)
            {
                var ventas = await _context.Venta.Where(a => a.tipo_comprobante == model.tipo_comprobante).Where(a => a.Id_Serie == serie.Id_Serie).CountAsync();

                int    caracteres = ventas.ToString().Length;
                string text       = "00000000";
                correlativo = ventas + 1;
                nroDoc      = text.Remove(0, correlativo.ToString().Length) + correlativo;
            }
            else
            {
                return(BadRequest(new { error = "no se pudo generar correlativo" }));
            }

            Venta venta = new Venta
            {
                idcliente         = model.idcliente,
                idusuario         = model.idusuario,
                Id_Serie          = serie.Id_Serie,
                tipo_comprobante  = model.tipo_comprobante,
                serie_comprobante = serie.NroSerie,
                num_comprobante   = nroDoc,
                fecha_hora        = fechaHora,
                impuesto          = model.impuesto,
                igv    = model.igv,
                bim    = model.bim,
                total  = model.total,
                estado = "Aceptado"
            };


            try
            {
                _context.Venta.Add(venta);
                await _context.SaveChangesAsync();

                var id = venta.idventa;
                foreach (var det in model.detalles)
                {
                    DetalleVenta detalle = new DetalleVenta
                    {
                        idventa    = id,
                        idarticulo = det.idarticulo,
                        cantidad   = det.cantidad,
                        precio     = det.precio,
                        descuento  = det.descuento
                    };
                    _context.DetallesVentas.Add(detalle);
                }
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                string Error = ex.Message;
                return(BadRequest());
            }
            return(Ok(venta.idventa));
        }