/// <summary> /// 日記データを書き込む。 /// データが存在する場合、上書きする。 /// </summary> /// <param name="diary"></param> /// <exception>書き込めない場合、例外発生</exception> public void WriteDiaryData(DiaryData diary) { try { var reader = new DiaryCsvReader(_fileName); var diaries = reader.ReadAllDiaryData() ?? new List <DiaryData>(); var target = diaries?.SingleOrDefault(d => d.Date == diary.Date); if (target != null) { // 上書き target.Text = diary.Text; } else { // 追加 diaries.Add(diary); } WriteAllDiaryData(diaries); } catch (Exception ex) { _logger.Error(ex.ToString()); throw; } }
public void Save(BindingList <DiaryData> diaries) { try { if (_diary == null) { _diary = new DiaryData { Date = this.Date, Text = this.Text }; // insert var temp = diaries.Where(d => d.Date > this.Date).Last(); var index = diaries.IndexOf(temp); diaries.Insert(index + 1, _diary); } else { _diary.Date = Date; _diary.Text = Text; } var writer = new DiaryCsvWriter(_company); writer.WriteDiaryData(_diary); } catch (Exception) { throw; } }
public async Task <DiaryData[]> getAllDiaryData(string email) { Boolean connectionResult = connectToFirebase(); Query allDiariesQuery = db.Collection("UserDiaries").Document(email).Collection("MyDiary"); QuerySnapshot snaps = await allDiariesQuery.GetSnapshotAsync(); int diaryCount = 0; foreach (DocumentSnapshot snap in snaps) { diaryCount++; } DiaryData[] diaries = new DiaryData[diaryCount]; int i = 0; foreach (DocumentSnapshot snap in snaps) { DBDiaryData dBDiaryData = snap.ConvertTo <DBDiaryData>(); diaries[i] = new DiaryData(); diaries[i].date = dBDiaryData.date; diaries[i].title = dBDiaryData.title; diaries[i].fileLink = dBDiaryData.fileLink; i++; } return(diaries); }
public async Task Edit_Entry_Test() { DiaryData diaryData = new DiaryData { Id = "3", Text = "12313", DateTime = "01.01.2021 00:00:00" }; Assert.AreEqual(1, await diaryService.TryEditEntry(diaryData)); }
public async Task Remove_Entry_Test() { DiaryData diaryData = new DiaryData { Id = "2", }; Assert.AreEqual(1, await diaryService.TryRemoveEntry(diaryData)); }
private void LoadDiary() { string filePath = Platform.Instance().GetPersistentDataPath("DiaryData.txt"); //csv /*using (CsvReader csv = new CsvReader(new StreamReader(filePath), false)) * { * while (csv.ReadNextRecord()) * { * for (int i = 0; i < csv.FieldCount; i += 2) * { * if (csv[i] == null) * { * break; * } * * int count = 0; * DiaryData data = new DiaryData(); * data.category = Int32ParseFast(csv[i]); * data.dressCode = Int32ParseFast(csv[i + 1]); * * diaryDatas.Add(data); * } * } * }*/ diaryCollections.Clear(); if (File.Exists(filePath)) { FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read); StreamReader reader = new StreamReader(file); string str = string.Empty; while ((str = reader.ReadLine()) != null) { DiaryDataCollection collection = new DiaryDataCollection(); string[] res = str.Split(','); for (int i = 0; i < res.Length; i += 2) { DiaryData data = new DiaryData(); data.category = Int32ParseFast(res[i]); data.dressCode = Int32ParseFast(res[i + 1]); collection.AddData(data); } diaryCollections.Add(collection); } reader.Close(); file.Close(); } }
public void On(DiaryData data, MainMenu.voidFunc func) { gameObject.SetActive(true); OffNew = func; diaryData = data; switch (diaryData.category) { case Category.irregulars: objectPath = "Monster"; break; case Category.raChips: objectPath = "Card"; break; case Category.records: objectPath = "Record"; break; case Category.humans: objectPath = "Human"; break; case Category.etc: objectPath = "Record"; break; } categoryObject = transform.Find(objectPath); if (SaveManager.GetDiaryUnlockData(diaryData.num)[0] == false) { Debug.Log(diaryData.num); noData.transform.Find("Text").GetComponent<Text>().text = Database.GetAchiveDataByDiary(diaryData.num).info; return; } Debug.Log(diaryData.category); SaveManager.ChangeNewToOld(diaryData.num); noData.SetActive(false); categoryObject.gameObject.SetActive(true); title.text = diaryData.title; content.text = "\n" + diaryData.info; content.rectTransform.sizeDelta = new Vector2(1111.6f, content.preferredHeight); if (categoryObject.Find("Name") != null) categoryObject.Find("Name").GetComponent<Text>().text = diaryData.title; string imagePath; switch (diaryData.category) { case Category.irregulars: imagePath = "Monster"; break; case Category.raChips: imagePath = "Card"; break; case Category.humans: imagePath = "Human"; break; default: imagePath = null; break; } if (imagePath != null) { Image image = categoryObject.Find("Image").GetComponent<Image>(); Sprite spr = Resources.Load<Sprite>("Graphic/Diary/Images/" + imagePath + "/" + diaryData.spritePath + "_thumbnail"); if (spr != null) { image.sprite = spr; } else { image.sprite = Resources.Load<Sprite>("Graphic/Diary/Images/" + "default_thumbnail"); } } bar.value = 0.99f; //if (categoryObject.Find("Image") != null) // categoryObject.Find("Image").GetComponent<Image>().sprite = Resources.Load<Sprite>("Graphic/Diary/Images/" + objectPath + "/" + diaryData.spritePath); }
public void PlotHairline(DiaryData diary) { if (_creator == null) { return; } _creator.PlotHairline(timeSeriesChart, diary); }
public async Task Add_Entry_Test() { string email = "*****@*****.**"; DiaryData diaryData = new DiaryData { Text = "Test from test" }; Assert.AreEqual(1, await diaryService.TryAddEntry(diaryData, email)); }
public void PlotHairline(MSChart.Chart chart, DiaryData diary) { //chart.ChartAreas[0].CursorX.IsUserEnabled = true; // ↓CursorPositonChangedが発生するようになる //chart.ChartAreas[0].CursorX.IsUserSelectionEnabled = true; //chart.ChartAreas[0].CursorX.Position = diary.Date.ToOADate(); chart.ChartAreas[0].CursorX.SetCursorPosition(diary.Date.ToOADate()); //chart.ChartAreas[0].CursorX.Interval = 1E-3; }
public void Display(DiaryData diaryData) { this._titleTextField.text = diaryData._Title; this._textTextField.text = diaryData._Text; if (Random.value <= 1f) { this._playbackEngine.Play(); } }
public async Task Get_Entries_Test() { string email = "*****@*****.**"; DiaryData diaryData = new DiaryData { DateTime = "01.01.2021 00:00:00" }; List <DiaryData> test = await diaryService.TryGetEntries(diaryData, email); Assert.AreNotEqual(0, test.Count); }
public DiaryEditViewModel(Company company, DiaryData diary) { _company = company; _diary = diary; if (diary == null) { DateEnabled = true; return; } Date = diary.Date; DateEnabled = false; Text = diary.Text; }
public void SetEntity(DiaryData data) { diaryData = data; _name.text = diaryData.title; if (SaveManager.GetDiaryUnlockData(diaryData.num)[0] == false) { return; } _lock.SetActive(false); image.SetActive(true); if (SaveManager.GetDiaryUnlockData(diaryData.num)[1] == true) { OnNewIcon(); } else { OffNewIcon(); } string imagePath; switch (diaryData.category) { case Category.irregulars: imagePath = "Monster"; break; case Category.raChips: imagePath = "Card"; break; case Category.humans: imagePath = "Human"; break; default: imagePath = null; break; } if (imagePath != null) { Debug.Log("Graphic/Diary/Images/" + imagePath + "/" + diaryData.spritePath + "_list"); Sprite spr = Resources.Load <Sprite>("Graphic/Diary/Images/" + imagePath + "/" + diaryData.spritePath + "_list"); Debug.Log(diaryData.spritePath.Length); if (spr != null) { image.GetComponent <Image>().sprite = spr; } else { image.SetActive(false); //image.GetComponent<Image>().sprite = Resources.Load<Sprite>("Graphic/Diary/Images/" + "default_list"); } } }
/// <summary> /// 日記データを削除する。 /// </summary> /// <param name="diary"></param> /// <exception>指定したデータがない場合、例外発生</exception> public void DeleteDiaryData(DiaryData diary) { try { var reader = new DiaryCsvReader(_fileName); var diaries = reader.ReadAllDiaryData(); var target = diaries.Single(d => d.Date == diary.Date); // 削除 diaries.Remove(target); WriteAllDiaryData(diaries); } catch (Exception ex) { _logger.Error(ex.ToString()); throw; } }
public async Task EditEntry([FromBody] DiaryData data) { await _service.TryEditEntry(data); }
public async Task AddEntry([FromBody] DiaryData data) { await _service.TryAddEntry(data, User.Identity.Name); }
public ActionResult EnterDiaryData(DiaryDataViewClass model) { // 20170214 Pandita // This function is used to log new data as well as update already logged entry; however, it basically just added a new entry no matter whether it's the first log or just update //Database lookup of the last 5 days // 20170216 Pandita: diary data was logged in UTC time, change to local time! // DateTime dateNow = DateTime.Now; DateTime baseTime = DateTime.UtcNow; baseTime = DateTime.SpecifyKind(baseTime, DateTimeKind.Unspecified); TimeSpan offset = TimeZoneInfo.FindSystemTimeZoneById("E. Australia Standard Time").GetUtcOffset(baseTime); // offset value is between -14.0 (towards easthemisphere) ~ 14.0 (towards westhemisphere) DateTimeOffset sourceTime = new DateTimeOffset(baseTime, -offset); DateTime dateNow = sourceTime.LocalDateTime; bool update = false; // 20170217 Pandita: fix the double entry problem /* * IEnumerable <DiaryData> lastSynced = from table in Db.DiaryDatas * where table.AspNetUserId.Equals(System.Web.HttpContext.Current.User.Identity.GetUserId()) && table.DateStamp == DateTime.UtcNow.Date * orderby table.DateStamp * select table; */ // 20171023 Pandita: Refactoring from LINQ-to-SQL to EF //IEnumerable<DiaryData> lastSynced = from table in Db.DiaryData // where table.AspNetUserId.Equals(CurrentUserId) && table.DateStamp.Date == dateNow.Date // orderby table.DateStamp // select table; var CurrentUserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); IEnumerable <DiaryData> lastSynced = from table in Db.DiaryData where table.AspNetUserId.Equals(CurrentUserId) && System.Data.Entity.DbFunctions.TruncateTime(table.DateStamp) == dateNow.Date orderby table.DateStamp select table; /* * if (lastSynced.Count() != 0) * { * foreach (DiaryData query in lastSynced) * { * { * Db.DiaryData.Attach(query); * Db.Entry(lastSynced).State = EntityState.Modified; * Db.SaveChanges(); * update = true; * } * } * } * else * { * if (!update) * { * model.DiaryData.DateStamp = dateNow; * model.DiaryData.AspNetUserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); * //Db.DiaryData.InsertOnSubmit(model.DiaryData); * Db.DiaryData.Add(model.DiaryData); * System.Diagnostics.Debug.WriteLine("update=", update); * Db.SaveChanges(); * * } * }*/ //checking for a previous entry from the same day foreach (DiaryData query in lastSynced) { // 26 questions, update = true; // 20170214 Pandita: the date stamp of diary data is the day when the data was logged. // In Melbourne study, participants logged data before going to bed; that's why the datestamp of Fitbit data got minus 1 day to keep consistent with the datestamp of diary data. // In QUT study, participants will log the data after getting up, no need to adjust the datestamp of Fitbit data. query.DateStamp = dateNow; query.pss1 = model.DiaryData.pss1; query.pss2 = model.DiaryData.pss2; query.pss3 = model.DiaryData.pss3; query.pss4 = model.DiaryData.pss4; query.pss5 = model.DiaryData.pss5; query.pss6 = model.DiaryData.pss6; query.pss7 = model.DiaryData.pss7; query.pss8 = model.DiaryData.pss8; query.pss9 = model.DiaryData.pss9; query.pss10 = model.DiaryData.pss10; query.WakeUpFreshness = model.DiaryData.WakeUpFreshness; query.Mood = model.DiaryData.Mood; query.Stress = model.DiaryData.Stress; query.Tiredness = model.DiaryData.Tiredness; query.Dream = model.DiaryData.Dream; query.BodyTemp = model.DiaryData.BodyTemp; // not appear query.Hormone = model.DiaryData.Hormone; // not appear query.SchoolStress = model.DiaryData.SchoolStress; query.CoffeeAmt = model.DiaryData.CoffeeAmt; query.CoffeeTime = model.DiaryData.CoffeeTime; query.AlcoholAmt = model.DiaryData.AlcoholAmt; query.AlcoholTime = model.DiaryData.AlcoholTime; query.NapTime = model.DiaryData.NapTime; query.NapDuration = model.DiaryData.NapDuration; query.DigDeviceDuration = model.DiaryData.DigDeviceDuration; query.GamesDuration = model.DiaryData.GamesDuration; // 20170214 Pandita: Added time spent with family and friend before bed; added time spent on social media before bed. query.SocialFamily = model.DiaryData.SocialFamily; query.SocialFriend = model.DiaryData.SocialFriend; query.SocialMedia = model.DiaryData.SocialMedia; query.MusicDuration = model.DiaryData.MusicDuration; query.TVDuration = model.DiaryData.TVDuration; query.WorkTime = model.DiaryData.WorkTime; query.WorkDuration = model.DiaryData.WorkDuration; query.ExerciseDuration = model.DiaryData.ExerciseDuration; query.ExerciseIntensity = model.DiaryData.ExerciseIntensity; query.DinnerTime = model.DiaryData.DinnerTime; query.SnackTime = model.DiaryData.SnackTime; //Db.DiaryDatas.DeleteOnSubmit(query); //Db.SubmitChanges(); Db.DiaryData.Attach(query); Db.Entry(query).State = EntityState.Modified; //Db.SaveChanges(); } if (!update) { DiaryData newlog = new DiaryData(); newlog.DateStamp = dateNow; newlog.AspNetUserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); newlog.pss1 = model.DiaryData.pss1; newlog.pss2 = model.DiaryData.pss2; newlog.pss3 = model.DiaryData.pss3; newlog.pss4 = model.DiaryData.pss4; newlog.pss5 = model.DiaryData.pss5; newlog.pss6 = model.DiaryData.pss6; newlog.pss7 = model.DiaryData.pss7; newlog.pss8 = model.DiaryData.pss8; newlog.pss9 = model.DiaryData.pss9; newlog.pss10 = model.DiaryData.pss10; newlog.WakeUpFreshness = model.DiaryData.WakeUpFreshness; newlog.Mood = model.DiaryData.Mood; newlog.Stress = model.DiaryData.Stress; newlog.Tiredness = model.DiaryData.Tiredness; newlog.Dream = model.DiaryData.Dream; newlog.BodyTemp = model.DiaryData.BodyTemp; // not appear newlog.Hormone = model.DiaryData.Hormone; // not appear newlog.SchoolStress = model.DiaryData.SchoolStress; newlog.CoffeeAmt = model.DiaryData.CoffeeAmt; newlog.CoffeeTime = model.DiaryData.CoffeeTime; newlog.AlcoholAmt = model.DiaryData.AlcoholAmt; newlog.AlcoholTime = model.DiaryData.AlcoholTime; newlog.NapTime = model.DiaryData.NapTime; newlog.NapDuration = model.DiaryData.NapDuration; newlog.DigDeviceDuration = model.DiaryData.DigDeviceDuration; newlog.GamesDuration = model.DiaryData.GamesDuration; newlog.SocialFamily = model.DiaryData.SocialFamily; newlog.SocialFriend = model.DiaryData.SocialFriend; newlog.SocialMedia = model.DiaryData.SocialMedia; newlog.MusicDuration = model.DiaryData.MusicDuration; newlog.TVDuration = model.DiaryData.TVDuration; newlog.WorkTime = model.DiaryData.WorkTime; newlog.WorkDuration = model.DiaryData.WorkDuration; newlog.ExerciseDuration = model.DiaryData.ExerciseDuration; newlog.ExerciseIntensity = model.DiaryData.ExerciseIntensity; newlog.DinnerTime = model.DiaryData.DinnerTime; newlog.SnackTime = model.DiaryData.SnackTime; Db.DiaryData.Add(newlog); /* * model.DiaryData.DateStamp = dateNow; * model.DiaryData.AspNetUserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); * //Db.DiaryData.InsertOnSubmit(model.DiaryData); * Db.DiaryData.Add(model.DiaryData); * //System.Diagnostics.Debug.WriteLine("update=", update); * // 20171024 Pandita: Why got error when using Db.SaveChanges() here? * // Does that mean Db.SaveChangs() can only be called to wrap up at the very end? * //Db.SaveChanges(); */ } //Commiting to database // 20171022 Pandita: unify with EF //Db.SubmitChanges(); Db.SaveChanges(); //redirection to homepage TempData["notice"] = "Successfully Saved"; return(RedirectToAction("Index", "Home")); }
public async Task RemoveEntry([FromBody] DiaryData data) { await _service.TryRemoveEntry(data); }
public void Delete(DiaryData diary) { // 削除 _writer.DeleteDiaryData(diary); Diaries.Remove(diary); }
public void GetBookingsAndCloseOutsValidBusinessReturnsTwoBookingsAndTwoCloseouts() { // Arrange // Parameters for the invoke var startDate = new DateTime(2012, 1, 27, 0, 0, 0, DateTimeKind.Utc); var endDate = new DateTime(2012, 2, 28, 0, 0, 0, DateTimeKind.Utc); const long BUSINESS_ID = 1; var diaryDataRetrievalMgr = MockRepository.GenerateStub<IDiaryDataRetrievalManager>(); // Stub the BusinessCache to be used by our service method CacheHelper.StubBusinessCacheSingleBusiness(BUSINESS_ID); // invalidate the cache so we make sure our business is loaded into the cache Cache.Business.Invalidate(); var customer = new Customer { Id = 23, BusinessId = BUSINESS_ID, Surname = "Doe" }; var diaryData = new DiaryData { Bookings = new List<Booking> { new Booking { Id = 245, BusinessId = BUSINESS_ID, BookingReferenceNumber = "BK0000000000000123", Customer = customer, NumberOfAdults = 1, NumberOfChildren = 0, IsBookingConfirmed = false, IsProvisional = true, StartDateUTC = new DateTime(2012,1,1, 0, 0, 0, DateTimeKind.Utc), EndDateUTC = new DateTime(2012,1,6, 0, 0, 0, DateTimeKind.Utc) }, new Booking { Id = 247, BusinessId = BUSINESS_ID, BookingReferenceNumber = "BK0000000000000321", Customer = customer, NumberOfAdults = 1, NumberOfChildren = 0, IsBookingConfirmed = false, IsProvisional = true, StartDateUTC = new DateTime(2012,1,5, 0, 0, 0, DateTimeKind.Utc), EndDateUTC = new DateTime(2012,1,12, 0, 0, 0, DateTimeKind.Utc) } }, CloseOuts = new List<Closeout> { new Closeout { Id = 12345 }, new Closeout { Id = 54321 } } }; diaryDataRetrievalMgr.Stub(x => x.GetByBusinessBetweenDates(BUSINESS_ID, startDate, endDate)).Return(diaryData); limitedMobileService.DiaryDataRetrievalManager = diaryDataRetrievalMgr; // Act DiaryDataDto diary = limitedMobileService.GetBookingsAndCloseOuts(BUSINESS_ID, startDate, endDate); // Assert Assert.AreEqual(2, diary.Bookings.Count, "Incorrect number of bookings returned in diary. Expected 1 received " + diary.Bookings.Count); Assert.AreEqual(2, diary.CloseOuts.Count, "Incorrect number of closeouts returned in diary. Expected 2 received " + diary.Bookings.Count); // Make sure this is reset for future tests limitedMobileService.DiaryDataRetrievalManager = new DiaryDataRetrievalManager(); // Reassign the Dao on the cache to discard the stub assigned on the StubBusinessCacheSingleBusiness method CacheHelper.ReAssignBusinessDaoToBusinessCache(); }
#pragma warning restore 0219, 414 private void OnEnable() { this._sDiaryData = this.target as DiaryData; }
public async Task <IEnumerable <DiaryData> > GetEntries([FromBody] DiaryData data) { return(await _service.TryGetEntries(data, User.Identity.Name)); }
public void AddData(DiaryData data) { diaryDatas.Add(data); }