Esempio n. 1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            _vm = App.Locator.CreateAim;

            // Set our view from the "Second" layout resource
            SetContentView(Resource.Layout.create_aim);

            FindViewById <Button>(Resource.Id.saveButton).SetCommand(_vm.SaveCommand);

            _startDateEditControl = FindViewById <EditText>(Resource.Id.startDate);
            _finalDateEditControl = FindViewById <EditText>(Resource.Id.endDate);
            _aimName        = FindViewById <EditText>(Resource.Id.aimName);
            _currentBalance = FindViewById <EditText>(Resource.Id.initialBalance);
            _finalBalance   = FindViewById <EditText>(Resource.Id.finalBalance);

            _bindings = new List <Binding>
            {
                this.SetBinding(() => _aimName.Text, () => _vm.Name, BindingMode.OneWay),
                this.SetBinding(() => _currentBalance.Text, () => _vm.CurrentBalance, BindingMode.OneWay).ConvertSourceToDouble(),
                this.SetBinding(() => _finalBalance.Text, () => _vm.FinalBalance, BindingMode.OneWay).ConvertSourceToDouble(),
                this.SetBinding(() => _startDateEditControl.Text, () => _vm.StartDate, BindingMode.OneWay).ConvertSourceToDateTime(),
                this.SetBinding(() => _finalDateEditControl.Text, () => _vm.FinalDate, BindingMode.OneWay).ConvertSourceToDateTime()
            };

            _startDateEditControl.Click += OnChooseStartDateClick;
            _finalDateEditControl.Click += OnChooseStartDateClick;
        }
        public ActionResult Create()
        {
            var model = new CreateAimViewModel();

            ViewData["country"]  = GetCountries();
            ViewData["category"] = GetCategories();
            //model.Countries = GetCountries();
            //model.AimCategories = GetCategories();

            return(this.View(model));
        }
        public ActionResult Create(CreateAimViewModel aimModel, FormCollection form)
        {
            if (!this.IsImage(aimModel.Photo))
            {
                ViewData["country"]  = GetCountries();
                ViewData["category"] = GetCategories();
                return(View());
            }

            int countryId = 0;
            int?cityId;

            try
            {
                countryId = int.Parse(form["Country"].ToString());
            }
            catch (Exception)
            {
                this.TempData.Add("Country", "Choose a valid country");
                return(this.RedirectToAction("Create"));
            }

            try
            {
                cityId = int.Parse(form["city"].ToString());
            }
            catch (Exception)
            {
                cityId = null;
                this.TempData.Add("City", "Choose a valid city");
                return(this.RedirectToAction("Create"));
            }

            int categoryId = 0;

            try
            {
                categoryId = int.Parse(form["category"].ToString());
            }
            catch (Exception)
            {
                this.TempData.Add("InvalidCategory", "Choose a valid category");
                return(this.RedirectToAction("Create"));
            }

            if (ModelState.IsValid)
            {
                string fileName = string.Empty;
                if (Request.Files.Count > 0)
                {
                    fileName = aimModel.Photo.FileName;
                    string path = this.Server.MapPath($"~/Images/{fileName}");

                    aimModel.Photo.SaveAs(path);
                }

                Aim newAim = this.mapper.Map <Aim>(aimModel);

                newAim.CountryId     = countryId;
                newAim.CityId        = cityId;
                newAim.AimCategoryId = categoryId;
                newAim.OwnerUsername = this.User.Identity.Name;
                newAim.Photo         = fileName;

                aimService.AddAim(newAim);
                this.TempData.Add("Addition", "Your aim was added successfully.");

                return(RedirectToRoute(new
                {
                    controller = "Explore",
                    action = "Index"
                }));
            }
            else
            {
                ViewData["country"]  = GetCountries();
                ViewData["category"] = GetCategories();
                return(View(aimModel));
            }
        }