public bool DeleteAccomodationPackage(AccomodationPackagee accomodationPackagee)
        {
            var context = new HMSContext();

            context.Entry(accomodationPackagee).State = System.Data.Entity.EntityState.Deleted;

            return(context.SaveChanges() > 0);
        }
        public bool SaveAccomodationPackage(AccomodationPackagee accomodationPackagee)
        {
            var context = new HMSContext();

            context.AccomodationPackagees.Add(accomodationPackagee);

            return(context.SaveChanges() > 0);
        }
        public bool UpdateAccomodationPackage(AccomodationPackagee accomodationPackagee)
        {
            var context = new HMSContext();

            var existingAccomodationPackage = context.AccomodationPackagees.Find(accomodationPackagee.ID);

            context.AccomodationPackagePictures.RemoveRange(existingAccomodationPackage.AccomodationPackagePictures);

            context.Entry(existingAccomodationPackage).CurrentValues.SetValues(accomodationPackagee);

            context.AccomodationPackagePictures.AddRange(accomodationPackagee.AccomodationPackagePictures);

            return(context.SaveChanges() > 0);
        }
        public JsonResult Action(AccomodationPackageActionModel model)
        {
            JsonResult json = new JsonResult();

            var result = false;
            var list   = model.PictureIDs;
            var picIDs = string.Join(",", list);

            List <int> pictureIDs = !string.IsNullOrEmpty(picIDs) ? model.PictureIDs.Select(x => int.Parse(x)).ToList() : new List <int>();

            var pictures = dashboardService.GetPicturesByIDs(pictureIDs);

            if (model.ID > 0) // tyring to edit model
            {
                var accomodationPackage = PackageServices.GetAllAccomodationPackagesByID(model.ID);

                accomodationPackage.ID = model.ID;
                accomodationPackage.AccomodationTypeId = model.AccomodationTypeId;
                accomodationPackage.Name        = model.Name;
                accomodationPackage.NoOfRoom    = model.NoOfRoom;
                accomodationPackage.FeePerNight = model.FeePerNight;



                accomodationPackage.AccomodationPackagePictures.Clear();

                accomodationPackage.AccomodationPackagePictures.AddRange(pictures.Select(x => new AccomodationPackagePicture()
                {
                    AccomodationPackageID = accomodationPackage.ID, pictureID = x.ID
                }));


                result = PackageServices.UpdateAccomodationPackage(accomodationPackage);
            }
            else // create the record
            {
                AccomodationPackagee accomodationPackage = new AccomodationPackagee();
                accomodationPackage.AccomodationTypeId = model.AccomodationTypeId;
                accomodationPackage.Name        = model.Name;
                accomodationPackage.NoOfRoom    = model.NoOfRoom;
                accomodationPackage.FeePerNight = model.FeePerNight;


                accomodationPackage.AccomodationPackagePictures = new List <AccomodationPackagePicture>();
                accomodationPackage.AccomodationPackagePictures.AddRange(pictures.Select(x => new AccomodationPackagePicture()
                {
                    pictureID = x.ID
                }));


                result = PackageServices.SaveAccomodationPackage(accomodationPackage);
            }



            if (result)
            {
                json.Data = new { Success = true };
            }
            else
            {
                json.Data = new { Success = false, Message = "Unable to perform action on  Accomodation Package" };
            }



            return(json);
        }