public async Task Create() { var idApp = App.Current.Properties["IdApp"] as string; var selectedUser = userItems[this.ApelidoUsuarioIndex]; var time = this.TimeHoraDigitada; string formattedTimeSpan = string.Format("{0:D2}{1:D2}", time.Hours, time.Minutes); var dateHourTyped = this.DataHoraDigitada.ToString("yyyyMMdd") + formattedTimeSpan; var res = await _apiService.LancaHoraManual(idApp, selectedUser.IdUser, dateHourTyped, this.Nota); if (res.ValidadoOk) { _releasedHoursRepository.Save(new ApiSerialize.ReleasedHours { Ap = res.Ln.Ap, Au = res.Ln.Au, Cd = string.IsNullOrWhiteSpace(res.Ln.Cd) ? "" : res.Ln.Cd, Di = res.Ln.Di, Hd = string.IsNullOrWhiteSpace(res.Ln.Hd) ? "" : res.Ln.Hd, He = string.IsNullOrWhiteSpace(res.Ln.He) ? "" : res.Ln.He, Hl = string.IsNullOrWhiteSpace(res.Ln.Hl) ? "" : res.Ln.Hl, Hlx = res.Ln.Hlx, Hex = res.Ln.Hex, Hdx = res.Ln.Hdx, Il = res.Ln.Il, La = res.Ln.La, Lo = res.Ln.Lo, Nt = res.Ln.Nt, Pc = res.Ln.Pc, St = res.Ln.St, Tz = res.Ln.Tz }); await _messageService.DisplayAlert("Hora manual lançada com sucesso."); await _navigationService.PopAsync(); } else { await _messageService.DisplayAlert("Ocorreu um erro ao lançar a hora manual."); } }
private void SaveData(AppData data) { var idApp = App.Current.Properties["IdApp"] as string; foreach (var user in data.Uss) { var userDb = _appUserRepository.Find(a => a.Iu == user.Iu); var userDbFirst = userDb.FirstOrDefault(); if (!ReferenceEquals(userDbFirst, null)) { userDbFirst.Au = user.Au; userDbFirst.Ii = user.Ii; userDbFirst.St = user.St; userDbFirst.Xl = user.Xl; userDbFirst.Ca = user.Ca; _appUserRepository.Update(userDbFirst); } else { _appUserRepository.Save(user); } } foreach (var passclock in data.Pcs) { var passclockDb = _passclockRepository.Find(a => a.Pc == passclock.Pc); var passclockFirst = passclockDb.FirstOrDefault(); if (!ReferenceEquals(passclockFirst, null)) { passclockFirst.Ap = passclock.Ap; passclockFirst.Cv = passclock.Cv; passclockFirst.St = passclock.St; _passclockRepository.Update(passclockFirst); } else { _passclockRepository.Save(passclock); } } if (data.Lns.Any()) { var lastReleasedDb = _releasesHistoryRepository.Find(a => a.Iu == idApp).FirstOrDefault(); var lastReleased = data.Lns.OrderByDescending(b => System.Convert.ToInt32(b.Il)).First(); if (ReferenceEquals(lastReleasedDb, null)) { _releasesHistoryRepository.Save(new ReleasesHistory { Il = lastReleased.Il, Iu = idApp }); } else { lastReleasedDb.Il = lastReleased.Il; _releasesHistoryRepository.Update(lastReleasedDb); } } this.CountListReleaseHours = _releasedHourRepository.CountToday(); _releasedHourRepository.ExcludeLastTwoMonths(); foreach (var releasedHour in data.Lns) { var releasedHourDb = _releasedHourRepository.Find(a => a.Il == releasedHour.Il); var releasedHourFirst = releasedHourDb.FirstOrDefault(); if (!ReferenceEquals(releasedHourFirst, null)) { releasedHourFirst.Ap = releasedHour.Ap; releasedHourFirst.Au = releasedHour.Au; releasedHourFirst.Cd = releasedHour.Cd; releasedHourFirst.Di = releasedHour.Di; releasedHourFirst.Hd = releasedHour.Hd; releasedHourFirst.He = releasedHour.He; releasedHourFirst.Hl = releasedHour.Hl; releasedHourFirst.Hdx = releasedHour.Hdx; releasedHourFirst.Hex = releasedHour.Hex; releasedHourFirst.Hlx = releasedHour.Hlx; releasedHourFirst.La = releasedHour.La; releasedHourFirst.Lo = releasedHour.Lo; releasedHourFirst.Nt = releasedHour.Nt; releasedHourFirst.Pc = releasedHour.Pc; releasedHourFirst.St = releasedHour.St; releasedHourFirst.Tz = releasedHour.Tz; releasedHourFirst.Il = releasedHour.Il; _releasedHourRepository.Update(releasedHourFirst); } else { _releasedHourRepository.Save(releasedHour); } } }