public static string RecuperarClave(int cedula) { var context = new MyDbContext(); string nueva_clave = Signature.Random(); Dictionary <string, string> dic = Signature.HashingSHA256(nueva_clave); string hash = dic["hash"]; string salt = dic["salt"]; var trans = context.Database.BeginTransaction(); try { string query = $"EXEC User_Update_clave @cedula={cedula}, @clave_hash='{hash}', @salt='{salt}'"; UserSafe user = context.UserSafe.FromSql(query).First(); //if (user.email != email) //throw new Exception("Cedula/email incorrectos at Usuario.RecuperarClave"); new EmailTC().NuevaClave($"{user.nombre} {user.apellido}", user.email, nueva_clave); trans.Commit(); return($"Su clave temporal ha sido enviada a {user.email}"); } catch (Exception e) { trans.Rollback(); throw new Exception("Error", e); } }
public static void CambiarClave(string cedula, string antiguaClave, string nuevaclave, MyDbContext _context) { _checkClave(cedula, antiguaClave, _context); var dic = Signature.HashingSHA256(nuevaclave); string hash = dic["hash"]; string salt = dic["salt"]; string q = $"EXEC User_Update_clave @cedula={cedula}, @clave_hash='{hash}', @salt='{salt}'"; UserSafe user = _context.UserSafe.FromSql(q).First(); new EmailTC().CambiarClave($"{user.nombre} {user.apellido}", user.email, nuevaclave); }
public static string NuevaClave(int cedula, MyDbContext _context) { string nueva_clave = Signature.Random(); var dic = Signature.HashingSHA256(nueva_clave); string hash = dic["hash"]; string salt = dic["salt"]; string q = $"EXEC User_Update_clave @cedula={cedula}, @clave_hash='{hash}', @salt='{salt}'"; UserSafe user = _context.UserSafe.FromSql(q).First(); new EmailTC().NuevaClave($"{user.nombre} {user.apellido}", user.email, nueva_clave); return(nueva_clave); }
//En caso de un mal despacho se notifica al contralor public static void AlertaDespacho(int idReceta) { try { var despachos = ItemDespacho.GetByReceta(idReceta, new MyDbContext()); var contralor = UserSafe.GetByCargo("contralor"); foreach (var item in despachos) { if (item.cantidadDespachada != item.cantidadRecetada) { new EmailTC().RecetaErronea($"{contralor.nombre} {contralor.apellido}", contralor.email, idReceta); break; } } } catch (Exception e) { } }
public static void AlertaPesoTalla(Data request, Token token) { try { Apadrinado apadrinado = Apadrinado.Get(request.apadrinado, new MyDbContext()); UserSafe operador = UserSafe.GetByCargo("operador"); var peso = (float)request.peso / (float)apadrinado.peso; var talla = (float)request.talla / (float)apadrinado.talla; if (peso < 0.8 || peso > 1.2) { new EmailTC().AlertaPesoTalla(operador.nombre, operador.email, request.apadrinado, request.peso, request.talla, $"{token.data.nombres} {token.data.apellidos}"); } else if (talla < 0.8 || talla > 1.2) { new EmailTC().AlertaPesoTalla(operador.nombre, operador.email, request.apadrinado, request.peso, request.talla, $"{token.data.nombres} {token.data.apellidos}"); } } catch (Exception e) { } }