Пример #1
0
        private void CreateOrUpdateKeyValue(SettingsKeys key, SettingsInDetailViewModel viewModel)
        {
            string value = null;
            switch (key)
            {
                case SettingsKeys.WebServerUrl:
                    value = viewModel.WebServerUrl ?? "";
                    break;
                case SettingsKeys.PaymentGatewayWSUrl:
                    value = viewModel.PaymentGatewayWSUrl ?? "";
                    break;
                case SettingsKeys.AllowBarcodeInput:
                    value = viewModel.AllowBarcodeInput ?? "0";
                    break;
                case SettingsKeys.RecordsPerPage:
                    value = viewModel.RecordsPerPage.ToString() ?? "10";
                    break;
                case SettingsKeys.ApproveAndDispatch:
                    value = viewModel.ApproveAndDispatch ?? "0";
                    break;
                case SettingsKeys.AllowDecimal:
                    value = viewModel.AllowDecimal.ToString();
                    break;
                case SettingsKeys.EnForceStockTake:

                    value = viewModel.EnForceStockTake.ToString();
                    break;
                case SettingsKeys.EnableGps:
                    value = viewModel.EnableGps.ToString();
                    break;
                case SettingsKeys.NumberOfDecimalPlaces:
                    value = viewModel.NumberOfDecimalPlaces.ToString();
                    break;
            }

            if (_settingsViewModelBuilder.HasKey(key))
            {
                var setting = _settingsViewModelBuilder.GetIdFromKey(key);
                if (setting.Value != value)
                {
                    var id = setting.Id;
                    _settingsViewModelBuilder.SaveSetting(id, key, value);

                }
            }
            else
            {
                var id = Guid.NewGuid();
                _settingsViewModelBuilder.SaveSetting(id, key, value);
            }
        }
Пример #2
0
        public ActionResult SettingsDetails()
        {
            if (TempData["msg"] != null)
            {
                ViewBag.msg = TempData["msg"].ToString();
                TempData["msg"] = null;
            }

            var settings =
                _settingsViewModelBuilder.GetAll(true);
            var settingViewModel = new SettingsInDetailViewModel();

            foreach (var setting in settings)
            {
                if (setting.Key == SettingsKeys.WebServerUrl)
                {
                    settingViewModel.WebServerUrl = setting.Value;
                }
                if (setting.Key == SettingsKeys.PaymentGatewayWSUrl)
                {
                    settingViewModel.PaymentGatewayWSUrl = setting.Value;
                }
                if (setting.Key == SettingsKeys.AllowBarcodeInput)
                {
                    settingViewModel.AllowBarcodeInput = setting.Value == "0" ? "0" : "1";
                }
                if (setting.Key == SettingsKeys.ApproveAndDispatch)
                {
                    settingViewModel.ApproveAndDispatch = setting.Value == "0" ? "0" : "1";
                }
                if (setting.Key == SettingsKeys.RecordsPerPage)
                {
                    int recordsPerPage = 10;
                    int.TryParse(setting.Value, out recordsPerPage);
                    settingViewModel.RecordsPerPage = recordsPerPage;
                }
                if (setting.Key == SettingsKeys.AllowDecimal)
                {
                    bool allowDecimal = false;
                    bool.TryParse(setting.Value, out allowDecimal);
                    settingViewModel.AllowDecimal = allowDecimal;
                }
                if (setting.Key == SettingsKeys.NumberOfDecimalPlaces)
                {
                    int numberOfDecimalPlaces = 0;
                    int.TryParse(setting.Value, out numberOfDecimalPlaces);
                    
                    settingViewModel.NumberOfDecimalPlaces = numberOfDecimalPlaces;
                }
                if (setting.Key == SettingsKeys.EnForceStockTake)
                {
                    bool enforceStocktake = false;
                    bool.TryParse(setting.Value, out enforceStocktake);
                    settingViewModel.EnForceStockTake = enforceStocktake;
                }
                if (setting.Key == SettingsKeys.EnableGps)
                {
                    bool enableGps = false;
                    bool.TryParse(setting.Value, out enableGps);
                    settingViewModel.EnableGps = enableGps;
                }

            }

            var allowBarCodeInput = settingViewModel.AllowBarcodeInput ?? "0";
            ViewData["AllowBarCodeInput"] = new SelectList(settingViewModel.bools, "Id", "Name",
                                               allowBarCodeInput);

            var approveAndDispatch = settingViewModel.ApproveAndDispatch ?? "0";
            ViewData["approveAndDispatch"] = new SelectList(settingViewModel.bools, "Id", "Name",
                                                        approveAndDispatch);

            ViewData["NumberOfDecimals"] = settingViewModel.NumberOfDecimalPlaces>0;
            ViewBag.numberofDecimals = settingViewModel.NumberOfDecimalPlaces > 0;
            return View(settingViewModel);
        }
Пример #3
0
        public ActionResult SettingsDetails(SettingsInDetailViewModel viewModel)
        {
            try
            {
                var distributorAppSettings = new List<SettingsKeys>()
                {
                    SettingsKeys.AllowBarcodeInput,
                    SettingsKeys.WebServerUrl,
                    SettingsKeys.PaymentGatewayWSUrl,
                    SettingsKeys.RecordsPerPage,
                    SettingsKeys.ApproveAndDispatch,
                    SettingsKeys.AllowDecimal,
                    SettingsKeys.EnForceStockTake,
                    SettingsKeys.EnableGps,
                    SettingsKeys.NumberOfDecimalPlaces
                };
                var keys =
                    from Enum sk in Enum.GetValues(typeof (SettingsKeys))
                    where (SettingsKeys) sk != SettingsKeys.None
                          && distributorAppSettings.Contains((SettingsKeys) sk)
                    select sk;

                foreach (var e in keys)
                {
                    CreateOrUpdateKeyValue((SettingsKeys) e, viewModel);
                }

                var allowBarCodeInput = viewModel.AllowBarcodeInput ?? "0";
                ViewData["AllowBarCodeInput"] = new SelectList(viewModel.bools, "Id", "Name",
                    allowBarCodeInput);
                var approveAndDispatch = viewModel.ApproveAndDispatch ?? "0";
                ViewBag.ApproveAndDispatch = new SelectList(viewModel.bools, "Id", "Name",
                    approveAndDispatch);
                TempData["msg"] = "Setting Successfully Updated";
            }
            catch (Exception ex)
            {
                TempData["msg"] = ex.Message;
            }
            return RedirectToAction("SettingsDetails");
        }