public JsonResult Action(AccomodationPackagesActionViewModel model, bool isDeleted = false)
        {
            JsonResult json   = new JsonResult();
            var        result = false;

            if (model.Id > 0 && isDeleted == false)
            {
                //edit here
                // first break array of integers passed by view

                List <int> pictureIds = string.IsNullOrEmpty(model.PicIDs) ?  new List <int>() : model.PicIDs.Split(',').Select(a => int.Parse(a)).ToList();
                //using linq generated by vs
                List <AccomodationPackagePicture> list = pictureIds.Select(id => new AccomodationPackagePicture()
                {
                    AccomodationPackageId = model.Id, PictureId = id
                }).ToList();

                AccomodationPackage accomodationPackage = new AccomodationPackage()
                {
                    Id                   = model.Id, Name = model.Name, NoOfRoom = model.NoOfRoom,
                    FeePerNight          = model.FeePerNight
                    , AccomodationTypeId = model.AccomodationTypeId, AccomodationPackagePictures = list
                };

                result = accomodationPackageService.UpdateAccomodationPackages(accomodationPackage);
            }
            else if (model.Id > 0 && isDeleted == true)
            {
                //delete here
                result = accomodationPackageService.DeleteAccomodationPackages(model.Id);
            }

            else
            {
                //first create object then add
                AccomodationPackage accomodationPackage = new AccomodationPackage();
                // first break array of integers passed by view

                List <int> pictureIds = string.IsNullOrEmpty(model.PicIDs) ?  new List <int>() : model.PicIDs.Split(',').Select(a => int.Parse(a)).ToList();

                accomodationPackage.AccomodationTypeId = model.AccomodationTypeId;
                accomodationPackage.Name        = model.Name;
                accomodationPackage.NoOfRoom    = model.NoOfRoom;
                accomodationPackage.FeePerNight = model.FeePerNight;
                //accomodationPackage.AccomodationPackagePictures = model.AccomodationPackagePictures;

                ////my method easy one
                //List<AccomodationPackagePicture> list =  new AccomodationPackagePicture()
                //foreach (var id in pictureIds)
                //{
                //    var accomodationPics = new AccomodationPackagePicture() {AccomodationPackageId = accomodationPackage.Id , PictureId = id};
                //    list.Add(accomodationPics);
                //}


                //using linq generated by vs
                List <AccomodationPackagePicture> list = pictureIds.Select(id => new AccomodationPackagePicture()
                {
                    PictureId = id
                }).ToList();


                accomodationPackage.AccomodationPackagePictures = list;

                result = accomodationPackageService.SaveAccomodationPackages(accomodationPackage);
            }

            if (result)
            {
                json.Data = new { success = true };
            }
            else
            {
                json.Data = new { success = false, Messag = "Unable to Perform Operation in Accomodation Type." };
            }

            return(json);
        }
Example #2
0
        public JsonResult Action(AccomodationPackagesModel model)
        {
            JsonResult result = new JsonResult();

            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            var  message = "";
            bool data    = false;

            try
            {
                if (ModelState.IsValid)
                {
                    List <int> picturesIDs = model.PictureIDs.Split(',').Select(x => int.Parse(x)).ToList();
                    var        pictures    = _SharedService.GetPicturesByIDs(picturesIDs);

                    if (model.ID > 0)
                    {
                        _AccomodationPackage                    = _AccomodationPackagesService.GetAccomodationPackagesById(model.ID);
                        _AccomodationPackage.NoOfRoom           = model.NoOfRoom;
                        _AccomodationPackage.Name               = model.Name;
                        _AccomodationPackage.FeePerNight        = model.FeePerNight;
                        _AccomodationPackage.AccomodationTypeID = model.AccomodationTypeID;
                        _AccomodationPackage.AccomodationPackagePictures.Clear();
                        _AccomodationPackage.AccomodationPackagePictures.AddRange(pictures.Select(x => new AccomodationPackagePictures()
                        {
                            PictuerID = x.ID, AccomodationPackageID = model.ID
                        }));
                        data = _AccomodationPackagesService.UpdateAccomodationPackages(_AccomodationPackage);
                    }
                    else
                    {
                        _AccomodationPackage.AccomodationPackagePictures = new List <AccomodationPackagePictures>();
                        _AccomodationPackage.AccomodationPackagePictures.AddRange(pictures.Select(x => new AccomodationPackagePictures()
                        {
                            PictuerID = x.ID
                        }));
                        _AccomodationPackage.ID                 = model.ID;
                        _AccomodationPackage.Name               = model.Name;
                        _AccomodationPackage.NoOfRoom           = model.NoOfRoom;
                        _AccomodationPackage.FeePerNight        = model.FeePerNight;
                        _AccomodationPackage.AccomodationTypeID = model.AccomodationTypeID;
                        data = _AccomodationPackagesService.SaveAccomodationPackages(_AccomodationPackage);
                    }
                }
                else
                {
                    message = "Please enter valid data!!";
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }
            if (data)
            {
                message     = "Data Save Successfully!!";
                result.Data = new { Success = true, Message = message };
            }
            else
            {
                result.Data = new { Success = false, Message = message };
            }
            return(result);
        }