using NMemory.StoredProcedures;
using System.Collections.Concurrent;
public static void Main()
int checkDigit = CheckDigit("1234567899");
Console.WriteLine("CheckDigit: " + checkDigit);
public static int CheckDigit(string barcode){
if(barcode.Length %2 ==0){
for(int i =0; i<barcode.Length; i++){
checkSum += Convert.ToInt32(char.GetNumericValue(barcode[i]));
Console.WriteLine("position[" + i + "]: " + barcode[i]);
}else if (isEven && i%2 !=0){
checkSum += ( 3 * Convert.ToInt32(char.GetNumericValue(barcode[i])));
Console.WriteLine("position[" + i + "]: " + barcode[i]);
}else if(!isEven && i%2 ==0){
checkSum += ( 3 * Convert.ToInt32(char.GetNumericValue(barcode[i])));
}else if(!isEven && i%2 !=0){
checkSum += Convert.ToInt32(char.GetNumericValue(barcode[i]));
Console.WriteLine("Check Sum: " + checkSum);
int roundedUpA = (checkSum /10) *10;
int roundedUpB = (roundedUpA +10);
int roundedCheckSum = RoundUpCheckSum(checkSum);
checkDigit = roundedCheckSum-checkSum;
public static int RoundUpCheckSum(int checkSum){
int roundedDown = (checkSum /10) *10;
Console.WriteLine("A: " + roundedDown );
Console.WriteLine("checkSum: " + checkSum );
int roundedUp= (roundedDown +10);
Console.WriteLine(roundedDown);
Console.WriteLine(roundedUp);
if(checkSum == roundedDown){
Console.WriteLine("Check sum == roundedUpB : " + checkSum + " B: " + roundedUp);
Console.WriteLine("Check sum: " + checkSum + " roundedUpB: " +roundedUp + " roundedDown: " + roundedDown );
Console.WriteLine("c-a = " + (checkSum - roundedDown) + " b-c: " +(roundedUp - checkSum));
public class MyDatabase : Database
var members = this.Tables.Create<Member, int>(x => x.Id);
var groups = base.Tables.Create<Group, int>(g => g.Id);
RelationOptions options = new RelationOptions(
var peopleGroupIdIndex = members.CreateIndex(
new RedBlackTreeIndexFactory(),
this.Tables.CreateRelation(
public ITable<Member> Members { get; private set; }
public ITable<Group> Groups { get; private set; }
public int Id { get; set; }
public string Name { get; set; }
public int? GroupId { get; set; }
public int Id { get; set; }
public string Name { get; set; }