private void CreateActivity() { var startString = EditableString.Input("Activity start", null).Value; if (!DateTime.TryParse(startString, out var start)) { Console.WriteLine("Wrong date format, aborting!"); return; } var endString = EditableString.Input("Activity end", null).Value; if (!DateTime.TryParse(endString, out var end) || end < start) { Console.WriteLine("Wrong activity end time, aborting!"); return; } var activity = new Activity { Start = start, End = end, Source = Source.Manual, Value = EditableString.Input("Activity name", "Manual Activity").Value }; _data.Activities.Add(activity); }
public bool Create(string context, int?idx, string langCode, string value, string orgValue) { // start transaction try { beginDbTransaction(); int key = EditableString.GetKey(context, orgValue, idx); storeNewPersistentString(key, context, idx, value, orgValue, langCode); commitDbTransaction(); } catch (Exception ex) { logError("Error creating ES", ex); rollbackDbTransaction(); return(false); } finally { disposeDbTransaction(); } // remove conext from cache if (!string.IsNullOrWhiteSpace(context)) { string cacheKey = getCacheContextKey(langCode, context); cacheService.Remove(cacheKey); } return(true); }
private void DetectActivity() { var lats = _data.Latitudes.OrderByDescending(a => a.Key).ToList(); var actEnd = DateTime.Now; var prevLat = actEnd; for (int i = 0; i < lats.Count; i++) { var curLat = lats[i].Key; if (i == 0) { actEnd = curLat; prevLat = curLat; continue; } if (curLat.AddMinutes(5) > prevLat) { prevLat = curLat; continue; } var activity = new Activity { End = actEnd, Start = curLat, Source = Source.Other, Value = "Detected" }; if (EditableString .Input($"Activity {activity.Start} - {actEnd} detected, add to Activities? [yes]/no", "yes") .Value == "yes") { _data.Activities.Add(activity); if (lats.Count > i) { actEnd = lats[i + 1].Key; prevLat = actEnd; } } if (EditableString .Input("Detect next? yes/[no]", "no") .Value == "no") { return; } } }
public string GetValue(string key) { int leng = instance.globalString.Count; for (int i = 0; i < leng; i++) { if (instance.globalString [i].key.ToLower() == key.ToLower()) { return(instance.globalString [i].value); } } EditableString newES = new EditableString(); newES.key = key; instance.globalString.Add(newES); return(newES.value); }
static void Main(string[] args) { var config = Loader.Load() ?? new Config(); var path = new EditableString { Value = config.LastPath ?? string.Empty }; path.Input("Enter path to data"); config.LastPath = path.Value; Loader.Save(config); var logic = new CommandLineLogic(config, path.Value); logic.Run(); }
public virtual EditableString GetString(string context, string t, int?idx) { var curUICulture = System.Threading.Thread.CurrentThread.CurrentUICulture; var langCode = curUICulture.TwoLetterISOLanguageName; // we are caching by contexts and language string cacheKey = getCacheContextKey(langCode, context); var stringsInContext = cacheService.Get(cacheKey, -1, () => { var inContext = getDbQuery().Where(x => x.ESContext == context && x.ESLanguageCode == langCode).ToList(); return(toEditableStringList(inContext).ToDictionary(x => x.Key)); }); int key = EditableString.GetKey(context, t, idx); // find key in our (possibly cached) list EditableString found = null; if (stringsInContext.TryGetValue(key, out found)) { return(found); } return(null); }
public virtual int RecalcKeys() { int updatedCount = 0; try { beginDbTransaction(); var existingData = getDbQuery().ToList(); foreach (var es in existingData) { es.ESKey = EditableString.GetKey(es.ESContext, es.ESOriginalValue, es.ESIndex); updatePersistentString(es); updatedCount++; } commitDbTransaction(); } catch (Exception ex) { logError("Error updating keys", ex); rollbackDbTransaction(); updatedCount = -1; } finally { disposeDbTransaction(); } // remove from cache if (updatedCount > 0) { cacheService.RemoveByPattern(CACHE_PER_LANG_CONTEXT_KEY); } return(updatedCount); }