Ejemplo n.º 1
0
        public Attendance GetAttendance(AttendanceForCreationDto attendanceForCreationDto)
        {
            var attendance = _context.Attendance.FirstOrDefault(a =>
                                                                a.Monday == attendanceForCreationDto.Monday &&
                                                                a.Tuesday == attendanceForCreationDto.Tuesday &&
                                                                a.Wednesday == attendanceForCreationDto.Wednesday &&
                                                                a.Thursday == attendanceForCreationDto.Thursday &&
                                                                a.Friday == attendanceForCreationDto.Friday &&
                                                                a.Saturday == attendanceForCreationDto.Saturday);

            if (attendance == null)
            {
                var daysAttending = Convert.ToInt32(attendanceForCreationDto.Monday) +
                                    Convert.ToInt32(attendanceForCreationDto.Tuesday) +
                                    Convert.ToInt32(attendanceForCreationDto.Wednesday) +
                                    Convert.ToInt32(attendanceForCreationDto.Thursday) +
                                    Convert.ToInt32(attendanceForCreationDto.Friday) +
                                    Convert.ToInt32(attendanceForCreationDto.Saturday);

                attendance = new Attendance
                {
                    Monday        = attendanceForCreationDto.Monday,
                    Tuesday       = attendanceForCreationDto.Tuesday,
                    Wednesday     = attendanceForCreationDto.Wednesday,
                    Thursday      = attendanceForCreationDto.Thursday,
                    Friday        = attendanceForCreationDto.Friday,
                    Saturday      = attendanceForCreationDto.Saturday,
                    DaysAttending = daysAttending
                };

                _context.Attendance.Add(attendance);
            }
            return(attendance);
        }
Ejemplo n.º 2
0
        public IHttpActionResult Attend([FromBody] AttendanceForCreationDto attendanceForCreation)
        {
            if (attendanceForCreation == null)
            {
                return(NotFound());
            }


            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            DateTime attendanceDate = DateTime.Parse(attendanceForCreation.DateTime);
            string   attDate        = (attendanceDate.DayOfWeek).ToString();

            if (!attDate.Equals("Thursday"))
            {
                if (!attDate.Equals("Saturday"))
                {
                    return(BadRequest("Wrong date Choice. Attendance should be done for Thursday and Saturday only!"));
                }
            }

            //look up for the current date with phone number and see whether the item has been already saved.

            var checkForDuplicate = _context.Attendances.Any(a => a.PhoneNumber == attendanceForCreation.PhoneNumber);


            if (checkForDuplicate)
            {
                return(BadRequest("The attendance for " + attendanceForCreation.DateTime + " Already marked."));
            }


            var attendance = new Attendance
            {
                FirstName   = attendanceForCreation.FirstName,
                OtherName   = attendanceForCreation.OtherName,
                DateTime    = DateTime.Parse(attendanceForCreation.DateTime),
                Remarks     = attendanceForCreation.Remarks,
                Attended    = attendanceForCreation.Attended,
                LeaderId    = 1,
                VoiceId     = attendanceForCreation.VoiceId,
                PhoneNumber = attendanceForCreation.PhoneNumber
            };

            _context.Attendances.Add(attendance);
            _context.SaveChanges();

            return(Ok());
        }