public async Task <IActionResult> ListStores() { StoresViewModel result = new StoresViewModel(); result.StatusMessage = StatusMessage; var stores = await _Repo.GetStoresByUserId(GetUserId()); var balances = stores .Select(s => s.GetDerivationStrategies(_NetworkProvider) .Select(d => (Wallet: _WalletProvider.GetWallet(d.Network), DerivationStrategy: d.DerivationStrategyBase)) .Where(_ => _.Wallet != null) .Select(async _ => (await _.Wallet.GetBalance(_.DerivationStrategy)).ToString() + " " + _.Wallet.Network.CryptoCode)) .ToArray(); await Task.WhenAll(balances.SelectMany(_ => _)); for (int i = 0; i < stores.Length; i++) { var store = stores[i]; result.Stores.Add(new StoresViewModel.StoreViewModel() { Id = store.Id, Name = store.StoreName, WebSite = store.StoreWebsite, Balances = balances[i].Select(t => t.Result).ToArray() }); } return(View(result)); }
public StoreListPage() { InitializeComponent(); viewModels = new StoresViewModel(); BindingContext = viewModels; viewModels.IsLoading = true; }
public async Task <IActionResult> ListStores() { StoresViewModel result = new StoresViewModel(); var stores = await _Repo.GetStoresByUserId(GetUserId()); var balances = stores .Select(s => s.GetSupportedPaymentMethods(_NetworkProvider) .OfType <DerivationStrategy>() .Select(d => ((Wallet: _WalletProvider.GetWallet(d.Network), DerivationStrategy: d.DerivationStrategyBase))) .Where(_ => _.Wallet != null) .Select(async _ => (await GetBalanceString(_)) + " " + _.Wallet.Network.CryptoCode)) .ToArray(); await Task.WhenAll(balances.SelectMany(_ => _)); for (int i = 0; i < stores.Length; i++) { var store = stores[i]; result.Stores.Add(new StoresViewModel.StoreViewModel() { Id = store.Id, Name = store.StoreName, WebSite = store.StoreWebsite, IsOwner = store.Role == StoreRoles.Owner, Balances = store.Role == StoreRoles.Owner ? balances[i].Select(t => t.Result).ToArray() : Array.Empty <string>() }); } return(View(result)); }
public StoresPage(StoresViewModel viewModel) { InitializeComponent(); //MoveMapToSpain(); BindingContext = viewModel; }
public ActionResult StoreAction(string SearchString) { StoresViewModel StoreModel = new StoresViewModel(); if (String.IsNullOrEmpty(SearchString)) { ModelState.AddModelError("SearchString", "Store must be selected."); return((ActionResult)View(StoreModel)); } switch (SearchString) { case "0": TempData["Store"] = ($"Riteaid"); return(RedirectToAction("FilterIndex", "Shot")); case "1": TempData["Store"] = ($"CVS"); return(RedirectToAction("CVSFilter", "Shot")); } return(View()); }
public async Task <IActionResult> Index() { var stores = await _storService.GetStores(); var vm = new StoresViewModel(); vm.AllStores = stores.ToList(); return(View(vm)); }
public IActionResult CreateStoreInCompanyPage(Guid id) { var stores = new StoresViewModel(); stores.CompanyId = id; var model = _companyService.GetCompanyBy(id); ViewData["CompanyIdToSelect"] = model.Result.Name; return(View()); }
public async Task <IActionResult> ListStores( string sortOrder = null, string sortOrderColumn = null ) { StoresViewModel result = new StoresViewModel(); var stores = await _Repo.GetStoresByUserId(GetUserId()); if (sortOrder != null && sortOrderColumn != null) { stores = stores.OrderByDescending(store => { switch (sortOrderColumn) { case nameof(store.StoreName): return(store.StoreName); case nameof(store.StoreWebsite): return(store.StoreWebsite); default: return(store.Id); } }).ToArray(); switch (sortOrder) { case "desc": ViewData[$"{sortOrderColumn}SortOrder"] = "asc"; break; case "asc": stores = stores.Reverse().ToArray(); ViewData[$"{sortOrderColumn}SortOrder"] = "desc"; break; } } for (int i = 0; i < stores.Length; i++) { var store = stores[i]; var blob = store.GetStoreBlob(); result.Stores.Add(new StoresViewModel.StoreViewModel() { Id = store.Id, Name = store.StoreName, WebSite = store.StoreWebsite, IsOwner = store.Role == StoreRoles.Owner, HintWalletWarning = blob.Hints.Wallet }); } return(View(result)); }
//Map maps; public MainPage() { /* REFERENCES * https://docs.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/userinterface-monkeyapppicker/ * https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/map/pins * https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/map/map * https://docs.microsoft.com/en-us/dotnet/api/xamarin.forms.picker?view=xamarin-forms */ InitializeComponent(); BindingContext = new StoresViewModel(); }
public Stores() { InitializeComponent(); // Ensure the page is only created once, and cached during navigation (required for back connected animation) NavigationCacheMode = NavigationCacheMode.Enabled; _viewModel = new StoresViewModel(); DataContext = _viewModel; StadsAppRestApiClient.Instance.Updated += () => { NavigationCacheMode = NavigationCacheMode.Disabled; NavigationCacheMode = NavigationCacheMode.Enabled; }; }
public IHttpActionResult UpdateStores(StoresViewModel stores) { StoreListModel model = new StoreListModel(); model.Stores = JsonConvert.DeserializeObject <List <StoreModel> >(stores.Stores); foreach (var store in model.Stores) { StoreService.UpdateStores(store); } return(Ok(stores)); }
public StoresPage() : base() { InitializeComponent(); this.ProductsButton.IsSelected = false; this.StoresButton.IsSelected = true; this.ViewModel = MvxToolbox.LoadViewModel<StoresViewModel>(); this.ToolbarItems.Add(new ToolbarItem("", "filterIcon.png", async () => { await this.Navigation.PushModalAsync(new NavigationPage(new FilterStoresPage(this.ViewModel.SearchQuery))); })); this.SearchBar.Placeholder = AppResources.PlaceholderSearchStores; ListView.ItemSelected += itemSelected; }
// GET: Store public ActionResult Index(int?id, bool completed = false, string errorMessage = null) { var stores = unitOfWork.Stores.GetStores(); var viewModel = new StoresViewModel { Stores = stores, ErrorMessage = errorMessage }; if (id != null) { ViewBag.SelectedId = id.Value; } return(View(viewModel)); }
public async Task <IActionResult> ListStores() { StoresViewModel result = new StoresViewModel(); var stores = await _Repo.GetStoresByUserId(GetUserId()); for (int i = 0; i < stores.Length; i++) { var store = stores[i]; result.Stores.Add(new StoresViewModel.StoreViewModel() { Id = store.Id, Name = store.StoreName, WebSite = store.StoreWebsite, IsOwner = store.HasClaim(Policies.CanModifyStoreSettings.Key) }); } return(View(result)); }
public async Task <IActionResult> ListStores() { StoresViewModel result = new StoresViewModel(); var stores = await _Repo.GetStoresByUserId(GetUserId()); for (int i = 0; i < stores.Length; i++) { var store = stores[i]; result.Stores.Add(new StoresViewModel.StoreViewModel() { Id = store.Id, Name = store.StoreName, WebSite = store.StoreWebsite, IsOwner = store.Role == StoreRoles.Owner }); } return(View(result)); }
public async Task <IHttpActionResult> GetNearbyStores(double longitude, double latitude, int PageSize, int PageNo, string filterTypes) { try { var point = Utility.CreatePoint(latitude, longitude); using (RiscoContext ctx = new RiscoContext()) { StoresViewModel storesViewModel = new StoresViewModel(); if (longitude == 0 && latitude == 0) { storesViewModel.Count = ctx.Stores.Count(x => x.IsDeleted == false); storesViewModel.Stores = ctx.Stores.Include(x => x.StoreDeliveryHours).Include(x => x.StoreRatings).Where(x => x.IsDeleted == false).OrderByDescending(x => x.Id).Page(PageSize, PageNo).ToList(); } else { storesViewModel.Count = ctx.Stores.Where(x => x.Location.Distance(point) < Global.NearbyStoreRadius && x.IsDeleted == false).Count(); storesViewModel.Stores = ctx.Stores.Include(x => x.StoreDeliveryHours).Include(x => x.StoreRatings).Where(x => x.Location.Distance(point) < Global.NearbyStoreRadius && x.IsDeleted == false).OrderByDescending(x => x.Id).Page(PageSize, PageNo).ToList(); } foreach (var store in storesViewModel.Stores) { store.CalculateAverageRating(); } CustomResponse <StoresViewModel> reponse = new CustomResponse <StoresViewModel> { Message = Global.ResponseMessages.Success, StatusCode = (int)HttpStatusCode.OK, Result = storesViewModel }; return(Ok(reponse)); } } catch (Exception ex) { return(StatusCode(Utility.LogError(ex))); } }
public ActionResult Index() { try { StoresViewModel StoreModel = new StoresViewModel(); StoreModel = null; return(View()); } catch (Exception ex) { if (!(TempData == null)) { TempData["Message"] = ($"Error { ex.Message }"); return(RedirectToAction("500", "Error")); } else { return(RedirectToAction("500", "Error", ex.Message)); } } }
public async Task <IActionResult> ListStores() { StoresViewModel result = new StoresViewModel(); result.StatusMessage = StatusMessage; var stores = await _Repo.GetStoresByUserId(GetUserId()); var balances = stores.Select(async s => string.IsNullOrEmpty(s.DerivationStrategy) ? Money.Zero : await _Wallet.GetBalance(ParseDerivationStrategy(s.DerivationStrategy, null))).ToArray(); for (int i = 0; i < stores.Length; i++) { var store = stores[i]; result.Stores.Add(new StoresViewModel.StoreViewModel() { Id = store.Id, Name = store.StoreName, WebSite = store.StoreWebsite, Balance = await balances[i] }); } return(View(result)); }
public StoresPage() { InitializeComponent(); BindingContext = viewModel = new StoresViewModel(this); viewModel.ForceSync = true; NewStore.Clicked += (sender, e) => { Navigation.PushAsync(new StorePage(null)); }; StoreList.ItemSelected += (sender, e) => { if (StoreList.SelectedItem == null) { return; } Navigation.PushAsync(new StorePage(e.SelectedItem as Store)); StoreList.SelectedItem = null; }; }
public StoresView() { InitializeComponent(); BindingContext = new StoresViewModel(); }
public async Task <ActionResult> CVSFilter(string SearchString) { try { StoresViewModel StoreModel = new StoresViewModel(); List <Stores> mystores = new List <Stores>(); TempData["Store"] = ($"CVS"); if (String.IsNullOrEmpty(SearchString)) { ModelState.AddModelError("SearchString", "States must contain a value."); return((ActionResult)View(StoreModel)); } string thisstate = string.Empty; switch (SearchString) { case "0": thisstate = "NJ"; break; case "1": thisstate = "FL"; break; } ///CVS logic var request = new HttpRequestMessage() { RequestUri = new Uri("https://www.cvs.com/immunizations/covid-19-vaccine.vaccine-status." + thisstate.ToLower() + ".json?vaccineinfo"), Method = HttpMethod.Get, }; request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); request.Headers.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36"); request.Headers.Accept.ParseAdd("text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"); request.Headers.AcceptLanguage.ParseAdd("en-US,en;q=0.9"); request.Headers.Referrer = new Uri("https://www.cvs.com/immunizations/covid-19-vaccine"); var responseTask = _client.SendAsync(request); responseTask.Wait(); var result = responseTask.Result; if (result.IsSuccessStatusCode) { var readTask = await result.Content.ReadAsStringAsync(); CVSStoresStateNJ.Rootobject cvsNJstores; CVSStoresStateFL.Rootobject cvsFLstores; if (thisstate.ToString().Contains("FL")) { cvsFLstores = JsonConvert.DeserializeObject <CVSStoresStateFL.Rootobject>(readTask); if (cvsFLstores.IsNotNull()) { CVSStoresStateFL.Data storedata = cvsFLstores.responsePayloadData.data; if (cvsFLstores.responsePayloadData.IsNotNull()) { foreach (FL store in storedata.FL) { Stores stores = new Stores() { Address = store.city, StoreNumber = 0, city = store.city, State = store.state, Zip = "", Status = store.status }; mystores.Add(stores); } } } } else { cvsNJstores = JsonConvert.DeserializeObject <CVSStoresStateNJ.Rootobject>(readTask); if (cvsNJstores.IsNotNull()) { CVSStoresStateNJ.Data storedata = cvsNJstores.responsePayloadData.data; if (cvsNJstores.responsePayloadData.IsNotNull()) { foreach (NJ store in storedata.NJ) { Stores stores = new Stores() { Address = store.city, StoreNumber = 0, city = store.city, State = store.state, Zip = "", Status = store.status }; mystores.Add(stores); } } } } } ///CVS logic StoreModel.ShotStores = mystores; return((ActionResult)View(StoreModel)); } catch (Exception ex) { if (!(TempData == null)) { TempData["Message"] = ($"Error { ex.Message }"); return(RedirectToAction("Error500", "Errors")); } else { return(RedirectToAction("Error500", "Errors", ex.Message)); } } }
public async Task <ActionResult> FilterIndex(string SearchString) { try { StoresViewModel StoreModel = new StoresViewModel(); TempData["Store"] = ($"Riteaid"); if (String.IsNullOrEmpty(SearchString)) { ModelState.AddModelError("SearchString", "Zipcode must contain a value."); return((ActionResult)View(StoreModel)); } List <Stores> mystores = new List <Stores>(); ///Web Service to Consume ///https://www.riteaid.com/services/ext/v2/vaccine/checkSlots?storeNumber=1870 ///https://www.riteaid.com/services/ext/v2/stores/getStores?address=08889&attrFilter=PREF-112&fetchMechanismVersion=2&radius=50 var request = new HttpRequestMessage() { RequestUri = new Uri("https://www.riteaid.com/services/ext/v2/stores/getStores?address=" + SearchString + "&attrFilter=PREF-112&fetchMechanismVersion=2&radius=90"), Method = HttpMethod.Get, }; request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); request.Headers.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36"); request.Headers.Accept.ParseAdd("text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"); request.Headers.AcceptLanguage.ParseAdd("en-US,en;q=0.9"); request.Headers.Referrer = new Uri("https://www.riteaid.com/pharmacy/apt-scheduler"); var responseTask = _client.SendAsync(request); responseTask.Wait(); StoreData.Root Stores; var result = responseTask.Result; if (result.IsSuccessStatusCode) { var readTask = await result.Content.ReadAsStringAsync(); Stores = JsonConvert.DeserializeObject <StoreData.Root>(readTask); if (Stores.IsNotNull()) { if (!string.IsNullOrEmpty((string)Stores.ErrCde)) { throw new Exception("Web service error -> " + Stores.ErrMsg); } } else { var error = new Errors() { message = "[GetStores Call] Stores object returned a Null reference" }; var view = new StoresViewModel() { errors = error }; return(View(view)); } } else //web api sent error response { //log response status here.. Errors error = await globalErrorsAsync(result); if (error.statuscode > 0) { return(RedirectToAction("Error500", "Errors", error)); } return((ActionResult)View()); } StoreData.Data Data = Stores.Data; foreach (StoreData.Store store in Data.stores) { //HTTP GET request = new HttpRequestMessage() { RequestUri = new Uri("https://www.riteaid.com/services/ext/v2/vaccine/checkSlots?storeNumber=" + store.storeNumber), Method = HttpMethod.Get, }; request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); request.Headers.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36"); request.Headers.Accept.ParseAdd("text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"); request.Headers.AcceptLanguage.ParseAdd("en-US,en;q=0.9"); request.Headers.Referrer = new Uri("https://www.riteaid.com/pharmacy/apt-scheduler"); responseTask = _client.SendAsync(request); responseTask.Wait(); result = responseTask.Result; if (result.IsSuccessStatusCode) { Root slots = new Root(); var readTask = await result.Content.ReadAsStringAsync(); slots = JsonConvert.DeserializeObject <Root>(readTask); if (slots.IsNotNull()) { if (!string.IsNullOrEmpty((string)slots.ErrCde)) { throw new Exception("[Check Slots ]Web service error -> " + slots.ErrMsg); } } else { var error = new Errors() { message = "[Check Slots] Slots object returned a Null reference" }; var view = new StoresViewModel() { errors = error }; return(View(view)); } if (slots.Data.IsNull()) { var error = new Errors() { message = "[Check Slots] Slots.Data object returned a Null reference" }; var view = new StoresViewModel() { errors = error }; return(View(view)); } var SlotData = slots.Data; var StoreSlot = SlotData.slots; string reason = string.Empty; if (!string.IsNullOrEmpty((string)slots.ErrCde)) { throw new Exception("Web service error -> " + slots.ErrMsg); } if (StoreSlot._9 == true || StoreSlot._10 == true || StoreSlot._11 == true || StoreSlot._12 == true || StoreSlot._13 == true) { reason = "Store Has Appointments"; } else { reason = "No Appointments"; } //if (StoreSlot._1 == true ) // if( StoreSlot._2 == true) // { // reason = "Store Has Appointment times"; // } Stores stores = new Stores() { Address = store.address, StoreNumber = store.storeNumber, city = store.city, State = store.state, Zip = store.fullZipCode, Status = reason }; mystores.Add(stores); } else //web api sent error response { //log response status here.. Errors error = await globalErrorsAsync(result); if (error.statuscode > 0) { return(RedirectToAction("Error500", "Errors", error)); } return((ActionResult)View()); } } StoreModel.ShotStores = mystores; return((ActionResult)View(StoreModel)); } catch (Exception ex) { if (!(TempData == null)) { TempData["Message"] = ($"Error { ex.Message }"); return(RedirectToAction("Error500", "Errors")); } else { return(RedirectToAction("Error500", "Errors", ex.Message)); } } }
public StoresViewModel ModelFromActionResult <T>(ActionResult actionResult) { object model = null; if (actionResult.GetType() == typeof(ViewResult)) { ViewResult viewResult = (ViewResult)actionResult; StoresViewModel TMmodel = new StoresViewModel(); Errors errors = new Errors(); if (viewResult.ViewData.ModelState.IsValid == false) { foreach (ModelState modelState in viewResult.ViewData.ModelState.Values) { foreach (System.Web.Mvc.ModelError error in modelState.Errors) { errors.message = error.ErrorMessage; TMmodel.errors = errors; model = TMmodel; } } } else { model = viewResult.Model; } } else if (actionResult.GetType() == typeof(PartialViewResult)) { PartialViewResult partialViewResult = (PartialViewResult)actionResult; model = partialViewResult.Model; } else if (actionResult.GetType() == typeof(RedirectResult)) { RedirectResult partialViewResult = (RedirectResult)actionResult; StoresViewModel TMmodel = new StoresViewModel(); Errors errors = new Errors(); //if (partialViewResult.RouteValues.ContainsKey("message")) //{ // errors.message = (string)partialViewResult.RouteValues["message"]; //} //if (partialViewResult.RouteValues.ContainsKey("statuscode")) //{ // errors.statuscode = (int)partialViewResult.RouteValues["statuscode"]; //} TMmodel.errors = errors; model = TMmodel; //errors.message = partialViewResult.RouteValues[1]; } else { throw new InvalidOperationException(string.Format("Actionresult of type {0} is not supported by ModelFromResult extractor.", actionResult.GetType())); } return((StoresViewModel)model); }
public StoresController(IStoreRepository repo, IImageRepository imageRepo) { this._repo = repo; this.viewModel = new StoresViewModel(this._repo, imageRepo); }