Example #1
0
        private CreateObjectViewModel GetAttributes(CreateObjectViewModel model)
        {
            if (model.ListOfAddedOffers != null)
            {
                foreach (var item in model.ListOfAddedOffers)
                {
                    item.Attribute = _touristObject.GetObjectAttribute(item.AttributeId);
                }
            }
            if (model.ListOfAddedCntOffers != null)
            {
                foreach (var item in model.ListOfAddedCntOffers)
                {
                    item.CountableObjAttr = _touristObject.GetCountableObjectAttribute(item.CountableObjAttrId);
                }
            }
            if (model.ListOfAddedSpecialOffers != null)
            {
                foreach (var item in model.ListOfAddedSpecialOffers)
                {
                    item.SpecialOffer = _touristObject.GetObjectAttribute(item.SpecialOfferId);
                }
            }

            return(model);
        }
Example #2
0
        public CreateActorWindow([NotNull] CreateObjectViewModel vm)
        {
            _vm = vm;

            InitializeComponent();

            DataContext = vm;
        }
Example #3
0
        [Route("createobject")] // /createobject
        public IActionResult CreateObject()

        {
            var model = new CreateObjectViewModel();

            model = FillSelectLists(model);
            DeleteAllTempImages();

            return(View(model));
        }
        private void OnCreateActorClick(object sender, RoutedEventArgs e)
        {
            var objectVm = GetDataContextFromFrameworkElement <WorldObjectViewModel>(sender);

            var createVm = new CreateObjectViewModel(objectVm, _gameVM);

            var window = new CreateActorWindow(createVm);

            window.ShowDialog();
        }
