public async Task <IActionResult> Create([FromBody] SaleViewModel saleViewModel) { try { //SaleViewModel saleViewModel = new SaleViewModel(); string userId = LocalStorageExtensions.Get(StorageType.UserId); saleViewModel.UserId = userId; string response = await APICallerExtensions.APICallAsync("Sale/Create", saleViewModel, false, HttpContext.Session.GetObject(StorageType.Token).ToString()); if (response.ToLower().Contains("exception:")) { ModelState.AddModelError(string.Empty, response); return(Json(response)); } var content = JsonConvert.DeserializeObject <SingleResponse <CreateSaleViewModel> >(response); if (!content.DidError) { //Get Remaining Balance RemainingBalanceViewModel remainingBalanceViewModel = new RemainingBalanceViewModel() { UserId = userId }; string responseBalance = await APICallerExtensions.APICallAsync("RemainingBalance/GetByUserId", remainingBalanceViewModel, false, HttpContext.Session.GetObject(StorageType.Token).ToString()); if (responseBalance.ToLower().Contains("exception:")) { ModelState.AddModelError(string.Empty, responseBalance); } var contentBalance = JsonConvert.DeserializeObject <SingleResponse <RemainingBalance> >(responseBalance); if (!contentBalance.DidError) { if (contentBalance.Model != null) { LocalStorageExtensions.Store(StorageType.Balance, contentBalance.Model.CurrentAmount.ToString()); } } return(Json(content.Model)); } else { ModelState.AddModelError(string.Empty, content.Message); return(Json(content.Message)); } } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); return(Json(ex.Message)); } }
public async Task <object> GetByUserId([FromBody] RemainingBalanceViewModel remainingBalanceViewModel) { RemainingBalance remainingBalance = new RemainingBalance(); try { remainingBalance = _remainingBalanceRepository.GetByUserId(remainingBalanceViewModel.UserId); } catch (Exception ex) { result = false; error = ex.Message; } return(new SingleResponse <RemainingBalance> { Message = "Get by userid remainingBalance executed successfully", DidError = false, ErrorMessage = string.Empty, Token = string.Empty, Model = remainingBalance }); }
public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { string response = await APICallerExtensions.APICallAsync("Account/Login", model, false, HttpContext.Session.GetObject(StorageType.Token).ToString()); if (string.IsNullOrEmpty(response) || response.ToLower().Contains("exception:")) { ModelState.AddModelError(string.Empty, response); return(View(model)); } var content = JsonConvert.DeserializeObject <SingleResponse <UserModel> >(response); if (!content.DidError) { if (content.Model.Role == "Shop") { RemainingBalanceViewModel remainingBalanceViewModel = new RemainingBalanceViewModel() { UserId = content.Model.Id }; string responseBalance = await APICallerExtensions.APICallAsync("RemainingBalance/GetByUserId", remainingBalanceViewModel, false, HttpContext.Session.GetObject(StorageType.Token).ToString()); if (responseBalance.ToLower().Contains("exception:")) { ModelState.AddModelError(string.Empty, responseBalance); } var contentBalance = JsonConvert.DeserializeObject <SingleResponse <RemainingBalance> >(responseBalance); if (!contentBalance.DidError) { if (contentBalance.Model != null) { LocalStorageExtensions.Store(StorageType.Balance, contentBalance.Model.CurrentAmount.ToString()); } else { LocalStorageExtensions.Store(StorageType.Balance, "0.00"); } } } LocalStorageExtensions.Store(StorageType.Token, content.Token); LocalStorageExtensions.Store(StorageType.UserId, content.Model.Id); LocalStorageExtensions.Store(StorageType.Username, content.Model.UserName); //Sample get/set of http context sessions //HttpContext.Session.SetObject(StorageType.Token, content.Token); //var objComplex = HttpContext.Session.GetObject(StorageType.Token); if (string.IsNullOrEmpty(content.Model.Picture)) { if (_hostingEnvironment.IsDevelopment()) { LocalStorageExtensions.Store(StorageType.Picture, "/app-assets/images/user.png"); } else { LocalStorageExtensions.Store(StorageType.Picture, "../app-assets/images/user.png"); } } else { LocalStorageExtensions.Store(StorageType.Picture, content.Model.Picture); } LocalStorageExtensions.Store(StorageType.Role, content.Model.Role); LocalStorageExtensions.Store(StorageType.Name, content.Model.FirstName + " " + content.Model.LastName); LocalStorageExtensions.Store(StorageType.IsCompanySelected, content.Model.IsCompanySelected.ToString()); LocalStorageExtensions.Store(StorageType.IsShopSelected, content.Model.IsShopSelected.ToString()); if (content.Model.Role == "Admin" || content.Model.Role == "Company") { return(RedirectToAction("Index", "Dashboard")); } else if (content.Model.Role == "Shop") { return(RedirectToAction("Index", "Sale")); } } else { ModelState.AddModelError(string.Empty, content.Message); return(View(model)); } } // If we got this far, something failed, redisplay form return(View(model)); }