Skip to content

Instantly share code, notes, and snippets.

View felipeleusin's full-sized avatar

Felipe Leusin felipeleusin

View GitHub Profile
// This works
public class Users_ContractCharges : AbstractIndexCreationTask
{
public override IndexDefinition CreateIndexDefinition()
{
return new IndexDefinition<User, User>()
{
Map = results => from user in results select new { user.Id },
TransformResults = (database, results) => from user in results
from charges in user.Contract.Charges
@felipeleusin
felipeleusin / gist:885201
Created March 24, 2011 15:04
DenormalizedStoreListener
var refs = from p in entityInstance.GetType().GetProperties()
where
p.PropertyType.IsGenericType &&
p.PropertyType.GetGenericTypeDefinition() == typeof(DenormalizedReference<>)
select p;
var result = new JArray();
foreach (var p in refs)
{
@felipeleusin
felipeleusin / EntitySignatureIndexGenerator
Created March 29, 2011 16:13
Implements IEntityDuplicateChecker to use with RavenDB
public class EntitySignatureIndexGenerator
{
private readonly IDocumentStore documentStore;
public EntitySignatureIndexGenerator(IDocumentStore documentStore)
{
this.documentStore = documentStore;
}
public bool CreateIndexForAssembly(Assembly targetAssembly)
@felipeleusin
felipeleusin / EnsureHelper.cs
Created April 1, 2011 21:24
Delete Trigger to Ensure Unique Constraints
public static class EnsureHelper
{
private const string EnsureUniqueConstraint = "Ensure-Unique-Constraint";
public static IList<PropertyInfo> GetPropertiesFromMetadata(JObject metadata)
{
var clrType = metadata.Value<string>("Raven-Clr-Type");
if (clrType != null)
{
@felipeleusin
felipeleusin / gist:1923704
Created February 27, 2012 13:15
Parse the numeric Id from a RavenDB id like "users/1"
public static class RavenHelpers
{
public static int ToIntId(this string id)
{
return int.Parse(id.Substring(id.LastIndexOf('/') + 1));
}
}
@felipeleusin
felipeleusin / UserProfile.cs
Created May 5, 2012 13:44
Raven MoreLikeThis Not working
public class UserProfile
{
public string Id { get; set; }
public string Name { get; set; }
public string Hometown { get; set; }
public DateTime FromDate { get; set; }
@felipeleusin
felipeleusin / ReturnPArtialIfAjaxAttribute.cs
Created May 23, 2012 13:56
ActionFilter para converter para Ajax a Action
public class ReturnPartialIfAjaxAttribute : ActionFilterAttribute
{
private readonly string partialViewName;
public ReturnPartialIfAjaxAttribute(string partialViewName)
{
this.partialViewName = partialViewName;
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
@felipeleusin
felipeleusin / RavenMemoryBaseTest.cs
Created December 6, 2012 15:28
RavenDb simple test helper
public class RavenMemoryBaseTest : RavenBaseTest {
protected override void ModifyConfiguration(Raven.Database.Config.RavenConfiguration configuration)
{
configuration.RunInMemory = true;
}
protected override void ModifyStore(EmbeddableDocumentStore documentStore)
{
documentStore.RegisterListener(new NonStaleQueriesListener());
}
@felipeleusin
felipeleusin / gist:4552842
Last active December 11, 2015 05:29
Raven AsyncDocumentSession not generating Id after calling Store. [Update] In case anyone stumbles here apparently, this by design as replied in this issue: http://issues.hibernatingrhinos.com/issue/RavenDB-834
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Raven.Tests.Helpers;
using Xunit;
namespace Raven.Tests
{
@felipeleusin
felipeleusin / gist:4564384
Created January 18, 2013 12:54
Raven example using property-based Id
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Raven.Tests.Helpers;
using Xunit;
namespace ClassLibrary4
{