Example #5
0
        public IActionResult DeleteImageTemp(CreateObjectViewModel model)
        {
            var relativelocation = model.DeleteImagePath.Remove(0, 1);
            var path             = Path.Combine(_hostingEnvironment.WebRootPath, relativelocation);

            if (System.IO.File.Exists(path))
            {
                System.IO.File.Delete(path);
            }

            return(Ok());
        }
        public void ViewModel_GetModelTestCase()
        {
            CreateObjectViewModel firstViewModel = null;

            Given("Create view-model", frame => firstViewModel = ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .When("Get model", _ => firstViewModel.GetModel <CreateObjectModel>())
            .Then("Cheking view-models", model =>
            {
                firstViewModel.NotNull()
                .CheckCreateObject(3);

                Assert.IsNotNull(model, "model can not be null");
            })
            .RunWindow(Timeuots.Second.Five);
        }
        public void ViewModel_GetViewModelTestCase()
        {
            CreateObjectViewModel firstViewModel = null;

            Given("Create view-model", frame => ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .And("Cheking first view-model", viewModel => firstViewModel = viewModel.NotNull().CheckCreateObject(2))
            .When("Get seccond view-model", _ => firstViewModel.GetViewModel <TestViewModel>())
            .Then("Cheking view-models", secondViewModel =>
            {
                firstViewModel.CheckCreateObject(3);
                Assert.IsNotNull(secondViewModel, "second view-model can not be null");
                TestHelper.CheckBindViewModel(firstViewModel, secondViewModel);
            })
            .RunWindow(Timeuots.Second.Five);
        }
Example #8
0
 private bool CheckPricing(CreateObjectViewModel model)
 {
     if ((!model.OccupancyPricing) &&
         ((model.StandardPricingModel.StandardOccupancy == null || model.StandardPricingModel.OffsetPercentage == null ||
           model.StandardPricingModel.MinOccupancy == null || model.StandardPricingModel.MaxOccupancy == null) ||
          model.StandardPricingModel.StandardOccupancy < model.StandardPricingModel.MinOccupancy || model.StandardPricingModel.StandardOccupancy > model.StandardPricingModel.MaxOccupancy))
     {
         return(false);
     }
     if (model.OccupancyPricing && (model.OccupancyBasedPricing.MaxOccupancy == null || model.OccupancyBasedPricing.MinOccupancy == null || model.OccubancBasedPrices == null))
     {
         return(false);
     }
     return(true);
 }
        public void ViewModel_BindModelTestCase()
        {
            CreateObjectViewModel viewModel = null;
            CreateObjectModel     result    = new CreateObjectModel();

            Given("Create view-model", frame => viewModel = ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .When("Bind model", _ =>
            {
                viewModel.BindModel(result);
            })
            .Then("Cheking models", _ =>
            {
                viewModel.NotNull().CheckCreateObject(2);
                Assert.AreEqual(viewModel.ModelOptions, result.ModelOptions, "options must match");
            })
            .RunWindow(Timeuots.Second.Five);
        }
        public void ViewModel_GetViewModelSomeTypeTestCase()
        {
            CreateObjectViewModel firstViewModel = null;

            Given("Create view-model", frame => firstViewModel = ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .When("Get seccond view-model", _ => firstViewModel.GetViewModel <CreateObjectViewModel>())
            .Then("Cheking view-models", secondViewModel =>
            {
                firstViewModel.NotNull()
                .CheckCreateObject(3);

                secondViewModel.NotNull()
                .CheckCreateObject(0);

                Assert.AreNotEqual(firstViewModel, secondViewModel, "must be different objects");
                TestHelper.CheckBindViewModel(firstViewModel, secondViewModel);
            })
            .RunWindow(Timeuots.Second.Five);
        }
        public void Model_GetModelSameTypeTestCase()
        {
            CreateObjectViewModel firstViewModel = null;
            CreateObjectModel     firstModel     = null;
            CreateObjectModel     secondModel    = null;

            Given("Create view-model", frame => firstViewModel = ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .When("Get models", _ =>
            {
                firstModel  = firstViewModel.GetModel <CreateObjectModel>();
                secondModel = firstModel.GetModel <CreateObjectModel>();
            })
            .Then("Cheking models", _ =>
            {
                firstViewModel.NotNull().CheckCreateObject(4);

                Assert.AreNotEqual(firstModel, secondModel, "must be different objects");
            })
            .RunWindow(Timeuots.Second.Five);
        }
Example #12
0
        public async Task <JsonResult> ImageUploadTemp(CreateObjectViewModel model)
        {
            var file = model.ImageFile;

            if (file != null)
            {
                var fileName  = Path.GetFileName(file.FileName);
                var extention = Path.GetExtension(file.FileName);
                var filenamewithoutextension = Path.GetFileNameWithoutExtension(file.FileName);

                var path = Path.Combine(_hostingEnvironment.WebRootPath, "Temp", file.FileName);

                using (var fileStream = new FileStream(path, FileMode.Create))
                {
                    await file.CopyToAsync(fileStream);
                }
            }

            return(Json(file.FileName));
        }
Example #13
0
        private CreateObjectViewModel FillSelectLists(CreateObjectViewModel model)
        {
            IEnumerable <Countries> countries = _touristObject.GetCountries();

            model.Countries = countries.Select(c => new SelectListItem()
            {
                Text = c.Name, Value = c.Id.ToString()
            }).ToList();
            if (model.SelectedCountry != null)
            {
                IEnumerable <Cities> cities = _touristObject.GetCitiesFromCountry(Convert.ToInt32(model.SelectedCountry));
                model.Cities = cities.Select(c => new SelectListItem()
                {
                    Text = c.Name, Value = c.Id.ToString()
                }).ToList();
            }
            IEnumerable <ObjectTypes> objecttypes = _touristObject.GetObjectTypes();

            model.ObjectTypes = objecttypes.Select(ot => new SelectListItem()
            {
                Text = ot.Name, Value = ot.Id.ToString()
            }).ToList();

            IEnumerable <ObjectAttributes> attributes = _touristObject.GetAllObjectAttributes();

            model.Offers = attributes.Select(a => new SelectListItem()
            {
                Text = a.Name, Value = a.Id.ToString()
            }).ToList();
            model.SpecialOffers = model.Offers;

            IEnumerable <CountableObjectAttributes> cntOffers = _touristObject.GetAllCountableObjectAttributes();

            model.CountableOffers = cntOffers.Select(co => new SelectListItem()
            {
                Text = co.Name, Value = co.Id.ToString()
            }).ToList();

            return(model);
        }
        public void Model_GetModelTestCase()
        {
            CreateObjectViewModel firstViewModel = null;
            CreateObjectModel     firstModel     = null;
            TestModel             secondModel    = null;

            Given("Create view-model", frame => firstViewModel = ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .When("Get models", _ =>
            {
                firstModel  = firstViewModel.GetModel <CreateObjectModel>();
                secondModel = firstModel.GetModel <TestModel>();
            })
            .Then("Cheking models", _ =>
            {
                firstViewModel.NotNull().CheckCreateObject(4);

                Assert.IsNotNull(firstModel, "first model can not be null");
                Assert.IsNotNull(secondModel, "first model can not be null");
                Assert.AreEqual(1, firstModel.GetModelCallCounter, $"method '{nameof(ModelBase.GetModel)}' should be called 1 times");
            })
            .RunWindow(Timeuots.Second.Five);
        }
 public static CreateObjectViewModel CheckCreateObject(this CreateObjectViewModel viewModel, int expectedCountCallCreateObject)
 {
     TestHelper.AssertCounter(expectedCountCallCreateObject, viewModel.CreateObjectCallCounter, "CreateObject");
     return(viewModel);
 }
Example #16
0
        [Route("createobject")] // /createobject
        public async Task <IActionResult> CreateObject(CreateObjectViewModel model)
        {
            if (!string.IsNullOrWhiteSpace(model.AddedOffers))
            {
                model.ListOfAddedOffers = (_touristObject.ParseStringToIDsList(model.AddedOffers))
                                          .Select(item => new ObjectHasAttributes()
                {
                    AttributeId = item
                }).ToList();
            }
            if (!string.IsNullOrWhiteSpace(model.AddedCountableOffers))
            {
                model.ListOfAddedCntOffers = (_touristObject.ParseStringToKeyValueList(model.AddedCountableOffers))
                                             .Select(item => new CntObjAttributesCount()
                {
                    CountableObjAttrId = item.Key, Count = item.Value
                }).ToList();
            }
            if (!string.IsNullOrWhiteSpace(model.AddedSpecialOffers))
            {
                model.ListOfAddedSpecialOffers = (_touristObject.ParseStringToKeyValue(model.AddedSpecialOffers))
                                                 .Select(item => new SpecialOffersPrices()
                {
                    SpecialOfferId = item.Key, Price = item.Value
                }).ToList();
            }
            if (model.OccupancyPricing && (!string.IsNullOrWhiteSpace(model.OccubancBasedPrices)))
            {
                model.OccupancyBasedPricing.Prices = (_touristObject.ParseStringToKeyValue(model.OccubancBasedPrices))
                                                     .Select(item => new OccupancyBasedPrices()
                {
                    Occupancy = item.Key, PricePerNight = item.Value
                }).ToList();
            }
            if (!string.IsNullOrWhiteSpace(model.UnavailablePeriodsString))
            {
                model.UnavailablePeriods = (_touristObject.ParseDates(model.UnavailablePeriodsString))
                                           .Select(item => new UnavailablePeriods()
                {
                    From = item.Key, To = item.Value
                }).ToList();
            }

            if ((!ModelState.IsValid) || (!CheckPricing(model)))
            {
                TempData["Error-Notification"] = "Ispravno popunite neophodna polja!";
                model = FillSelectLists(model);
                model = GetAttributes(model);
                DeleteAllTempImages();
                return(View(model));
            }

            Objects newobject = new Objects()
            {
                Name                = model.Name,
                Address             = model.Address,
                EmailContact        = model.EmailContact,
                PhoneNumberContact  = model.PhoneNumberContact,
                WebContact          = model.WebContact,
                Description         = model.Description,
                ObjectHasAttributes = model.ListOfAddedOffers == null ? new List <ObjectHasAttributes>() : model.ListOfAddedOffers.Select(item => new ObjectHasAttributes()
                {
                    AttributeId = item.AttributeId
                }).ToList(),
                CntObjAttributesCount = model.ListOfAddedCntOffers == null ? new List <CntObjAttributesCount>() : model.ListOfAddedCntOffers,
                SpecialOffers         = model.ListOfAddedSpecialOffers == null ? new List <SpecialOffersPrices>() : model.ListOfAddedSpecialOffers,
                CountryId             = Convert.ToInt32(model.SelectedCountry) == 0 ? null : (int?)Convert.ToInt32(model.SelectedCountry),
                CityId                = Convert.ToInt32(model.SelectedCity) == 0 ? null : (int?)Convert.ToInt32(model.SelectedCity),
                ObjectTypeId          = Convert.ToInt32(model.SelectedObjectType) == 0 ? null : (int?)Convert.ToInt32(model.SelectedObjectType),
                Lat                   = model.Lat,
                Lng                   = model.Lng,
                UnavailablePeriods    = model.UnavailablePeriods == null ? new List <UnavailablePeriods>() : model.UnavailablePeriods,
                OccupancyPricing      = model.OccupancyPricing,
                StandardPricingModel  = (!model.OccupancyPricing) ? model.StandardPricingModel : null,
                OccupancyBasedPricing = model.OccupancyPricing ? model.OccupancyBasedPricing : null,
                FullAddress           = model.Address + (Convert.ToInt32(model.SelectedCity) == 0 ? "" : _touristObject.GetCityName(Convert.ToInt32(model.SelectedCity)))
                                        + (Convert.ToInt32(model.SelectedCity) == 0 ? "" : _touristObject.GetCoutnryName(Convert.ToInt32(model.SelectedCountry))),
                IdentUserId  = _userManager.GetUserId(this.User),
                ObjectImages = CopyFiles(Path.Combine(_hostingEnvironment.WebRootPath, "Temp"), Path.Combine(_hostingEnvironment.WebRootPath, "UploadedImages")),
            };

            if (model.Surface != null)
            {
                newobject.Surface = (float)model.Surface;
            }

            var currency = Request.Cookies["Currency"] == null ? "BAM" : Request.Cookies["Currency"];
            await _touristObject.AddObject(newobject, currency);

            TempData["Notification"] = "UspjeĆĄno ste dodali ponudu";
            return(Redirect("createobject"));
        }
 public static CreateObjectViewModel NotNull(this CreateObjectViewModel viewModel)
 {
     Assert.IsNotNull(viewModel, "view-model can not be null");
     return(viewModel);
 }