almacenar intentos en base de datos .net

tengo una consulta estoy haciendo un sistema en .net y sql server , lo que quiero hacer es cuando un usuario se logee, almacene en mi base al usuario que entro o al usuario que erro su cuenta en el login y me diga cuantas veces entro o la hora, les agradecería por la ayuda .

   Private Sub BTNINGRESAR_Click(sender As Object, e As EventArgs) Handles BTNINGRESAR.Click       Try          datos.Usuario_1 = TXTUSER.Text         datos.Contraseña_1 = TXTPASS.Text          If funcion.validar_sesion(datos) = True Then              Preguntas.Show()         ElseIf (contador = 3) Then              MsgBox("Demasiado intentos fallidos")             Me.Close()          Else 'contar loos numeros de intentos               MsgBox("Usuario o Contraseña Invalido, Intente de Nuevo")             TXTUSER.Clear()             TXTPASS.Clear()             contador += 1          End If       Catch ex As Exception         MsgBox(ex.Message)     End Try End Sub 

¿Cómo usar pivot para un campo de una consulta en C# .net?

Tengo una consulta

Tengo una método que devuelve una lista de datos(idColaborador,nombreColaborador,unidad Organizativa, fecha_registro).

Lo que yo quiero es invertir el campo fecha_registro de columna a fila como se trabaja en pivot.

Al principio intente hacerlo el pivot desde base de datos y llamarlo en un procedimiento almacenado pero el problema es que al recibir los datos me traía demasiadas columnas ya que trae todos los días del mes y al momento de mapearlo en mi método tendría que crear la cantidad de atributos necesarios de acuerdo a las columnas que reciba de mi procedimiento es por ello que estoy intentando hacerlo por .net.

Aquí encontré una página de ejemplo pero yo soy nuevo en estos temas y les pido que me puedan ayudar https://www.codeproject.com/Articles/22008/C-Pivot-Table

public List<Sigeri> ExportarResumenHoras()         {  List<Sigeri> lista = new List<Sigeri>();         DatabaseHelper helper = null;         SqlDataReader dr = null;         try         {              helper = new DatabaseHelper(Conexion.Instancia.CadenaConexionDS());             helper.AddParameter("@MesAño", "082019");              dr = (SqlDataReader)helper.ExecuteReader("PA_Control_horas", System.Data.CommandType.StoredProcedure);             while (dr.Read())             {                 var obj = new Sigeri()                 {                     Colaborador = new Colaborador()                     {                         IdColaborador = dr["Id_Colaborador"].ToString(),                         NombreColaborador = dr["Nombre_Colaborador"].ToString()                     },                     Proyecto = new Proyecto()                     {                         IdUnidadOrganizativa=dr["Id_Unidad_Organizativa"].ToString()                     },                     Fecha_registro = DateTime.Parse(dr["Fecha_Registro"].ToString())                  };                 lista.Add(obj);             }          }         catch (Exception ex)         {             throw ex;          }         finally         {             if (helper != null)                 helper.Dispose();         }         return lista;     } 

Ya que luego deseo exportarlo a excel y debe mostrar algo parecido a esta imagen.

introducir la descripción de la imagen aquí

Este sería mi controlador donde se exportaría en excel lo que reciba de mi método ExportarResumenHoras

