public ActionResult DownVoteKey(int id)
        {
            if (!Request.IsAuthenticated)
                return Json(false, JsonRequestBehavior.AllowGet);

            using (var context = new Database.Context())
            {
                var contributor = context.GetTranslator(User);
                if (context.DownvotedKeys.Any(k => k.Key.Id == id && k.Translator.Id == contributor.Id))
                    return Json(false, JsonRequestBehavior.AllowGet);

                var key = context.Keys.Find(id);
                key.DownVotes++;
                if (key.DownVotes > 5)
                {
                    context.Values.Where(v => v.Key.Id == key.Id).ToList().ForEach(v => context.Values.Remove(v));
                    context.DownvotedKeys.Where(dk => dk.Key.Id == key.Id).ToList().ForEach(dk => context.DownvotedKeys.Remove(dk));
                    context.Keys.Remove(key);
                }
                else
                    context.DownvotedKeys.Add(new DownvotedKey { Key = key, Translator = contributor });

                context.SaveChanges();
            }

            return Json(true, JsonRequestBehavior.AllowGet);
        }
Example #2
0
        /// <summary>
        /// The main script constructor.
        /// </summary>
        public Main() {
            API.consoleOutput("Initializing RP Core");

            API.consoleOutput("Connecting to database..");

            db = new Database.Context();

            API.consoleOutput("Connected!");

            API.consoleOutput("Creating player manager..");

            playerManager = new PlayerManager();

            API.consoleOutput("Player manager created.");



            setupCallbacks();

            API.consoleOutput("RP Core started");

            API.delay(60 * 1000, false, () => {
                syncTime();
            });
            syncTime();
 public BoardController(Database.Context context,
                        IHubContext <GameHub> signalRHub,
                        ComputerPlayer computerPlayer,
                        IMediator mediator)
 {
     _context        = context;
     _signalRHub     = signalRHub;
     _computerPlayer = computerPlayer;
     _mediator       = mediator;
 }
 internal void AddKeysToDatabase(IEnumerable<LocalizedStringTable> tables)
 {
     using (var context = new Database.Context())
     {
         var foundKeys = new List<TranslationKey>();
         foreach (var source in tables)
         {
             foreach (var key in source.Keys)
             {
                 if (!context.Keys.Any(tk => tk.Key == key))
                     context.Keys.Add(new TranslationKey(key, source[key].Comment));
             }
         }
         context.SaveChanges();
     }
 }
        internal IDictionary<string, OutputTable> ProduceOutputTables(List<LocalizedStringTable> tables)
        {
            var distinctKeys = tables.SelectMany(t => t.Keys).Distinct();
            using (var context = new Database.Context())
            {
                var foundKeys = context.Keys.Where(k => distinctKeys.Contains(k.Key));
                var languages = foundKeys
                    .SelectMany(k => k.Translations)
                    .Select(t => t.Language)
                    .Distinct();
                var translators = foundKeys
                    .SelectMany(k => k.Translations)
                    .Where(t => t.Translator != null)
                    .Select(t => t.Translator)
                    .Distinct()
                    .Select(t => t.FullName == t.EMail ? t.EMail : String.Format("{0} ({1})", t.FullName, t.EMail));
                var dict = languages.ToDictionary(language => language, language => new OutputTable());
                foreach (var translationKey in foundKeys)
                {
                    foreach (var translation in translationKey.Translations.OrderByDescending(t => t.RelativeScore))
                    {
                        var key = translation.Key.Key;
                        var table = dict[translation.Language];

                        if (table.ContainsKey(key))
                            continue;

                        var t = translation.Translator;
                        table.Add(key, new OutputTranslation
                        {
                            Comment = translation.Key.Comment,
                            Key = key,
                            Value = translation.Value,
                            Translator = t.FullName == t.EMail ? t.EMail : String.Format("{0} ({1})", t.FullName, t.EMail)
                        });
                    }
                }
                return dict;
            }
        }
        internal void AddTranslationsToDatabase(IEnumerable<LocalizedStringTable> tables, IPrincipal User, string language)
        {
            using (var context = new Database.Context())
            {
                var translator = context.GetTranslator(User);

                var foundKeys = new List<TranslationKey>();
                foreach (var source in tables)
                {
                    foreach (var pair in source)
                    {
                        var key = context.Keys.FirstOrDefault(k => k.Key == pair.Key) ??
                            context.Keys.Add(new TranslationKey(pair.Key, pair.Value.Comment));

                        if (!context.Values.Any(v => v.Key.Key == pair.Key && v.Value == pair.Value.Value && v.Language == language))
                        {
                            context.Values.Add(new Translation(language, pair.Value.Value) { Key = key, Translator = translator });
                        }
                    }
                }
                context.SaveChanges();
            }
        }
Example #7
0
 public GameHub(Database.Context context, IHttpContextAccessor contextAccessor, IMediator mediator)
 {
     _context         = context;
     _contextAccessor = contextAccessor;
     _mediator        = mediator;
 }
 public ComputerPlayer(Database.Context context,
                       IMediator mediator)
 {
     _context  = context;
     _mediator = mediator;
 }
Example #9
0
 public UpdateBoardAction(IHubContext <GameHub> signalRHub, Database.Context context, IMediator mediator)
 {
     _signalRHub = signalRHub;
     _context    = context;
     _mediator   = mediator;
 }
Example #10
0
 public HomeController(ILogger <HomeController> logger, Database.Context context)
 {
     _logger      = logger;
     this.context = context;
 }
Example #11
0
 public AuthController(Database.Context context)
 {
     this.context = context;
 }
 public GetClientConnectionHandler(Database.Context context)
 {
     _context = context;
 }