private void HandleUpdateRequest(UpdateRegistrationRequest request) { RegistrationResponse response; Log.Info("Update Registraion for {Apps}", request.Name); try { if (!_apps.TryGetValue(request.Name, out var path)) { Log.Warning("No Registration Found {Apps}", request.Name); response = new RegistrationResponse(true, null); } else { var newData = JsonConvert.DeserializeObject <InstalledApp>(File.ReadAllText(path)).NewVersion(); File.WriteAllText(path, JsonConvert.SerializeObject(newData)); response = new RegistrationResponse(true, null); Log.Info("Registration Update Compled {Apps}", request.Name); } } catch (Exception e) { Log.Error(e, "Error while Reading or Writing Registration {Apps}", request.Name); response = new RegistrationResponse(false, e); } Sender.Tell(response); _subscribeAbility.Send(response); }
private void HandleNewRegistration(NewRegistrationRequest request) { Log.Info("Register new Application {Apps}", request.Name); RegistrationResponse response; try { if (_apps.ContainsKey(request.Name)) { Log.Warning("Attempt to Register Duplicate Application {Apps}", request.Name); response = new RegistrationResponse(false, new InvalidOperationException("Duplicate")); } else { string fullPath = Path.GetFullPath(request.Path + AppFileExt); File.WriteAllText(fullPath, JsonConvert.SerializeObject(new InstalledApp(request.Name, request.Path, request.Version, request.AppType, request.SupressWindow, request.ExeFile))); _apps[request.Name] = fullPath; response = new RegistrationResponse(true, null); Self.Tell(new SaveData()); Log.Info("Registration Compled for {Apps}", request.Name); } } catch (Exception e) { Log.Error(e, "Error while registration new Application {Apps}", request.Name); response = new RegistrationResponse(false, e); } Sender.Tell(response); _subscribeAbility.Send(response); }