public JsonResult ExportarResumenHoras()         {             List<Sigeri> data = GestionResumenHoras.Instancia.ListaResumenHoras();              ExcelPackage pkg = new ExcelPackage();             ExcelWorksheet ws = pkg.Workbook.Worksheets.Add("Detalle(Semana)");                ws.Cells["A6"].Value = "DNI";             ws.Cells["B6"].Value = "NOMBRE COLABORADOR";             ws.Cells["C6"].Value = "PROYECTO UO";              int rowstart = 7;             //int columna = 4;             if (data != null)             {                 foreach (Sigeri obj in data)                 {                     ws.Cells[string.Format("A{0}", rowstart)].Value = obj.Colaborador.IdColaborador;                     ws.Cells[string.Format("B{0}", rowstart)].Value = obj.Colaborador.NombreColaborador;                     ws.Cells[string.Format("C{0}", rowstart)].Value = obj.Proyecto.IdUnidadOrganizativa;                     ws.Cells[string.Format("D{0}", rowstart)].Value = obj.Fecha_registro;                  }             }             ws.Cells["A:AZ"].AutoFitColumns();                MemoryStream memoryStream = new MemoryStream();             pkg.SaveAs(memoryStream);             memoryStream.Position = 0;              var bytes = memoryStream.ToArray();             Session["archivoResumenHoras"] = bytes;             return Json(new { success = true }, JsonRequestBehavior.AllowGet);         } 

Disassembling a .NET manually

I would like to statically sign a malware, specifically MSIL Crypter, with a YARA rule. I want to sign specific functions (Assembly.Load for example) but I couldn’t find an informative documentation about how to disassemble a .NET binary into CIL which will help me understand which sequence of bytes to sign. Would be glad to get some help with it.

Sharepoint online/365 integration (Upload files) on React app hosted on Azure and WebApi C# .Net Core 2.2

I’m struggling since some weeks ago trying to interact/automate a way to upload files from a Web App created in React and upload files to a Sharepoint Online Site – in a specific folder. The WebApp is hosted in Azure and using a C# .Net Core 2.2 as backend.

I’m trying to using some kind of REST API that help me out with this task (Could be on React in frontend, or in C# Core or C# MS FW .Net for backend) I’m searching across internet a way to do it but all the testings were failed.

Someone can give me some insight, tip or advice on how to achieve this?

I’m trying:

  • Use code from Microsoft WebPage (Using jQuery).

  • Using PnP, but on my localhost I receive a CORS problem (I’m trying using Client ID and Secret ID to interact with Sharepoint).

DbContext dinámico en .net core 2.2

siguiendo este link: ASP.NET Core change EF connection string when user logs in

Logré configurar mi DbContext dinámico, usando DbContextFactory, funciona bien cuando quiero cambiar mi conexión pero cuando publico mi proyecto, resulta que se cambia la conexión para todos los usuarios que estén conectados, y esto genera que no pueda usarse mas de un usuario a la vez, mi código es de la siguiente forma:

public class Public_Class { public static Dictionary ConnectionStrings { get; set; }

    public static void SetConnectionString(Dictionary<string, string> connStrs)     {         ConnectionStrings = connStrs;     }      public static EmpresaDbContext Create(string connid)     {         if (!string.IsNullOrEmpty(connid))         {             var connStr = ConnectionStrings[connid];             var optionsBuilder = new DbContextOptionsBuilder<EmpresaDbContext>();             optionsBuilder.UseSqlServer(connStr);             return new EmpresaDbContext(optionsBuilder.Options);         }         else         {             throw new ArgumentNullException("ConnectionId");         }     }      public int Cod_empresa { get; set; }      public EmpresaDbContext Conex_BD { get; set; }      public string BD_Conn     {         get;         set;     } } 

En el HomeController tengo lo siguiente: Arriba:

private readonly IOptions<Public_Class> _DbConn;     public List<Institucion> LEmpresa = new List<Institucion>();      private IHostingEnvironment _env;      internal interface IJsonHelper     {         string ToJson<T>(T obj);         T ToObject<T>(string json);     }      public HomeController(ApplicationDbContext context, IOptions<Public_Class> public_Class, IHostingEnvironment env)     {         _context = context;         _DbConn = public_Class;         //_DbConn.Value.Conex_BD = Econtext;         _env = env;         //_httpContextAccessor = httpContextAccessor;         //_empresa = Econtext;      } 

Y mas abajo así:

//El que busca de la BD el nombre al que se va a conectar  string BD = _context.Institucion.Where(w => w.Id == _DbConn.Value.Cod_empresa).Select(s => s.Bd).FirstOrDefault();  //asigno la conexión a mi variable var dbContext = Public_Class.Create(BD); //Hago una consulta a una tabla var planes4 = dbContext.Planes.ToList(); 

La idea es que esta aplicación web la van a usar muchos usuarios con muchas bases de datos diferentes y se puede tener la libertad de cambiar en cualquier momento.

Agradecería mucho algún apoyo de quien haya tenido la experiencia o conozca como hacer.

Gracias.-

Estoy generando números random sin repetir en Visual Basic .Net ¿Cómo hago para que el cero no me quede de ultimo?

Estoy generando números random sin repetir en Visual Basic .Net, pero al final de todos los números generados siempre me queda el cero, ¿cómo hago para que cero cambie de posición al generar los números random?

While (numero_elementos < 7)         aleatorio = numAleatorioEntre(0, 7)         encontrado = False           For i = 0 To 7 And Not encontrado             If (aleatorio = numeros(i)) Then                 encontrado = True             End If         Next          If (encontrado = True) Then             Console.WriteLine("El numero existe: " & aleatorio)         Else             numeros(numero_elementos) = aleatorio             numero_elementos = numero_elementos + 1             Console.WriteLine("Agregado el numero: " & aleatorio)         End If      End While          Console.WriteLine("Mostrar arreglo")     For i = 0 To 7         Console.WriteLine(numeros(i))     Next 

Where should I start with an Integration Test for a Legacy Software in .NET?

Currently, I’m planning a new project of CI/CD with Azure DevOps (with Git, already committed) for an old Solution, which contains 17 C# projects.

Technically, we have access to the source code and it’s required to write all Unit Tests (since it wasn’t planned with them); however, as it’s advice in this article:

Integration Testing made Simple for CRUD applications with SqlLocalDB

The best solution is to perform Integration Tests and not Unit Tests for several reasons:

  • It has been for a considerable amount of time in the market without major changes (Legacy System), more than 5 years.
  • There is not enough documentation of the entire system.
  • The support is limited to minor bugs.
  • It integrates several technologies like C#, SQL, ASP MVC, Console, SAP, etc.
  • Most of people involved in this project are not working anymore; therefore, the business logic is minimal.
  • There would be thousands of cases to evaluate, which means a considerable amount of money and time.

I’d like to know if someone has any experience related or some advice of how to perform them, what way should you follow?

In my case, I’d like to focus specifically in the business logic like CRUD operations, but what should this involved? A parallel database for storing data? Any specific technology? xUnit, nUnit, MSBuild? Or how would you handle it?

P.S.

I see a potential issue with the previous article since it’s using SQL Local DB and I read that is not supported in Azure and probably it’s the same in Azure Dev Ops.