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()); }
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()); }
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()); }
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()); }
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)); }