public ActionResult Index(int?page)
        {
            int currentPageIndex          = page.HasValue ? page.Value : 1;
            int defaultPageSize           = 30;
            GroupBookingReportModel model = new GroupBookingReportModel();

            model.GroupBookingList = ser.GetGroupBookingList().ToPagedList(currentPageIndex, defaultPageSize);
            return(View(model));
        }
        public void Air_GroupBookingStatusUpdate(GroupBookingReportModel model)
        {
            Air_GroupBooking result = ent.Air_GroupBooking.Where(x => x.GroupBookingId == model.GroupBookingId).FirstOrDefault();

            result.GroupBookingStatusId = model.StatusId;

            ent.ApplyCurrentValues(result.EntityKey.EntitySetName, result);
            ent.SaveChanges();
        }
        public void GroupBookingCommentsAdd(GroupBookingReportModel modelToSave)
        {
            Air_GroupBookingComments datamodel = new Air_GroupBookingComments
            {
                GroupBookingId = (Int64)modelToSave.GroupBookingId,
                Comment        = modelToSave.PostComment,
                isDelete       = modelToSave.isDelete,
                CreatedBy      = modelToSave.CreatedBy,
                CreatedDate    = DateTime.Now
            };

            ent.AddToAir_GroupBookingComments(datamodel);
            ent.SaveChanges();
        }
        public GroupBookingReportModel GetGroupBookingItineraryDetail(int id)
        {
            Air_GroupBookingItinerary result = ent.Air_GroupBookingItinerary.Where(x => x.GroupBookingItineraryId == id).FirstOrDefault();
            GroupBookingReportModel   model  = new GroupBookingReportModel();

            model.GroupBookingItineraryId = (int)result.GroupBookingItineraryId;
            model.GroupBookingId          = (int)result.GroupBookingId;
            model.FromCityId = result.FromCityId;
            model.ToCityId   = result.ToCityId;
            model.DepartDate = result.DepartsDate;
            model.AdultsId   = result.AdultNo;
            model.ChildrenId = result.ChildNo;
            model.InfantsId  = result.InfantNo;
            model.CabinClass = result.CabinClass;

            return(model);
        }
        public ActionResult Delete(int groupbookingid, int commentid)
        {
            GroupBookingReportModel model = new GroupBookingReportModel();

            model.CreatedBy = LogedUserId;

            int groupbookingcommentid = ser.GetGroupBookingCommentCreatedBy(commentid);

            if (model.CreatedBy == groupbookingcommentid)
            {
                ser.DeleteGroupBookingComment(groupbookingid, commentid);
            }
            else
            {
                TempData["CommentCannotBeDeleted"] = "You are not the right user to delete the comment. ";
            }

            return(RedirectToAction("Detail", new { @id = groupbookingid }));
        }
        public IEnumerable <GroupBookingReportModel> GetGroupBookingCommtList(int id)
        {
            List <GroupBookingReportModel> model = new List <GroupBookingReportModel>();
            var result = ent.Air_GroupBookingComments;

            foreach (var item in result.Select(x => x))
            {
                GroupBookingReportModel obj = new GroupBookingReportModel();
                obj.GroupBookingId        = (int)item.GroupBookingId;
                obj.groupbookingcommentid = (int)item.GroupBookingCommentsId;
                obj.PostComment           = item.Comment;
                obj.CreatedName           = item.UsersDetails.FullName;
                obj.CreatedDate           = item.CreatedDate;
                obj.isDelete  = item.isDelete;
                obj.CreatedBy = item.CreatedBy;


                model.Add(obj);
            }
            return(model.Where(x => x.GroupBookingId == id && x.isDelete == false).AsEnumerable());
        }
        public ActionResult Create(GroupBookingReportModel model)
        {
            model.CreatedBy = LogedUserId;

            try
            {
                ser.GroupBookingCommentsAdd(model);
            }
            catch
            {
                //do nothing
            }


            if (model.StatusId != null)
            {
                ser.Air_GroupBookingStatusUpdate(model);
            }

            return(RedirectToAction("Detail", new { @id = model.GroupBookingId }));
        }
        //for listing Air_GroupBooking

        public IEnumerable <GroupBookingReportModel> GetGroupBookingList()
        {
            int sno = 0;
            List <GroupBookingReportModel> model = new List <GroupBookingReportModel>();
            var result = ent.Air_GroupBooking;

            foreach (var item in result.Select(x => x))
            {
                sno++;
                GroupBookingReportModel obj = new GroupBookingReportModel();
                obj.SN0            = sno;
                obj.GroupBookingId = (int)item.GroupBookingId;
                obj.GroupName      = item.GroupName;
                obj.CompanyName    = item.CompanyName;
                obj.ContactName    = item.ContactName;
                obj.MobilePhone    = item.MobileNo;
                obj.ContactPhone   = item.PhoneNo;
                obj.AddressLine1   = item.Address1;
                obj.AddressLine2   = item.Address2;
                obj.SuburbTownCity = item.City;
                obj.PostCode       = item.Postcode;
                obj.State          = item.StateName;
                obj.Status         = item.Air_GroupBookingStatus.StatusName;
                obj.CountryId      = item.CountryId;
                if (obj.CountryId == null)
                {
                    obj.CountryName = "";
                }
                else
                {
                    obj.CountryName = item.Countries.CountryName;
                }
                //obj.GroupTypeId = item.GroupTypeId;
                // obj.GroupTypeName = item.Air_GroupTypes.GroupName;
                obj.isExcessBaggage = item.isExxessBaggageRequest;
                obj.Comments        = item.Comments;
                model.Add(obj);
            }
            return(model.AsEnumerable());
        }
        //for listing Air_GroupBookingItinerary
        public IEnumerable <GroupBookingReportModel> GetGroupBookingItineraryList()
        {
            List <GroupBookingReportModel> model = new List <GroupBookingReportModel>();
            var result = ent.Air_GroupBookingItinerary;

            foreach (var item in result.Select(x => x))
            {
                GroupBookingReportModel obj = new GroupBookingReportModel();
                obj.GroupBookingItineraryId = (int)item.GroupBookingItineraryId;
                obj.GroupBookingId          = (int)item.GroupBookingId;
                obj.GroupName  = item.Air_GroupBooking.GroupName;
                obj.FromCityId = item.FromCityId;
                obj.ToCityId   = item.ToCityId;
                obj.DepartDate = item.DepartsDate;
                obj.AdultsId   = item.AdultNo;
                obj.ChildrenId = item.ChildNo;
                obj.InfantsId  = item.InfantNo;
                obj.CabinClass = item.CabinClass;

                model.Add(obj);
            }
            return(model.AsEnumerable());
        }
        public GroupBookingReportModel GetGroupBookingDetail(int id)
        {
            Air_GroupBooking        result = ent.Air_GroupBooking.Where(x => x.GroupBookingId == id).FirstOrDefault();
            GroupBookingReportModel model  = new GroupBookingReportModel();

            model.GroupBookingId = (int)result.GroupBookingId;
            model.GroupName      = result.GroupName;
            model.CompanyName    = result.CompanyName;
            model.ContactName    = result.ContactName;
            model.MobilePhone    = result.MobileNo;
            model.ContactPhone   = result.PhoneNo;
            model.AddressLine1   = result.Address1;
            model.AddressLine2   = result.Address2;
            model.SuburbTownCity = result.City;
            model.PostCode       = result.Postcode;
            model.State          = result.StateName;
            model.CountryId      = result.CountryId;
            model.GroupTypeId    = result.GroupTypeId;
            //model.ExcessBaggage    = result.isExxessBaggageRequest;
            model.rdbExcessBaggage = result.isExxessBaggageRequest == true ? Baggage.Yes : Baggage.No;
            model.Comments         = result.Comments;

            return(model);
        }
        public IEnumerable <GroupBookingReportModel> GetGroupBookingItineraryListById(int Id)
        {
            var result = ent.Air_GroupBookingItinerary.Where(ab => ab.GroupBookingId == Id).ToList();
            List <GroupBookingReportModel> Search = new List <GroupBookingReportModel>();

            foreach (var item in result)
            {
                GroupBookingReportModel obj = new GroupBookingReportModel
                {
                    GroupBookingId = (int)item.GroupBookingId,
                    FromCityId     = item.FromCityId,
                    FromCityName   = item.AirlineCities.CityName,
                    ToCityId       = item.ToCityId,
                    ToCityName     = item.AirlineCities1.CityName,
                    DepartDate     = item.DepartsDate,
                    AdultsId       = item.AdultNo,
                    ChildrenId     = item.ChildNo,
                    InfantsId      = item.InfantNo,
                    CabinClass     = item.CabinClass,
                };
                Search.Add(obj);
            }
            return(Search.AsEnumerable());
        }
        public ActionResult Detail(int id)
        {
            Air_GroupBooking bookingmodel = ser.GetGroupBookingInfo(id);
            //Air_GroupBookingItinerary Itinerarymodel = ser.GetGroupBookingItineraryInfo(id);
            GroupBookingReportModel model = new GroupBookingReportModel();



            model.GroupName      = bookingmodel.GroupName;
            model.CompanyName    = bookingmodel.CompanyName;
            model.ContactName    = bookingmodel.ContactName;
            model.MobilePhone    = bookingmodel.MobileNo;
            model.ContactPhone   = bookingmodel.PhoneNo;
            model.AddressLine1   = bookingmodel.Address1;
            model.AddressLine2   = bookingmodel.Address2;
            model.SuburbTownCity = bookingmodel.City;
            model.PostCode       = bookingmodel.Postcode;
            model.State          = bookingmodel.StateName;
            model.StatusId       = (int)bookingmodel.GroupBookingStatusId;
            // model.CountryName = bookingmodel.Countries.CountryName == "" ? "" : bookingmodel.Countries.CountryName;
            if (model.CountryName == null)
            {
                model.CountryName = "";
            }
            else
            {
                model.CountryName = bookingmodel.Countries.CountryName;
            }

            // model.GroupTypeName = bookingmodel.Air_GroupTypes.GroupName;

            if (model.GroupTypeName == null)
            {
                model.GroupTypeName = "";
            }
            else
            {
                model.GroupTypeName = bookingmodel.Air_GroupTypes.GroupName;
            }

            model.isExcessBaggage = bookingmodel.isExxessBaggageRequest;

            if (model.Comments == null)
            {
                model.Comments = "";
            }
            else
            {
                model.Comments = bookingmodel.Comments;
            }


            ViewData["GroupBookingStatus"] = new SelectList(ser.GetGroupBookingStatusList(), "GroupBookingStatusId", "StatusName");

            model.GroupBookingCommtList = ser.GetGroupBookingCommtList(id);

            model.GroupBookingList = ser.GetGroupBookingItineraryListById(id).ToPagedList(1, int.MaxValue);

            string        FromCityName = "";
            List <string> CityNameList = new List <string>();

            foreach (var item in model.GroupBookingList)
            {
                FromCityName = item.FromCityName;
                CityNameList.Add(FromCityName);
            }
            ViewData["FromCityName"] = CityNameList;

            string        ToCityName     = "";
            List <string> ToCityNameList = new List <string>();

            foreach (var item in model.GroupBookingList)
            {
                ToCityName = item.ToCityName;
                ToCityNameList.Add(ToCityName);
            }
            ViewData["ToCityName"] = ToCityNameList;

            string        DepartureDate     = "";
            List <string> DepartureDateList = new List <string>();

            foreach (var item in model.GroupBookingList)
            {
                DepartureDate = item.DepartDate.ToString();
                DepartureDateList.Add(DepartureDate);
            }
            ViewData["DepartureDate"] = DepartureDateList;

            int        AdultId   = 0;
            List <int> AdultList = new List <int>();

            foreach (var item in model.GroupBookingList)
            {
                AdultId = item.AdultsId;
                AdultList.Add(AdultId);
            }
            ViewData["AdultNo"] = AdultList;

            int        ChildrenNo   = 0;
            List <int> ChildrenList = new List <int>();

            foreach (var item in model.GroupBookingList)
            {
                ChildrenNo = item.ChildrenId;
                ChildrenList.Add(ChildrenNo);
            }
            ViewData["ChildNo"] = ChildrenList;

            int        InfantNo   = 0;
            List <int> InfantList = new List <int>();

            foreach (var item in model.GroupBookingList)
            {
                InfantNo = item.InfantsId;
                InfantList.Add(InfantNo);
            }
            ViewData["InfantNo"] = new SelectList(InfantList);

            string        CabinClass     = "";
            List <string> CabinClassList = new List <string>();

            foreach (var item in model.GroupBookingList)
            {
                CabinClass = item.CabinClass;
                CabinClassList.Add(CabinClass);
            }
            ViewData["CabinClass"] = CabinClassList;

            model.GroupBookingId = id;

            return(View(model));
        }