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.");
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }