Пример #1
0
 /// <summary>
 /// A helper method for updating attendances
 /// </summary>
 /// <param name="notification"></param>
 private void NotifyAttendees(Notification notification)
 {
     foreach (var attendance in Attendances.Select(a => a.Attendee))
     {
         attendance.Notify(notification);
     }
 }
Пример #2
0
        public async Task <ActionResult <Attendances> > PostAttendances(Attendances attendances)
        {
            _context.Attendances.Add(attendances);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetAttendances", new { id = attendances.AttendId }, attendances));
        }
Пример #3
0
 private void UpdateSelectedAttendance()
 {
     ucAttendances1.txtDateCheck.Text    = Attendances.GetInstance().dateCheck.ToString();
     ucAttendances1.txtNote.Text         = Attendances.GetInstance().note;
     ucAttendances1.txtStatus.Text       = Attendances.GetInstance().status.ToString();
     ucAttendances1.txtWorkingHours.Text = Attendances.GetInstance().workingHours.ToString();
 }
        private void ToggleAttendance(object sender)
        {
            //WARNING: This is a hack to make this shit work........
            //This code COULD and WILL break if VALUE is not a BOOL array
            Property prop = (Property)sender;

            bool[] values = (bool[])prop.Value;
            //toggle attendance
            values[0] = !values[0];
            //set tardiness to false
            values[1]  = false;
            prop.Value = values;

            DateTime date = GetDateWithCourseTime(DateTime.Parse(prop.Name));

            Console.WriteLine(date);

            //add attendance
            if (values[0])
            {
                Attendance a = new Attendance(Course, Student, "", date, values[1]);
                Attendances.Add(a);
                Attendance.Add(a);
            }
            //remove attendance
            else
            {
                Attendance a = GetAttendanceByDate(date);
                Attendances.Remove(a);
                Attendance.Remove(a);
            }
        }
Пример #5
0
        public int AddAttendances(Attendances Attendances)
        {
            db.Attendances.Add(Attendances);
            int result = db.SaveChanges();

            return(result);
        }
Пример #6
0
        private void SaveAttendanceInfo()
        {
            try
            {
                Attendances attendance = new Attendances();
                attendance.dateCheck    = ucAttendances1.txtDateCheck.Text;
                attendance.status       = Boolean.Parse(ucAttendances1.txtStatus.Text);
                attendance.note         = ucAttendances1.txtNote.Text;
                attendance.workingHours = Double.Parse(ucAttendances1.txtWorkingHours.Text);
                attendance.checkinAt    = DateTime.Parse(ucAttendances1.txtCheckInAt.Text);
                attendance.checkoutAt   = DateTime.Parse(ucAttendances1.txtCheckOutAt.Text);
                attendance.userId       = Convert.ToInt64(ucAttendances1.cbbUser.Text.Substring(0, ucAttendances1.cbbUser.Text.IndexOf(".")));


                if (isAdd == true)
                {
                    _attendancesRepository.Add(attendance);
                    MessageBox.Show("Successful added!");
                    isAdd = false;
                    LoadData();
                    Init();
                }
                else if (isUpdate == true)
                {
                    _attendancesRepository.Update(selectedId, attendance);
                    MessageBox.Show("Successful updated!");
                    isUpdate = false;
                    LoadData();
                    Init();
                }
            }
            catch (Exception)
            {
            }
        }
Пример #7
0
        private async System.Threading.Tasks.Task <Attendances> GetAttendanceForRequestAsync(Users userResult)
        {
            List <Attendances> listAttendance = await _attendanceRepository.GetByDateTimeAndUserNameAsync(DateTime.Now.ToString("yyyy-MM-dd"), userResult.id);

            Attendances attendance = new Attendances();

            attendance.dateCheck = DateTime.Now.ToString("yyyy-MM-dd");
            attendance.note      = "";
            attendance.userId    = userResult.id;
            attendance.status    = true;

            if (listAttendance == null || CalculateWorkingTime(listAttendance[listAttendance.Count - 1]) != 0)
            {
                attendance.workingHours = 0;
                attendance.checkinAt    = new DateTime(DateTime.Now.Ticks);

                _attendanceRepository.CheckIn(attendance);
                FaceName = $"Check in success! Welcome {userResult.fullName}!";
                return(attendance);
            }
            else
            {
                Attendances attendancesDetail = listAttendance[listAttendance.Count - 1];
                attendancesDetail.checkoutAt   = new DateTime(DateTime.Now.Ticks);
                attendancesDetail.workingHours = (attendancesDetail.checkoutAt - attendancesDetail.checkinAt).TotalHours;

                _attendanceRepository.CheckOut(attendancesDetail.id, attendancesDetail);

                FaceName = $"Check out success! Good bye {userResult.fullName}!";
                return(attendancesDetail);
            }
        }
Пример #8
0
        // Prints all student attendances to pdf
        // parameter passed in is list of students and their attendance
        private void PrintAttendance()
        {
            var pdfPresents = new List <PdfPresence>();

            Attendances.ToList().ForEach(a => {
                pdfPresents.Add(new PdfPresence {
                    FirstName      = a.FirstName,
                    LastName       = a.LastName,
                    MatricelNumber = a.MatricelNumber,
                    Date           = a.Date,
                    Note           = a.Note,
                    WasPresent     = a.WasPresent
                });
            });

            var    course           = dataAccess.GetCourseById(CourseID);
            var    lab              = dataAccess.GetLabById(LabID);
            var    lecturers        = context.GetLecturerOfCourse(CourseID);
            string lecturerFullName = "Kein Lehrender";

            if (lecturers.Count > 0)
            {
                var lecturer = lecturers.First();
                lecturerFullName = $"{lecturer.firstName} {lecturer.lastName}";
            }

            // format list for pdf by wanted property
            pdfPresents = pdfPresents.OrderBy(p => p.Date).ToList();

            var pdfPath = exporter.CreatePresenceListForStuds(course.Name, lecturerFullName, lab.LabNumber.ToString(), pdfPresents);

            CheckIfPdfCreated(pdfPath);
        }
Пример #9
0
        public async Task <IActionResult> PutAttendances(int id, Attendances attendances)
        {
            if (id != attendances.AttendId)
            {
                return(BadRequest());
            }

            _context.Entry(attendances).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AttendancesExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #10
0
        public ActionResult DeleteConfirm(int id)
        {
            Attendances attendances = _Db.Attendances.Find(id);

            _Db.Attendances.Remove(attendances);
            _Db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #11
0
 private bool OnAddCanExecute()
 {
     return(Worker != null &&
            SelectedWorkerTour != null &&
            SelectedWorkerState != null &&
            SelectedWorker != null &&
            !Attendances.Any(c => c.WorkerID == SelectedWorker.ID));
 }
        public void Update(long id, Attendances attendances)
        {
            var attendance  = JsonConvert.SerializeObject(attendances);
            var buffer      = Encoding.UTF8.GetBytes(attendance);
            var byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
            _client.PutAsync($"/api/v1/attendances/update/{id}", byteContent);
        }
Пример #13
0
 public void AddAttendance(Attendance attendance)
 {
     //State.RegisterAttendance(attendance);
     if (AlreadyRegistered(attendance.MemberId))
     {
         throw new InvalidOperationException();
     }
     Attendances.Add(attendance);
 }
Пример #14
0
        public void Updated(DateTime originalDateTime, string originalVenue)
        {
            var notification = Notification.GigUpdated(Id, originalDateTime, originalVenue);

            Notifications.Add(notification);

            Attendances.Select(f => f.Attendee).ToList().
            ForEach(a => a.Notify(notification));
        }
        public async Task <Attendances> GetByDateTimeAsync(string dateTime)
        {
            _response = await _client.GetAsync($"/api/v1/attendances/datecheck/{dateTime}");

            var json = await _response.Content.ReadAsStringAsync();

            Attendances Attendances = JsonConvert.DeserializeObject <Attendances>(json);

            return(Attendances);
        }
        public async Task <Attendances> GetByIdAsync(long id)
        {
            _response = await _client.GetAsync($"/api/v1/attendances/{id}");

            var json = await _response.Content.ReadAsStringAsync();

            Attendances listAttendances = JsonConvert.DeserializeObject <Attendances>(json);

            return(listAttendances);
        }
Пример #17
0
        private async void LoadData()
        {
            /*string date = dtpHistory.Value.ToShortDateString();*/
            Attendances attendances = await _attendancesRepository.GetByDateTimeAsync(dtpHistory.Value.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat));

            List <Attendances> listAttendances = new List <Attendances>();

            listAttendances.Add(attendances);
            dgvCheckAttendanceHistory.DataSource = listAttendances;
        }
Пример #18
0
        private double CalculateWorkingTime(Attendances attendance)
        {
            if (attendance == null)
            {
                return(-1);
            }

            double time = (attendance.checkoutAt - attendance.checkinAt).TotalHours;

            return(time);
        }
Пример #19
0
 public void Dispose()
 {
     Gigs.Dispose();
     Attendances.Dispose();
     Followings.Dispose();
     Genres.Dispose();
     UserNotifications.Dispose();
     Users.Dispose();
     Roles.Dispose();
     //  UserDescriptions.Dispose();
 }
Пример #20
0
        public int DeletePersonnel(int id)
        {
            Attendances attendances = db.Attendances.SingleOrDefault(p => p.PersonnelID == id);
            Personnel   personnel   = db.Personnel.Find(id);

            db.Attendances.Remove(attendances);
            db.Personnel.Remove(personnel);
            int result = db.SaveChanges();

            return(result);
        }
        private async Task AddAttendances()
        {
            var viewModel = new AttendanceDetailViewModel(new AttendanceTableViewModel(), _attendanceStore, _pageService);

            viewModel.AttendanceAdded += (source, attendance) =>
            {
                Attendances.Add(new AttendanceTableViewModel(attendance));
            };

            await _pageService.PushModalAsync(new AttendanceDetailPage(viewModel));
        }
Пример #22
0
 public void AddAttendance(Attendance attendance)
 {
     if (attendance == null)
     {
         throw new CantBeNullException();
     }
     else
     {
         Attendances.Add(attendance);
     }
 }
Пример #23
0
        public void Cancelled()
        {
            IsCancelled = true;

            var notification = Notification.GigCancelled(Id);

            Notifications.Add(notification);

            Attendances.Select(f => f.Attendee).ToList()
            .ForEach(a => a.Notify(notification));
        }
Пример #24
0
        public ActionResult Edite(Attendances attendances)
        {
            if (ModelState.IsValid)
            {
                _Db.Entry(attendances).State = EntityState.Modified;
                _Db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(attendances));
        }
Пример #25
0
        public void Canceled()
        {
            IsCanceled = true;

            var notification = Notification.GigCanceled(this);


            foreach (var Attendee in Attendances.Select(a => a.Attendee))
            {
                Attendee.Notify(notification);
            }
        }
Пример #26
0
        public int AddPersonnel(Personnel personnel)
        {
            Attendances attendances = new Attendances();

            attendances.PersonnelID      = personnel.ID;
            attendances.AttendanceStates = 1;
            db.Attendances.Add(attendances);
            db.Personnel.Add(personnel);
            int result = db.SaveChanges();

            return(result);
        }
        private async Task DeleteAttendances(AttendanceTableViewModel attendance)
        {
            var a = "";

            if (await _pageService.DisplayAlert("Warning", $"Are you sure you want to delete{attendance.StudentID}?", "Yes", "No"))
            {
                Attendances.Remove(attendance);
                var userAttendance = await _attendanceStore.GetAttendance(attendance.Id);

                await _attendanceStore.DeleteAttendance(userAttendance);
            }
        }
Пример #28
0
        private void FillAttendancesEmpty(string y, string m)
        {
            int month = Convert.ToInt32(m);
            int year  = Convert.ToInt32(y);

            for (int i = 0; i < DateTime.DaysInMonth(year, month); i++)
            {
                Attendances.Add(new Attendance()
                {
                    timeIn = "", timeOut = "", day = (i + 1).ToString()
                });
            }
        }
Пример #29
0
 void AddAttendanceCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
 {
     if (e.Error == null)
     {
         Attendances.Add(selectedAttendance);
         OnPropertyChanged(() => SelectedAttendance);
     }
     else
     {
         ErrorProvider.ShowError(e.Error, Navigator);
     }
     dataClient.AddAttendanceCompleted -= AddAttendanceCompleted;
     Busy = false;
 }
Пример #30
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Attendances attendances = _Db.Attendances.Find(id);

            if (attendances == null)
            {
                return(HttpNotFound());
            }
            return(View(attendances));
        }