public ObservableCache(Func <TObject, TKey> keySelector = null) { _readerWriter = new ReaderWriter <TObject, TKey>(keySelector); _cleanUp = Disposable.Create(() => { _changes.OnCompleted(); if (_countChanged.IsValueCreated) { _countChanged.Value.OnCompleted(); } }); }
/// <summary> /// Initializes a new instance of the <see cref="SourceList{T}"/> class. /// </summary> /// <param name="source">The source.</param> public SourceList(IObservable <IChangeSet <T> > source = null) { _readerWriter = new ReaderWriter <T>(); var loader = source == null ? Disposable.Empty : LoadFromSource(source); _cleanUp = Disposable.Create(() => { loader.Dispose(); OnCompleted(); if (_countChanged.IsValueCreated) { _countChanged.Value.OnCompleted(); } }); }
// Start is called before the first frame update void Start() { try { monitor = GetComponent <ReaderWriter>(); text = monitor.ReadString("Options.conf"); doc = new XmlDocument(); doc.LoadXml(text); AsignarValores(doc); } catch (Exception) { Debug.LogError("Archivo Options.conf corruto, asignando codigo predeterminado"); ValoresPredeterminados(); } }
private void Testing(PathEnum pathEnum) { try { string path = testsDictionary[pathEnum]; readerWriter = new ReaderGraph(path); Testing(); } catch (KeyNotFoundException) { throw new MyException.TestsException.TestsMissingTestException(pathEnum.ToString()); } catch (MyException.ReaderWriterException.ReaderWriterException e) { stringBuilder.AppendLine(e.Message); } }
private async void onAddFriendClick(object sender, EventArgs args) { var user = await ReaderWriter.GetPerson(email); var response = await ReaderWriter.GetPersonByUsername(friendsEntry.Text); if (response == null || user.email == response.email) //Dodal da nemores dodat sebe. { if (string.IsNullOrWhiteSpace(friendsEntry.Text)) { await DisplayAlert("Error", "Enter a username first!", "OK"); return; } else { await DisplayAlert("User not found", "The user you searched for not found!", "OK"); friendsEntry.Text = ""; return; } } foreach (string a in user.friends) { if (a == response.username) //Da nemoreš dodat večkrat. { await DisplayAlert("Already friends", "The user is already your friend!", "OK"); friendsEntry.Text = ""; return; } } if (user.friends.Count >= 20) { await DisplayAlert("Friend limit reached", "You have reached the maximum number of friends!", "OK"); //max frendov friendsEntry.Text = ""; return; } await ReaderWriter.UpdateFriendsList(email, response); friendsEntry.Text = ""; FillFriendsList(Friends); await DisplayAlert("Success", "Friend added!", "Close"); }
public client(int id, ReaderWriter rwlock) { Join j = Join.Create(); j.Initialize(out run); j.When(run).Do(delegate() { while (true) { read(); delay(); write(); delay();};} ); this.id=id; this.rwlock=rwlock; run(); }
public ObservableCache(IObservable <IChangeSet <TObject, TKey> > source) { _readerWriter = new ReaderWriter <TObject, TKey>(); var loader = source .Synchronize(_locker) .Select(changes => _readerWriter.Write(changes, _changes.HasObservers)) .Finally(_changes.OnCompleted) .Subscribe(InvokeNext, _changes.OnError); _cleanUp = Disposable.Create(() => { loader.Dispose(); _changes.OnCompleted(); if (_countChanged.IsValueCreated) { _countChanged.Value.OnCompleted(); } }); }
/// <summary> /// Test a operation (OperationEnum) on a file (pathEnum) /// </summary> /// <param name="operationEnum">type of operation (enum)</param> /// <param name="pathEnum">file path (enum)</param> /// <returns>report</returns> public StringBuilder Test(OperationEnum operationEnum, PathEnum pathEnum) { stringBuilder.Clear(); string path = testsDictionary[pathEnum]; readerWriter = new ReaderGraph(path); switch (operationEnum) { case OperationEnum.clearFile: ClearFile(); break; case OperationEnum.createFile: CreateFile(); break; case OperationEnum.deleteFile: DeleteFile(); break; case OperationEnum.existFile: ExistFile(); break; case OperationEnum.readFile: ReadFile(); break; case OperationEnum.writeFile: WriteFile(); break; default: throw new MyException.TestsException.TestsMissingTestException(operationEnum.ToString()); } return(stringBuilder); }
static void Main(string[] args) { Student martin = new Student { FirstName = "Martin", LastName = "Panovski", Age = 27, IsPartTime = true }; // Serialization of C# object string martinString = CustomJsonSerializer.SerializeStudent(martin); Console.WriteLine(martinString); // Deserialization of json string into C# object Student martinDeserialized = CustomJsonSerializer.DeserializeStudent(martinString); Console.WriteLine(martinDeserialized.FirstName); Console.WriteLine(martinDeserialized.LastName); Student petre = new Student { FirstName = "Petre", LastName = "Arsovski", Age = 25, IsPartTime = true }; CreateFolder(folderPath); CreateFile(filePath); string jsonStudent = CustomJsonSerializer.SerializeStudent(petre); ReaderWriter.WriteFile(filePath, jsonStudent); string studentFromFile = ReaderWriter.ReadFile(filePath); Student studentParsed = CustomJsonSerializer.DeserializeStudent(studentFromFile); Console.WriteLine($"Hello there this is the student read from the file: {studentParsed.FirstName}"); Console.ReadLine(); }
private void _ClientHandlerStage2(Stream Stream) { using (ReaderWriter rw = new ReaderWriter(Stream)) { BooruUser user = _Booru.DefaultUser; while (_ThreadPool.IsRunning) { RequestCode requestCode = (RequestCode)rw.ReadUShort(); if (requestCode != RequestCode.Disconnect) { byte[] payload = rw.ReadBytes(); _Logger.LogLine("Client request: RQ = {0}, {1} bytes payload", Enum.GetName(typeof(RequestCode), requestCode), payload.Length); using (var inputMs = new MemoryStream(payload)) using (var outputMs = new MemoryStream()) { try { using (var rw2 = new ReaderWriter(inputMs, outputMs)) _ClientHandlerStage3((RequestCode)requestCode, rw2, ref user); rw.Write(true); rw.Write(outputMs.ToArray(), true); } catch (Exception ex) { _Logger.LogException("ClientRequest", ex); rw.Write(false); rw.Write(ex.Message, true); } rw.Flush(); } } else { _Logger.LogLine("Client disconnected gracefully"); break; } } } }
//void MoviesCommand(object sender, EventArgs args) //{ // DisplayAlert("Rabim event handler", "Implementiraj me", "OK"); //} //void TVSeriesCommand(object sender, EventArgs args) //{ // DisplayAlert("Dela", "Implementiraj me", "OK"); //} //void DocumentariesCommand(object sender, EventArgs args) //{ // DisplayAlert("Dela", "Implementiraj me", "OK"); //} //void AnimeCommand(object sender, EventArgs args) //{ // DisplayAlert("Dela", "Implementiraj me", "OK"); //} //public async void OnShowMenu() //{ // if (_isAnimationRun) // return; // _isAnimationRun = true; // var animationDuration = AnimationDuration; // if (Page.Scale < 1) // { // animationDuration = (int)(AnimationDuration * SlideAnimationDuration); // GetCollapseAnimation().Commit(this, CollapseAnimationName, 16, // (uint)(AnimationDuration * SlideAnimationDuration), // Easing.Linear, // null, () => false); // } // else // { // GetExpandAnimation().Commit(this, ExpandAnimationName, 16, // AnimationDuration, // Easing.Linear, // null, () => false); // } // await Task.Delay(animationDuration); // _isAnimationRun = false; //} //private Animation GetExpandAnimation() //{ // var iconAnimationTime = (1 - SlideAnimationDuration) / _menuItemsView.Count(); // var animation = new Animation // { // {0, SlideAnimationDuration, new Animation(v => ToolbarSafeAreaRow.Height = v, _safeInsetsTop, 0)}, // { // 0, SlideAnimationDuration, // new Animation(v => Page.TranslationX = v, 0, Device.Info.ScaledScreenSize.Width * PageTranslation) // }, // {0, SlideAnimationDuration, new Animation(v => Page.Scale = v, 1, PageScale)}, // { // 0, SlideAnimationDuration, // new Animation(v => Page.Margin = new Thickness(0, v, 0, 0), 0, _safeInsetsTop) // }, // {0, SlideAnimationDuration, new Animation(v => Page.CornerRadius = (float) v, 0, 5)} // }; // foreach (var view in _menuItemsView) // { // var index = _menuItemsView.IndexOf(view); // animation.Add(SlideAnimationDuration + iconAnimationTime * index - 0.05, // SlideAnimationDuration + iconAnimationTime * (index + 1) - 0.05, new Animation( // v => view.Opacity = (float)v, 0, 1)); // animation.Add(SlideAnimationDuration + iconAnimationTime * index, // SlideAnimationDuration + iconAnimationTime * (index + 1), new Animation( // v => view.TranslationY = (float)v, -10, 0)); // } // return animation; //} //private Animation GetCollapseAnimation() //{ // var animation = new Animation // { // {0, 1, new Animation(v => ToolbarSafeAreaRow.Height = v, 0, _safeInsetsTop)}, // {0, 1, new Animation(v => Page.TranslationX = v, Device.Info.ScaledScreenSize.Width * PageTranslation, 0)}, // {0, 1, new Animation(v => Page.Scale = v, PageScale, 1)}, // {0, 1, new Animation(v => Page.Margin = new Thickness(0, v, 0, 0), _safeInsetsTop, 0)}, // {0, 1, new Animation(v => Page.CornerRadius = (float) v, 5, 0)} // }; // foreach (var view in _menuItemsView) // { // animation.Add(0, 1, new Animation( // v => view.Opacity = (float)v, 1, 0)); // animation.Add(0, 1, new Animation( // v => view.TranslationY = (float)v, 0, -10)); // } // return animation; //} private async void BtnSave_Clicked(object sender, EventArgs e) { bool decision = await DisplayAlert("Update user credentials", "Are you sure you want to update your user credentials?", "Yes", "No"); if (decision == true) { await PopupNavigation.Instance.PushAsync(new BusyPopUp()); try { await ReaderWriter.UpdatePerson(Username.Text, Email.Text, user.friends, user.movies); } finally { await PopupNavigation.Instance.PopAsync(); } } else { //nič }; }
private void Testing(Graph.Graph.GraphRepresentationEnum graphEnum, PathEnum pathEnum) { try { List <string> fileList = new List <string>(); switch (graphEnum) { case Graph.Graph.GraphRepresentationEnum.adjacencyList: fileList = testsGraphAdjacencyListDictionary[pathEnum]; break; case Graph.Graph.GraphRepresentationEnum.adjacencyMatrix: fileList = testsGraphAdjacencyMatrixDictionary[pathEnum]; break; case Graph.Graph.GraphRepresentationEnum.edgeList: fileList = testsGraphEdgeListDictionary[pathEnum]; break; default: throw new MyException.TestsException.TestsMissingTestException(graphEnum.ToString()); } foreach (string file in fileList) { reader = new ReaderGraph(ReaderWriter.CreateTestFile(file), false); Testing(); } } catch (KeyNotFoundException) { throw new MyException.TestsException.TestsMissingTestException(pathEnum.ToString()); } catch (MyException.ReaderWriterException.ReaderWriterException e) { stringBuilder.AppendLine(e.Message); } }
static void Main(string[] args) { ReaderWriter rw = new ReaderWriter(); if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } Student dejan = new Student() { FirstName = "Dejan", LastName = "Jovanov", Age = 27, IsPartTime = false }; Student martin = new Student() { FirstName = "Martin", LastName = "Panovski", Age = 26, IsPartTime = false }; string dejanString = JsonConvert.SerializeObject(dejan); string martinString = JsonConvert.SerializeObject(martin); rw.WriteFile(filePath, dejanString); rw.WriteFile(filePath, martinString); Student dejanObj = JsonConvert.DeserializeObject <Student>(dejanString); Student martinObj = JsonConvert.DeserializeObject <Student>(martinString); Console.WriteLine(rw.ReadFile(filePath)); Console.WriteLine("----------------- Printing deserialized objects ------------------"); PrintData(dejanObj); PrintData(martinObj); Console.ReadLine(); }
private static bool Verify(IList <int> result, string inputFile) { QuickSort.PivotType = PivotType.Middle; var array = ReaderWriter.Read(inputFile); QuickSort.Sort(array, 0, array.Count - 1); QuickSort.PivotType = PivotType.Middle; var flag = true; for (int index = 0; index < result.Count; index++) { //Console.WriteLine($"Index {index}: {result[index]} ({array[index]})"); if (result[index] != array[index]) { flag = false; } } return(flag); }
public void Run() { while (true) { lock (ReaderWriter.LW){ var done = false; while (!done) { lock (ReaderWriter.LR){ if (ReaderWriter.ReadCount == 0) { ReaderWriter.Data = DateTime.Now.ToString(); Console.WriteLine($"Writer wrote {ReaderWriter.Data}"); done = true; } } try{ while (ReaderWriter.ReadCount != 0) { Console.WriteLine("Writer waiting..."); ReaderWriter.WaitLR(); } } catch (ThreadInterruptedException) { Console.WriteLine("ThreadInterruptedException in Writer wait"); } } var rand = new Random(); var secs = rand.Next(1, 5); Console.WriteLine($"Writer sleeping {secs} seconds..."); Thread.Sleep(secs * 1000); } } }
protected override void Run(object data, IConfigurationEventSource eventSource) { ReaderWriter rw = data as ReaderWriter; if (rw != null) { // Read the catalogue. eventSource.Raise(ConfigurationEvent.Information, "Reading from the '" + rw.Reader.RepositoryType + "' repository with initialisation string '" + rw.Reader.InitialisationString + "'."); Catalogue catalogue; using (ConnectionState state = new ConnectionState(eventSource)) { catalogue = rw.Reader.Read(state); } // Write the catalogue. eventSource.Raise(ConfigurationEvent.Information, "Writing to the '" + rw.Writer.RepositoryType + "' repository with initialisation string '" + rw.Writer.InitialisationString + "'."); rw.Writer.Write(catalogue); rw.Writer.Close(); } }
private async void BtnRegister_Clicked(object sender, EventArgs e) { await PopupNavigation.Instance.PushAsync(new BusyPopUp()); try { if (password.Text != retypedPassword.Text) { await DisplayAlert("Error", "Passwords do not match", "OK"); return; } var created = await auth.SignUpWithEmailPassword(Email.Text, password.Text); // Console.WriteLine(created); if (created) { List<string> filmi = new List<string>(); List<string> frendi = new List<string>(); await ReaderWriter.AddPerson(Username.Text, Email.Text, filmi, frendi); //await ReaderWriter.UpdatePerson(Username.Text, Email.Text, filmi, frendi); await DisplayAlert("Success", "Registration successful", "OK"); await Navigation.PushAsync(new LoginPage()); //vrni na login, ko je registracija uspešna //await Navigation.PopAsync(); // Firebase } else { await DisplayAlert("Failed", "Registration unsuccessful, check the credentials", "OK"); } } finally { await PopupNavigation.Instance.PopAsync(); } }
async void DislikeBtn(object sender, EventArgs args) { var user = await ReaderWriter.GetPerson(email); try { ++counter; if (MoviesQueue.Count == 0) { await PopupNavigation.Instance.PushAsync(new BusyPopUp()); try { if (likecounter == 0) { await DisplayAlert("Thats awkward", "You didn't like any movies, well time to start over with fresh movies.", "OK"); if (restart == null) { restart = new GenreAssignmentPage(user.email); } App.Current.MainPage = new NavigationPage(restart); } else if (likecounter < 10) { bool decision = await DisplayAlert("Thats awkward", "You only liked less than 10 movies would you like to start over?", "Yes", "No"); if (decision == true) { if (restart == null) { restart = new GenreAssignmentPage(user.email); } App.Current.MainPage = new NavigationPage(restart); } else { await ReaderWriter.UpdatePerson(user.username, user.email, user.friends, movieList); await Navigation.PushAsync(new GridPage(user.email)); return; } } else { await ReaderWriter.UpdatePerson(user.username, user.email, user.friends, movieList); await Navigation.PushAsync(new GridPage(user.email)); return; } } finally { await PopupNavigation.Instance.PopAsync(); } } ChangeElements(); } catch (Exception e) { await DisplayAlert("Error", "There has been an unexpected error. Please try again!", "OK"); } }
public void AddRecord() { Console.WriteLine("Введите ФИО работника\n"); Worker worker = new Worker(); Regex fio = new Regex(@"^\w+\s\w+\s\w+$"); while (true) { string result = Console.ReadLine(); if (fio.IsMatch(result)) { worker.FIO = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите табельный номер сотрудника (10 цифр)"); Regex num = new Regex(@"^[0-9]{10}$"); while (true) { string result = Console.ReadLine(); if (num.IsMatch(result)) { if (!ReaderWriter.IsExistNumber(result)) { worker.TabNumber = result; break; } Console.WriteLine("Данный табельный номер существует!"); } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Выберите должность из списка:" + "\n1 - Управляющий" + "\n2 - Директор" + "\n3 - Менеджер" + "\n4 - Представитель" + "\n5 - Секретарь" + "\n6 - Работник 1 класса" + "\n7 - Работник 2 класса" + "\n8 - Начальник отдела" + "\n9 - Руководитель персонала"); while (true) { bool needBreak = false; string result = Console.ReadKey(true).KeyChar.ToString(); switch (result) { case "1": worker.Position = "Управляющий"; needBreak = true; break; case "2": worker.Position = "Директор"; needBreak = true; break; case "3": worker.Position = "Менеджер"; needBreak = true; break; case "4": worker.Position = "Представитель"; needBreak = true; break; case "5": worker.Position = "Секретарь"; needBreak = true; break; case "6": worker.Position = "Работник 1 класса"; needBreak = true; break; case "7": worker.Position = "Работник 2 класса"; needBreak = true; break; case "8": worker.Position = "Начальник отдела"; needBreak = true; break; case "9": worker.Position = "Руководитель персонала"; needBreak = true; break; default: Console.WriteLine("Нет такого варианта!"); break; } if (needBreak) { break; } } Console.WriteLine("Введите номер телефона сотрудника без 8"); Regex phone = new Regex(@"^[0-9]{10}$"); while (true) { string result = Console.ReadLine(); if (phone.IsMatch(result)) { worker.PhoneNumber = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите адрес проживания сотрудника" + "\nАдрес вводить в формате Город, улица, дом, квартира"); while (true) { string result = Console.ReadLine(); if (!String.IsNullOrWhiteSpace(result)) { worker.Address = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите дату начала работы сотрудника в формате дд.мм.гггг"); Regex date = new Regex(@"^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}$"); while (true) { string result = Console.ReadLine(); if (date.IsMatch(result)) { DateTime res; if (DateTime.TryParse(result, out res)) { worker.StartWorkDate = result; break; } } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите стаж (полных лет)"); Regex exp = new Regex(@"^[0-9]{1,2}"); while (true) { string result = Console.ReadLine(); if (exp.IsMatch(result)) { worker.Experience = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите образование" + "\n1 - Cреднее" + "\n2 - Cреднее - профессиональное" + "\n3 - Высшее"); while (true) { bool needBreak = false; string result = Console.ReadKey(true).KeyChar.ToString(); switch (result) { case "1": needBreak = true; worker.Education = "Cреднее"; break; case "2": needBreak = true; worker.Education = "Cреднее - профессиональное"; break; case "3": needBreak = true; worker.Education = "Высшее"; break; default: Console.WriteLine("Данные введены не верно!"); break; } if (needBreak) { break; } } ReaderWriter.WriteWorker(worker); Console.WriteLine("\nЗапись успешно добавлена!\n\n"); }
public void DeleteRecords() { System.IO.File.Delete("ins.txt"); ReaderWriter.InitTextFiles(); }
public void ShowRecords() { ReaderWriter.ReadWorkers(); }
private void _ClientHandlerStage3(RequestCode RQ, ReaderWriter RW, ref BooruUser User) { switch (RQ) { default: throw new NotSupportedException("Unknown request code"); case RequestCode.Get_Post: { ulong id = RW.ReadULong(); using (var post = _Booru.GetPost(User, id, false)) post.ToWriter(RW); } break; case RequestCode.Get_Thumb: { ulong id = RW.ReadULong(); using (var thumb = _Booru.GetThumbnail(User, id)) thumb.ToWriter(RW); } break; case RequestCode.Get_Image: { ulong id = RW.ReadULong(); using (var image = _Booru.GetImage(User, id)) image.ToWriter(RW); } break; case RequestCode.Get_Tag: { ulong id = RW.ReadULong(); _Booru.GetTag(User, id).ToWriter(RW); } break; case RequestCode.Get_Info: _Booru.BooruInfo.ToWriter(RW); break; case RequestCode.Get_AllTags: { List <string> tags = _Booru.GetAllTags(); RW.Write((uint)tags.Count); foreach (string tag in tags) { RW.Write(tag, true); } } break; case RequestCode.Get_PostTags: { ulong id = RW.ReadULong(); using (var post = _Booru.GetPost(User, id, false)) post.Tags.ToWriter(RW); } break; case RequestCode.Get_User: User.ToWriter(RW); break; case RequestCode.Get_PostCount: RW.Write(_Booru.GetPostCount()); break; case RequestCode.Search_String: //User limitations? { string pattern = RW.ReadString(); List <ulong> ids = _Booru.Search(User, pattern); RW.Write((uint)ids.Count); foreach (ulong id in ids) { RW.Write(id); } } break; case RequestCode.Search_Image: throw new NotImplementedException(); //TODO Implement case RequestCode.Login: { string username = RW.ReadString(); string password = RW.ReadString(); User = _Booru.Login(User, username, password); } break; case RequestCode.Logout: User = _Booru.DefaultUser; break; case RequestCode.Search_Tags: { string term = RW.ReadString(); byte limit = RW.ReadByte(); _Booru.SearchTags(term, limit).ToWriter(RW); } break; case RequestCode.Start_GC: if (!User.IsAdmin) { throw new BooruException(BooruException.ErrorCodes.NoPermission); } else { GC.Collect(); } break; case RequestCode.Add_Post: using (var post = BooruPost.FromReader(RW)) { post.Tags = BooruTagList.FromReader(RW); post.Image = BooruImage.FromReader(RW); ulong id = _Booru.AddPost(User, post); RW.Write(id); if (_MN != null) { using (var thumb = _Booru.GetThumbnail(null, id)) _MN.NotificatePostAdded(id, post, thumb); } } break; case RequestCode.Edit_Post: { using (var post = BooruPost.FromReader(RW)) { post.Tags = BooruTagList.FromReader(RW); _Booru.EditPost(User, post); } } break; case RequestCode.Edit_Image: { ulong id = RW.ReadULong(); using (var image = BooruImage.FromReader(RW)) _Booru.EditImage(User, id, image); } break; case RequestCode.Delete_Post: { ulong id = RW.ReadULong(); _Booru.DeletePost(User, id); } break; } }
public static void Main() { ReaderWriter rwlock = new ReaderWriter(); for(int i = 0; i<5; i++) { client w = new client(i,rwlock); } Console.ReadLine(); }
public void ShowRecords() { //Console.WriteLine("Добавление новых должностей заблокировано!"); ReaderWriter.ReadPosition(); }
public abstract void ToWriter(ReaderWriter Writer);
private static void MultiThreadedVol2(string[] args) { MPI.Environment.Run(ref args, communicator => { //Initialize var inputFile = args[0]; var outputFile = args[1]; var sorter = new QSorter(communicator); var isManager = communicator.Rank == 0; int[] result = null; //Send array parts to workers if (isManager) { var array = ReaderWriter.Read(inputFile); var qsArray = new QSArray(array); sorter.InitializeWithData(qsArray); } else { sorter.InitializeWithData(null); } //Parallel QSort using (var performanceCounter = new PerformanceCounter($"Execution time [{communicator.Rank}]: ")) { while (true) { if (sorter.LastInGroup) { sorter.Sort(); break; } sorter.PivotBroadcast(); sorter.PartitionAndPartsExchange(); sorter.GroupHalfToSubGroup(); } sorter.SendWorkResult(); //Collect all parts together if (isManager) { result = sorter.MergeDataFromWorkers(); } } //Write to output file if (isManager) { var list = result.ToList(); ReaderWriter.Write(outputFile, list); //Console.WriteLine($"Verified: {Verify(list, inputFile)}"); } }); }
private void Testing(PathEnum pathEnum) { try { Graph.IGraphInterface graph; GraphColoringAlgorithm.SequenceAlgorithm.RandomSequence.RandomSequence randomSequence; GraphColoringAlgorithm.SequenceAlgorithm.LargestFirstSequence.LargestFirstSequence largestFirstSequence; testPath = ReaderWriter.CreateTestFile(testsDictionary[pathEnum]); reader = new ReaderGraph(testPath, false); writer = new WriterGraph(testPath, false); stringBuilder.AppendLine(pathEnum.ToString()); try { switch (pathEnum) { case PathEnum.write: graph = reader.ReadFile(); randomSequence = new GraphColoringAlgorithm.SequenceAlgorithm.RandomSequence.RandomSequence(graph); randomSequence.Color(); writer.WriteFileColor(graph, GraphColoringAlgorithm.GraphColoringAlgorithm.GraphColoringAlgorithmEnum.randomSequence, false); reader.ReadFile(); stringBuilder.AppendLine("OK"); break; case PathEnum.recordExists: graph = reader.ReadFile(); largestFirstSequence = new GraphColoringAlgorithm.SequenceAlgorithm.LargestFirstSequence.LargestFirstSequence(graph); largestFirstSequence.Color(); if (!writer.WriteFileColor(graph, GraphColoringAlgorithm.GraphColoringAlgorithm.GraphColoringAlgorithmEnum.largestFirstSequence, false)) { stringBuilder.AppendLine("OK"); } else { stringBuilder.AppendLine("NOK"); } reader.ReadFile(); break; case PathEnum.first: graph = reader.ReadFile(); randomSequence = new GraphColoringAlgorithm.SequenceAlgorithm.RandomSequence.RandomSequence(graph); randomSequence.Color(); writer.WriteFileColor(graph, GraphColoringAlgorithm.GraphColoringAlgorithm.GraphColoringAlgorithmEnum.randomSequence, false); reader.ReadFile(); stringBuilder.AppendLine("OK"); break; default: stringBuilder.AppendLine("This pathEnum isn't implemented!"); break; } } catch (MyException.ReaderWriterException.ReaderWriterException e) { stringBuilder.AppendLine(e.Message); } catch (MyException.GraphException.GraphException e) { stringBuilder.AppendLine(e.Message); } } catch (KeyNotFoundException) { throw new MyException.TestsException.TestsMissingTestException(pathEnum.ToString()); } catch (MyException.ReaderWriterException.ReaderWriterException e) { stringBuilder.AppendLine(e.Message); } }
void Start() { if (GameGlobals.GlobalInstance != null) { GameGlobals temp = GameGlobals.GlobalInstance; isTextActive = temp.isTextActive; TimeOnScreen = temp.TimeOnScreen; NotesRange = temp.NotesRange; BPM = temp.BPM; TransitionGracePeriod = temp.TransitionGracePeriod; SustainedGracePeriod = temp.SustainedGracePeriod; LeniencyRange = temp.LeniencyRange; SongMode = temp.SongMode; filename = temp.selectedSong; speedMult = temp.speedMult; scrollingInterpolation = temp.scrollingInterpolation; MaxTimeBetweenRests = temp.MaxTimeBetweenRests; WritingOn = temp.WritingOn; bassClefMode = temp.bassClefMode; infiniteNoteDensity = temp.NoteDensity; plrRed = temp.plrRed; plrGrn = temp.plrGrn; plrBlu = temp.plrBlu; volumeThreshold = temp.volumeThreshold; } pt = GameObject.Find("Pitch Tester").GetComponent <PitchTester>(); pt.volThreshold = volumeThreshold; audioPlayer = GetComponent <AudioCuePlayer>(); background = GameObject.Find("Background"); FillNotesAllowed(); fg = new FrequencyGuide(); deathParticle = GameObject.Instantiate(deathParticlePrefab).GetComponent <ParticleSystem>(); if (infiniteNoteDensity <= 1) { minNoteDuration = 2; maxNoteDuration = 4; } else if (infiniteNoteDensity == 2) { minNoteDuration = 1; maxNoteDuration = 3; } else if (infiniteNoteDensity == 3) { minNoteDuration = 1 / 8; maxNoteDuration = 2; } // If we're in Song mode, read in file information if (SongMode) { ReaderWriter.ReadSong(ref Song, filename, ref BPM, ref bassClefMode); } // Initialize tables if (bassClefMode) { BassClefTransformation(); } fillGapsInPosColorLookup(); fillNoteColorLookup(); // Calculate conversion factors float screenWidthInWorldUnits = Camera.main.ScreenToWorldPoint(new Vector3(Camera.main.pixelWidth, 0, 10)).x - Camera.main.ScreenToWorldPoint(new Vector3(0, 0, 10)).x; worldUnitsPerSec = screenWidthInWorldUnits / TimeOnScreen; worldUnitsPerBeat = worldUnitsPerSec * 60 / BPM; spawnPosOffset = screenWidthInWorldUnits; // Add terminating rest to song mode if (SongMode) { for (int i = 1; i < Song.Count; i++) { if (Song[i].name == "REST") { Song[i].yOffset = Song[i - 1].yOffset; } else { Song[i].yOffset = notePosLookup[Song[i].name]; } } Song.Add(new Note("REST", screenWidthInWorldUnits)); Song[Song.Count - 1].yOffset = Song[Song.Count - 2].yOffset; } Player.GetComponent <SpriteRenderer>().color = new Color(plrRed, plrGrn, plrBlu, 1f); Bud.SetParticleBPM(BPM); if (warmupMode) { StartWarmup(); } else { StartLevel(); } }
public Synchronizer(SuperMonoBehaviour superMonoBehaviour, IModelInteraction <T> model, ReaderWriter <T> readerWriter) : base(superMonoBehaviour) { this.model = model ?? throw new ArgumentNullException(nameof(model)); this.readerWriter = readerWriter ?? throw new ArgumentNullException(nameof(readerWriter)); ChooseDataInfo = superMonoBehaviour.CreateCoroutineContainer(); }
public FolderManager() { readerWriter = new ReaderWriter(); }
public void AddRecord() { Console.WriteLine("Введите название работы\n"); Job job = new Job(); while (true) { string result = Console.ReadLine(); if (!String.IsNullOrWhiteSpace(result)) { job.Name = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите трудоемкость в часах"); Regex labour = new Regex(@"^[0-9]+$"); while (true) { string result = Console.ReadLine(); if (labour.IsMatch(result)) { job.Labour = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите дату начала в формате дд.мм.гггг"); Regex date = new Regex(@"^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}$"); while (true) { string result = Console.ReadLine(); if (date.IsMatch(result)) { job.StartDate = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите дату завершения в формате дд.мм.гггг" + "\nЕсли работа еще выполняется, введите 0"); while (true) { string result = Console.ReadLine(); if (result == "0") { job.EndDate = "В процессе выполнения"; break; } if (date.IsMatch(result)) { DateTime res; if (DateTime.TryParse(result, out res)) { job.EndDate = result; break;; } } else { Console.WriteLine("Данные введены не верно\n"); } } ReaderWriter.WriteJob(job); Console.WriteLine("Запись успешно добавлена!\n\n"); }
public void ShowRecords() { ReaderWriter.ReadJobs(); }
// Start is called before the first frame update private void Awake() { rw = GetComponent <ReaderWriter>(); xml = rw.ReadString("simulation.conf"); File.Delete("simulation.conf"); xml = GameObject.FindWithTag("God").GetComponent <EncryptorScript>().DesEncriptar(xml); File.WriteAllText(@"prueba.text", xml); //salida de texto a un archivo prueba.text sin codificar, para comprobación de salida, borrar en un futuro ReadXML(xml); Debug.Log(xml); //Simulacion //Bebe switch (Tipo) { case ("1"): case ("2"): case ("3"): case ("4"): case ("5"): case ("6"): case ("7"): Debug.Log("Cabeza"); Cabeza.SetActive(true); //MeshCabeza.SetActive(true); //MeshFontanelas.SetActive(true); Nalgas.SetActive(false); Espalda.SetActive(false); break; case ("8"): Debug.Log("Nalgas"); Cabeza.SetActive(false); //MeshCabeza.SetActive(false); //MeshFontanelas.SetActive(false); Nalgas.SetActive(true); Espalda.SetActive(false); break; case ("9"): Debug.Log("Espalda"); Cabeza.SetActive(false); //MeshCabeza.SetActive(false); //MeshFontanelas.SetActive(false); Nalgas.SetActive(false); Espalda.SetActive(true); break; default: Debug.LogError("No se ha generado la cabeza"); break; } switch (Tipo) { //seleccionar modelo bebe case ("1"): Debug.Log("cabeza 1"); x = 0; //Cabeza.transform.localRotation = Quaternion.Euler(-90f, Cabeza.transform.localRotation.y, Cabeza.transform.localRotation.z); break; case ("2"): x = 10f; //Cabeza.transform.rotation = Quaternion.Euler(-110f, Cabeza.transform.rotation.y, Cabeza.transform.rotation.z); Debug.Log("cabeza 2"); break; case ("3"): x = 20f; //Cabeza.transform.rotation = Quaternion.Euler(-120f, Cabeza.transform.rotation.y, Cabeza.transform.rotation.z); Debug.Log("cabeza 3"); break; case ("4"): x = 40f; //Cabeza.transform.rotation = Quaternion.Euler(-130f, Cabeza.transform.rotation.y, Cabeza.transform.rotation.z); Debug.Log("cabeza 4"); break; case ("5"): x = 50f; //Cabeza.transform.rotation = Quaternion.Euler(-140f, Cabeza.transform.rotation.y, Cabeza.transform.rotation.z); Debug.Log("cabeza 5"); break; case ("6"): x = 60f; //Cabeza.transform.rotation = Quaternion.Euler(-150f, Cabeza.transform.rotation.y, Cabeza.transform.rotation.z); Debug.Log("cabeza 6"); break; case ("7"): //oreja Cabeza.transform.rotation = Quaternion.Euler(Cabeza.transform.rotation.x, -90, Cabeza.transform.rotation.z); Debug.Log("oreja"); break; } //seleccionar modelo bebe switch (Orientacion) { case "DA": Debug.Log("DA"); z = 180f; //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, 180); break; case "DIA": Debug.Log("DIA"); z = 135f; //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, 135); break; case "DITDerecha": Debug.Log("DITDerecha"); z = 90f; //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, 90); break; case "DIP": z = 45f; Debug.Log("DIP"); //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, 45); break; case "DP": Debug.Log("DP"); z = 0f; //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, 0); break; case "DDP": Debug.Log("DDP"); z = -45f; //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, -45); break; case "DITIzquierda": Debug.Log("DITIzquierda"); z = -90f; //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, -90); break; case "DDA": Debug.Log("DDA"); z = -135f; //Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, -135); break; default: Debug.Log("No he encontrado nada, tengo la orgientación: " + Orientacion); break; } Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x + x, Cabeza.transform.localRotation.y, Cabeza.transform.localRotation.z); Cabeza.transform.localRotation = Quaternion.Euler(Cabeza.transform.localRotation.x, Cabeza.transform.localRotation.y, Cabeza.transform.localRotation.z + z); //Madre switch (Dilatacion) { // if (dilatacion.value == 0) // monitor.Dilatacion = "0"; //else if (dilatacion.value == 1) // monitor.Dilatacion = "1-2"; //else if (dilatacion.value == 2) // monitor.Dilatacion = "3-4"; //else // monitor.Dilatacion = "+5"; case "0": Debug.Log("0"); Donut0.SetActive(true); Donut.SetActive(false); //Donut.transform.localScale = new Vector3(1f, Donut.transform.localScale.y, 1f); break; case "1-2": Debug.Log("1-2"); Donut0.SetActive(false); Donut.SetActive(true); Donut.transform.localScale = new Vector3(60f, Donut.transform.localScale.y, 60f); break; case "3-4": Donut0.SetActive(false); Donut.SetActive(true); Debug.Log("3-4"); Donut.transform.localScale = new Vector3(140f, Donut.transform.localScale.y, 140f); break; case "5": Donut0.SetActive(false); Donut.SetActive(true); Debug.Log("5"); Donut.transform.localScale = new Vector3(200f, Donut.transform.localScale.y, 200f); break; //Modificar tamaño donut //case "1": // Donut.transform.localScale = new Vector3(0.04f, transform.localScale.y, 0.04f); // break; //case "2": // Donut.transform.localScale = new Vector3(0.08f, transform.localScale.y, 0.08f); // break; //case "3": // Donut.transform.localScale = new Vector3(0.12f, transform.localScale.y, 0.12f); // break; //case "4": // Donut.transform.localScale = new Vector3(0.16f, transform.localScale.y, 0.16f); // break; //case "5": // Donut.transform.localScale = new Vector3(0.2f, transform.localScale.y, 0.2f); // break; //case "6": // Donut.transform.localScale = new Vector3(0.28f, transform.localScale.y, 0.28f); // break; //case "7": // Donut.transform.localScale = new Vector3(0.28f, transform.localScale.y, 0.28f); // break; //case "8": // Donut.transform.localScale = new Vector3(0.32f, transform.localScale.y, 0.32f); // break; //case "9": // Donut.transform.localScale = new Vector3(0.36f, transform.localScale.y, 0.36f); // break; //case "10": // Donut.transform.localScale = new Vector3(0.4f, transform.localScale.y, 0.4f); // break; } switch (Borramiento) { case "30": Debug.Log("Borramiento 30"); Donut.transform.localScale = new Vector3(Donut.transform.localScale.x, 60.8f, Donut.transform.localScale.z); break; case "40-50": Debug.Log("Borramiento 40-50"); Donut.transform.localScale = new Vector3(Donut.transform.localScale.x, 49.4f, Donut.transform.localScale.z); break; case "60-70": Debug.Log("Borramiento 60-70"); Donut.transform.localScale = new Vector3(Donut.transform.localScale.x, 41.8f, Donut.transform.localScale.z); break; case "80": Debug.Log("Borramiento 80"); Donut.transform.localScale = new Vector3(Donut.transform.localScale.x, 22.8f, Donut.transform.localScale.z); break; } switch (Consistencia) { //Modificar consistencia case "Firme": Debug.Log("Firme"); consistencia = 0.7; break; case "Media": Debug.Log("Consistencia Media"); consistencia = 0.2; break; case "Blanda": Debug.Log("Blanda"); consistencia = 0.05; break; } switch (Posicion) { //Seleccionar mesh utero case "Posterior": Debug.Log("Posterior"); //colocar donut 0.25 -0.65 8.8 //colocar cabeza .25 -.225 9.414 //MeshPosterior.SetActive(true); //MeshMedio.SetActive(false); //MeshAnterior.SetActive(false); Donut.transform.localPosition = new Vector3(0.2399997f, -1, 10); Donut.transform.rotation = Quaternion.Euler(-48, -180, 0); break; case "Media": Debug.Log("Posicion Media"); //Cabeza.transform.position = new Vector3(0.24f, -0.73f, 9.55f); //Cabeza.transform.rotation = Quaternion.Euler(-67.6f, -180, 70); //colocar donut 0.25 -1.04 8.65 //Donut.transform.position = new Vector3(0.23f, 1.9f, 12); //Donut.transform.rotation = Quaternion.Euler(-80, -180, 0); ////colocar cabeza //MeshPosterior.SetActive(false); //MeshMedio.SetActive(true); //MeshAnterior.SetActive(false); Donut.transform.localPosition = new Vector3(0.2399997f, -1, 9.5f); Donut.transform.rotation = Quaternion.Euler(-51.7f, 180, 0); break; case "Anterior": Debug.Log("Anterior"); //colocar donut 0.25,-0.9, 8.2 //colocar cabeza 0.24 0.015 9.6 //MeshPosterior.SetActive(false); //MeshMedio.SetActive(false); //MeshAnterior.SetActive(true); Donut.transform.localPosition = new Vector3(0.2399997f, -1, 92f); Donut.transform.rotation = Quaternion.Euler(-65, -180, 0); break; } switch (Plano) { //Medidas para plano Medio // SES 0.23, 3.32, 12.31 // I 0.24f, -0.73f, 9.55f // II 0.23 0.56 11.91 // III .23 -0.65 11.31 rotación -94 -180 0 //Seleccionar plano case "SES": Debug.Log("SES"); Cabeza.transform.position = new Vector3(0.019f, 0.1960816f, 1.193f); MeshUtero.SetActive(true); MeshUteroAmpliado.SetActive(false); break; case "I": Debug.Log("I"); Cabeza.transform.position = new Vector3(0.019f, 0.129f, 1.134f); MeshUtero.SetActive(true); MeshUteroAmpliado.SetActive(false); break; case "II": Debug.Log("II"); Cabeza.transform.position = new Vector3(0.019f, 0.064f, 1.132f); MeshUtero.SetActive(true); MeshUteroAmpliado.SetActive(false); break; case "III": Debug.Log("III"); Cabeza.transform.position = new Vector3(0.032f, 0.047f, 1.07f); MeshUtero.SetActive(false); MeshUteroAmpliado.SetActive(true); break; } //Reordeno parentesco CabezaVisual.transform.parent = HapticScaler.transform; MeshCabeza.transform.parent = HapticScaler.transform; MeshFontanelas.transform.parent = HapticScaler.transform; }