Exemplo n.º 1
0
        public IActionResult BookService(BookingModel booking)
        {
            try
            {
                var count = db.ServiceBooked.Where(p => p.ChurchDayId == booking.ChurchDayId && p.ServiceNo == booking.ServiceNo).Count();

                if (count < 201)
                {
                    // Validation to prevent Member from booking twice
                    if (db.ServiceBooked.Include(p => p.Member).Where(p => p.ChurchDayId == booking.ChurchDayId && p.ServiceNo == booking.ServiceNo && p.Member.FullName == booking.FullName && p.Member.Age == booking.Age && p.Member.PhoneNumber == booking.PhoneNumber && p.Member.Residence == booking.Residence).Any())
                    {
                        return(Json("MemberAlreadyBooked"));
                    }

                    Member member = new Member()
                    {
                        FullName    = booking.FullName,
                        Age         = booking.Age,
                        DateCreated = DateTime.Now.AddHours(-3),
                        Gender      = booking.Gender,
                        PhoneNumber = booking.PhoneNumber,
                        Residence   = booking.Residence
                    };


                    member.DateCreated = DateTime.Now;
                    db.Members.Add(member);
                    db.SaveChanges();

                    ServiceBooked serviceBooked = new ServiceBooked()
                    {
                        ChurchDayId = booking.ChurchDayId,
                        MemberId    = member.Id,
                        ServiceNo   = booking.ServiceNo,
                        DateCreated = DateTime.Now,
                        SeatNo      = GetSeatNo(booking.ChurchDayId, booking.ServiceNo)
                    };

                    db.ServiceBooked.Add(serviceBooked);
                    db.SaveChanges();

                    return(Json("success"));
                }
                else
                {
                    return(Json("serviceFullyBooked"));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(Json("error"));
            }
        }
Exemplo n.º 2
0
        public IActionResult AddPermanentMember(PermanentMember member)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    member.FullName    = member.Title + " " + member.FullName;
                    member.DateCreated = DateTime.Now;
                    db.PermanentMember.Add(member);
                    db.SaveChanges();

                    var actualMember = new Member()
                    {
                        Age         = member.Age,
                        DateCreated = DateTime.Now,
                        FullName    = member.FullName,
                        Gender      = member.Gender,
                        PhoneNumber = member.PhoneNumber,
                        Residence   = member.Residence
                    };

                    db.Members.Add(actualMember);
                    db.SaveChanges();

                    var churchDay = db.ChurchDay.OrderByDescending(p => p.Id).FirstOrDefault();

                    if (churchDay.NoOfServices > 0)
                    {
                        for (int i = 1; i <= churchDay.NoOfServices; i++)
                        {
                            int seatNo = 0;

                            if (member.SeatNo > 0)
                            {
                                seatNo = member.SeatNo;
                            }


                            ServiceBooked serviceBooked = new ServiceBooked()
                            {
                                ChurchDayId = churchDay.Id,
                                MemberId    = actualMember.Id,
                                ServiceNo   = i,
                                DateCreated = DateTime.Now,
                                SeatNo      = seatNo
                            };

                            db.ServiceBooked.Add(serviceBooked);
                        }
                    }

                    db.SaveChanges();

                    return(Json("success"));
                }
                return(Json("InvalidModel"));
            }
            catch (Exception ex)
            {
                return(Json("error"));
            }
        }
Exemplo n.º 3
0
        public IActionResult SaveService(ChurchDay churchDay)
        {
            try
            {
                churchDay.DateCreated          = DateTime.Now;
                churchDay.RegistrationDeadline = churchDay.RegistrationDeadline.Value.AddHours(churchDay.RegistrationDeadlineTime.Value.Hour);
                churchDay.RegistrationDeadline = churchDay.RegistrationDeadline.Value.AddMinutes(churchDay.RegistrationDeadlineTime.Value.Minute);

                //here we are subtracting 3 hours because of the time difference in the server
                //churchDay.RegistrationDeadline = churchDay.RegistrationDeadline.Value.AddHours(-3);

                db.ChurchDay.Add(churchDay);
                db.SaveChanges();

                //here we get all permanent members and add them to this added service
                var permementMembers = db.PermanentMember.ToList();

                if (churchDay.NoOfServices > 0)
                {
                    foreach (var member in permementMembers)
                    {
                        for (int i = 1; i <= churchDay.NoOfServices; i++)
                        {
                            var actualMember = new Member()
                            {
                                Age         = member.Age,
                                DateCreated = DateTime.Now,
                                FullName    = member.FullName,
                                Gender      = member.Gender,
                                PhoneNumber = member.PhoneNumber,
                                Residence   = member.Residence
                            };

                            db.Members.Add(actualMember);
                            db.SaveChanges();


                            ServiceBooked serviceBooked = new ServiceBooked()
                            {
                                ChurchDayId = churchDay.Id,
                                MemberId    = actualMember.Id,
                                ServiceNo   = i,
                                DateCreated = DateTime.Now,
                                SeatNo      = member.SeatNo
                            };

                            db.ServiceBooked.Add(serviceBooked);
                        }
                    }
                }

                db.SaveChanges();


                return(Json("success"));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(Json("error"));
            }
        }