public async Task <List <CategoriaCantProdCateViewModel> > GetCantidadProductoCategoria() { string?rut = administradorSesion.UsuarioActual()?.FindFirst(ClaimTypes.NameIdentifier)?.Value; NpgsqlParameter param1 = new NpgsqlParameter("@p0", rut); return(await context.CantProdCateQuery.FromSqlRaw ("SELECT \"Categoria\".\"Nombre\" as \"NombreCategoria\", count(\"Producto\".\"Nombre\") AS \"CantidadVendida\" FROM \"Categoria\" inner JOIN \"Producto\" ON \"Producto\".\"IdCategoria\"=\"Categoria\".\"IdCategoria\" and \"Producto\".\"IdNegocio\"=(select \"IdNegocio\" from \"Trabajador\" where \"Rut\"=@p0) GROUP BY (\"Categoria\".\"IdCategoria\")", param1).ToListAsync()); }
public async Task <List <Venta> > GetAll() { string? rut = administradorSesion.UsuarioActual()?.FindFirst(ClaimTypes.NameIdentifier)?.Value; NpgsqlParameter param1 = new NpgsqlParameter("@p0", rut); return(await context.Venta.FromSqlRaw("SELECT \"V\".\"IdVenta\", \"V\".\"IdTrabajador\", \"T\".\"Nombre\" , \"V\".\"PrecioTotal\", \"V\".\"FechaVenta\" FROM \"Venta\" AS \"V\",\"Trabajador\" AS \"T\" WHERE \"V\".\"IdTrabajador\" = \"T\".\"Rut\" AND \"T\".\"IdNegocio\" = (SELECT \"IdNegocio\" FROM \"Trabajador\" WHERE \"Rut\"= @p0)", param1).ToListAsync()); }
public async Task <int> Employ(Trabajador trabajador) { string?rut = administradorSesion.UsuarioActual()?.FindFirst(ClaimTypes.NameIdentifier)?.Value; NpgsqlParameter param1 = new NpgsqlParameter("@p0", trabajador.Rut.Replace(".", "").Replace("-", "").Trim()); NpgsqlParameter param2 = new NpgsqlParameter("@p1", trabajador.IdNegocio); NpgsqlParameter param3 = new NpgsqlParameter("@p2", trabajador.IdRol); NpgsqlParameter param4 = new NpgsqlParameter("@p3", trabajador.Correo); NpgsqlParameter param5 = new NpgsqlParameter("@p4", trabajador.Contrasena); NpgsqlParameter param6 = new NpgsqlParameter("@p5", trabajador.Nombre); NpgsqlParameter param7 = new NpgsqlParameter("@p6", trabajador.Apellido); NpgsqlParameter param8 = new NpgsqlParameter("@p7", trabajador.FechaNacimiento); NpgsqlParameter param9 = new NpgsqlParameter("@p8", trabajador.Foto); NpgsqlParameter param10 = new NpgsqlParameter("@p9", trabajador.Telefono); NpgsqlParameter param11 = new NpgsqlParameter("@p10", rut); return(await context.Database .ExecuteSqlRawAsync("INSERT INTO \"Trabajador\" (\"Rut\", \"IdNegocio\", \"IdRol\", \"Correo\", \"Contrasena\", \"Nombre\", \"Apellido\", \"FechaNacimiento\", \"Telefono\", \"Foto\", \"SuperRut\") values (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10)", param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11)); }
public async Task <IActionResult> Profile(TrabajadorUpdateViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (model == null) { return(LocalRedirect("~/Producto")); } if (string.IsNullOrWhiteSpace(model.Correo)) { ModelState.AddModelError(nameof(model.Correo), "El correo ingresado es invalido."); return(View(model)); } if (string.IsNullOrWhiteSpace(model.Contrasena)) { ModelState.AddModelError(nameof(model.Contrasena), "La contraseña no puede estar vacia."); return(View(model)); } var t = await repositorioTrabajadores.GetByEmail(model.Correo); var rut = administradorSesion.UsuarioActual()?.FindFirst(ClaimTypes.NameIdentifier)?.Value; if (t != null && t.Rut != rut) { ModelState.AddModelError(nameof(model.Correo), "El correo ingresado ya existe."); return(View(model)); } await repositorioTrabajadores.Actualizar(model); return(LocalRedirect("~/Producto")); }