private async Task ResumeAfterTimeRegistration(IDialogContext context, IAwaitable <TimeRegistrationModel> result)
        {
            TimeRegistrationModel message = await result;

            await context.PostAsync("Thanks!");

            context.Wait(MessageReceived);
        }
Beispiel #2
0
        public void Execute_ShouldReturnFalse_WhenProjectDoesNotExist()
        {
            _loader.Setup(mock => mock.Load(1)).Returns((Project)null);
            var timeRegistration = new TimeRegistrationModel();

            var result = _service.Execute(1, timeRegistration);

            result.Should().BeFalse();
            _loader.Verify(mock => mock.Load(1), Times.Once);
            _dateTimeService.Verify(mock => mock.GetUtcNow(), Times.Never);
            _saver.Verify(mock => mock.Save(null, timeRegistration), Times.Never);
        }
Beispiel #3
0
        public async void GetData()
        {
            timeRegList = await db.GetTimeRegsAsync();

            List <TimeRegistrationModel> itemssourceList = timeRegList.Where(x => x.User == gd.User.No).OrderByDescending(x => x.Time).ToList();
            TimeRegistrationModel        first           = itemssourceList.FirstOrDefault();

            if (first != null && first.Time.Date == DateTime.Today.Date)
            {
                if (first.Type == "Check in")
                {
                    _in  = false;
                    _out = true;
                    //checkIn.IsEnabled = false;
                    checkOut.Text = "Meld ud";
                    checkIn.Text  = "Allerede mødt";
                    //gd.TimeRegisteredIn = first;
                }
                else
                {
                    _out = false;
                    _in  = true;
                    //checkOut.IsEnabled = false;
                    checkIn.Text  = "Mød ind";
                    checkOut.Text = "Allerede meldt ud";
                    //gd.TimeRegisteredOut = first;
                }
                foreach (var item in itemssourceList)
                {
                    if (item.Type == "Check in" && (gd.TimeRegisteredIn == null || item.Time > gd.TimeRegisteredIn.Time))
                    {
                        //item.Time = item.Time.AddHours(2);
                        gd.TimeRegisteredIn = item;
                    }
                    else if (item.Type == "Check out" && (gd.TimeRegisteredOut == null || item.Time > gd.TimeRegisteredOut.Time))
                    {
                        //item.Time = item.Time.AddHours(2);
                        gd.TimeRegisteredOut = item;
                    }
                }
            }

            checkIn.IsEnabled  = _in;
            checkOut.IsEnabled = _out;

            lv.ItemsSource = itemssourceList.OrderByDescending(x => x.Time);
        }
Beispiel #4
0
        public void Execute_ShouldReturnFalse_WhenProjectDeadlineHasPassed()
        {
            Project project = new Project
            {
                Deadline = new DateTime(2020, 1, 1)
            };

            _loader.Setup(mock => mock.Load(1)).Returns(project);
            _dateTimeService.Setup(mock => mock.GetUtcNow()).Returns(new DateTime(2020, 1, 2));
            var timeRegistration = new TimeRegistrationModel();

            var result = _service.Execute(1, timeRegistration);

            result.Should().BeFalse();
            _loader.Verify(mock => mock.Load(1), Times.Once);
            _dateTimeService.Verify(mock => mock.GetUtcNow(), Times.Once);
            _saver.Verify(mock => mock.Save(null, timeRegistration), Times.Never);
        }
Beispiel #5
0
        public void Execute_ShouldReturnTrue_WhenTimeRegistrationCanBeSaved()
        {
            var project = new Project
            {
                Deadline = new DateTime(2020, 1, 2)
            };

            _loader.Setup(mock => mock.Load(1)).Returns(project);
            _dateTimeService.Setup(mock => mock.GetUtcNow()).Returns(new DateTime(2020, 1, 1));
            var timeRegistration = new TimeRegistrationModel();

            var result = _service.Execute(1, timeRegistration);

            result.Should().BeTrue();
            _loader.Verify(mock => mock.Load(1), Times.Once);
            _dateTimeService.Verify(mock => mock.GetUtcNow(), Times.Once);
            _saver.Verify(mock => mock.Save(project, timeRegistration), Times.Once);
        }
Beispiel #6
0
        public async Task <TimeRegistrationModel> CreateTimeReg(TimeRegistrationModel timeReg)
        {
            try
            {
                HttpClient client = ClientGateway.GetHttpClient;

                var data = JsonConvert.SerializeObject(timeReg);

                var content = new StringContent(data, Encoding.UTF8, "application/json");

                var response = await client.PostAsync(endPoint + "create", content);

                return(JsonConvert.DeserializeObject <TimeRegistrationModel>(response.Content.ReadAsStringAsync().Result));
            }
            catch
            {
                TimeRegistrationModel jl = null;
                return(jl);
            }
        }
Beispiel #7
0
        private async Task <TimeRegistrationModel> MakeNewTimeReg(string type)
        {
            ActivityIndicator ai = new ActivityIndicator()
            {
                IsRunning = true
            };

            layout.Children.Remove(lv);
            layout.Children.Add(ai);
            TimeRegistrationModel timeReg = new TimeRegistrationModel
            {
                MeetLeaveGuid = Guid.NewGuid(),
                Type          = type,
                Time          = DateTime.UtcNow,
                User          = gd.User.No,
                New           = true,
                Sent          = false
            };

            try
            {
                var locator = CrossGeolocator.Current;
                locator.DesiredAccuracy = 50;
                var position = await locator.GetPositionAsync(timeoutMilliseconds : 10000);

                timeReg.Latitude  = position.Latitude;
                timeReg.Longitude = position.Longitude;
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Unable to get location, may need to increase timeout: " + ex);
            }

            await db.SaveTimeRegAsync(timeReg);

            GetData();
            layout.Children.Add(lv);
            layout.Children.Remove(ai);
            return(timeReg);
        }
Beispiel #8
0
 public Task <int> DeleteTimeRegAsync(TimeRegistrationModel task)
 {
     return(database.DeleteAsync(task));
 }
Beispiel #9
0
 public Task <int> SaveTimeRegAsync(TimeRegistrationModel task)
 {
     return(database.InsertAsync(task));
 }