public string EliminaPersona(int idPersona)
        {
            var resultado = new ResultadoSQL();

            using (var cmd = _contexto.Database.GetDbConnection().CreateCommand())
            {
                cmd.CommandType = System.Data.CommandType.StoredProcedure;

                cmd.CommandText = $"dbo.sp_EliminarPersonaFisica";

                cmd.Parameters.Add(new SqlParameter
                {
                    ParameterName = "@IdPersonaFisica", Value = idPersona, DbType = System.Data.DbType.Int32
                });

                try
                {
                    _contexto.Database.OpenConnection();
                    var reader = cmd.ExecuteReader();
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            resultado.ERROR        = reader.GetInt32(0);
                            resultado.MENSAJEERROR = reader.GetString(1);
                        }
                    }
                    else
                    {
                        resultado = null;
                    }
                }
                catch (Exception ex)
                {
                    resultado.ERROR        = 0;
                    resultado.MENSAJEERROR = $"Exception: {ex.Message}";
                }
            }
            var json = JsonConvert.SerializeObject(resultado);


            return(json);
        }
        public string InsertarPersona([FromBody] PersonaFisica persona)
        {
            //var persona = (PersonaFisica)personaFisica;
            var resultado = new ResultadoSQL();

            using (var cmd = _contexto.Database.GetDbConnection().CreateCommand())
            {
                cmd.CommandType = System.Data.CommandType.StoredProcedure;

                cmd.CommandText = "dbo.sp_AgregarPersonaFisica";


                cmd.Parameters.Add(new SqlParameter
                {
                    ParameterName = "@Nombre", Value = persona.Nombre, DbType = System.Data.DbType.String
                });

                cmd.Parameters.Add(new SqlParameter
                {
                    ParameterName = "@ApellidoPaterno", Value = persona.ApellidoPaterno, DbType = System.Data.DbType.String
                });

                cmd.Parameters.Add(new SqlParameter
                {
                    ParameterName = "@ApellidoMaterno", Value = (object)persona.ApellidoMaterno ?? DBNull.Value, DbType = System.Data.DbType.String
                });

                cmd.Parameters.Add(new SqlParameter
                {
                    ParameterName = "@RFC", Value = persona.RFC, DbType = System.Data.DbType.String
                });

                cmd.Parameters.Add(new SqlParameter
                {
                    ParameterName = "@FechaNacimiento", Value = persona.FechaNacimiento, DbType = System.Data.DbType.DateTime
                });

                cmd.Parameters.Add(new SqlParameter
                {
                    ParameterName = "@UsuarioAgrega", Value = persona.UsuarioAgrega, DbType = System.Data.DbType.Int32
                });

                try
                {
                    _contexto.Database.OpenConnection();
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        resultado.ERROR        = reader.GetInt32(0);
                        resultado.MENSAJEERROR = reader.GetString(1);
                    }

                    _contexto.Database.CloseConnection();
                }
                catch (Exception ex)
                {
                    resultado.ERROR        = 0;
                    resultado.MENSAJEERROR = $"Exception: {ex.Message}";
                }
            }


            var json = JsonConvert.SerializeObject(resultado, Formatting.Indented);


            return(json);
        }