Skip to content

Instantly share code, notes, and snippets.

View arman-hpp's full-sized avatar
😊
Focusing

Arman Hasanpour arman-hpp

😊
Focusing
View GitHub Profile
@arman-hpp
arman-hpp / DisableSelectEngineEdition.cs
Last active September 9, 2016 11:25
Disable Select EngineEdition on EF Code First
// disable select cast(serverproperty('EngineEdition') as int)
/// <summary>
/// DbConfiguration
/// </summary>
public class CustomConfiguration : DbConfiguration
{
public CustomConfiguration()
{
SetDatabaseInitializer<DbContext>(null);
@arman-hpp
arman-hpp / WcfAddHeader.cs
Created May 19, 2016 08:51
Add Header to WCF packets
class Program
{
private static void Main(string[] args)
{
var ret1 = ServiceFactory.BaseInfoService.Instance.GetData(15);
ServiceFactory.BaseInfoService.SetClientContext(new ClientContext(332, 13));
var ret2 = ServiceFactory.BaseInfoService.Instance.GetData(1055);
@arman-hpp
arman-hpp / GenericCollection.cs
Created May 24, 2016 13:34
GenericCollection
public class GenericCollection<T> : ICollection<T>
{
private readonly HashSet<T> _set;
public IEnumerator<T> GetEnumerator()
{
return _set.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
public static class DbMigrationExtensions
{
public static void AlterDataFileSize(this DbMigration dbMigration, int size)
{
var sqlMethod = dbMigration.GetType().GetMethod("Sql", BindingFlags.Instance | BindingFlags.NonPublic);
sqlMethod.Invoke(dbMigration, new object[] { $@"
DECLARE @dbName varchar(100) = (SELECT db_name())
DECLARE @sqlCommand nvarchar(1000) = ('ALTER DATABASE ' + @dbName + ' MODIFY FILE ( NAME = ''' + @dbName +''', SIZE = {size}MB )')
EXECUTE sp_executesql @sqlCommand, N'@dbName varchar(100)', @dbName = @dbName
", true, null });
@arman-hpp
arman-hpp / Page.cs
Created June 24, 2016 06:10
Paging
using System.Linq;
namespace SocialGoal.Data.Infrastructure
{
public class Page
{
public int PageNumber { get; set; }
public int PageSize { get; set; }
public Page()
@arman-hpp
arman-hpp / SuspectDatabase.sql
Last active June 25, 2016 13:13
SuspectDatabase
EXEC sp_resetstatus [YourDatabase];
ALTER DATABASE [YourDatabase] SET EMERGENCY
DBCC checkdb([YourDatabase])
ALTER DATABASE [YourDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ([YourDatabase], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [YourDatabase] SET MULTI_USER
@arman-hpp
arman-hpp / Migrations.cs
Created June 30, 2016 17:08
Running & Scripting Migrations From Code
//Running & Scripting Migrations From Code
//https://romiller.com/2012/02/09/running-scripting-migrations-from-code/
var configuration = new MyContextConfiguration();
var migrator = new DbMigrator(configuration);
var scriptor = new MigratorScriptingDecorator(migrator);
string script = scriptor.ScriptUpdate(sourceMigration: null, targetMigration: null);
public static class IsolatedStorageController
{
private static readonly JsonSerializer Serializer;
private static readonly IsolatedStorageScope Scope;
private static readonly Type DomainEvidenceType;
private static readonly Type AssemblyEvidenceType;
static IsolatedStorageController()
{
Serializer = new JsonSerializer();
@arman-hpp
arman-hpp / DisableHardware.cs
Created August 7, 2016 12:37
DisableHardware.cs
[Flags()]
internal enum SetupDiGetClassDevsFlags
{
Default = 1,
Present = 2,
AllClasses = 4,
Profile = 8,
DeviceInterface = (int)0x10
}
@arman-hpp
arman-hpp / KeyboardSearcher.cs
Created August 8, 2016 03:23
KeyboardSearcher.cs
private static void Main(string[] args)
{
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Keyboard");
var devs = managementObjectSearcher.Get();
foreach (var o in devs)
{
var dev = (ManagementObject) o;
Console.WriteLine("-----------------------------------------------------");
Console.WriteLine(dev["Name"].ToString());