protected override async void OnViewLoaded(object view) { base.OnViewLoaded(view); try { await LoadReports(); } catch (Exception ex) { dynamic settings = new ExpandoObject(); settings.WindowStartupLocationLocation = WindowStartupLocation.CenterOwner; settings.ResizeMode = ResizeMode.NoResize; settings.Title = "System Error"; if (ex.Message == "Unauthorized") { _status.UpdateMessage("Unauthorized Access", "You do not have permission to interact with the Inventory Form."); _window.ShowDialog(_status, null, settings); _events.PublishOnUIThread(new LogOnEvent()); } else { _status.UpdateMessage("Fatal Exception", ex.Message); _window.ShowDialog(_status, null, settings); _events.PublishOnUIThread(new LogOnEvent()); } } }
protected override void OnViewLoaded(object view) { base.OnViewLoaded(view); if (IsAdmin == false) { dynamic settings = new ExpandoObject(); settings.WindowStartupLocationLocation = WindowStartupLocation.CenterOwner; settings.ResizeMode = ResizeMode.NoResize; settings.Title = "System Error"; _status.UpdateMessage("Unauthorized Access", "You do not have permission to interact with the Product Form."); _window.ShowDialog(_status, null, settings); _events.PublishOnUIThread(new LogOnEvent()); } }
public async Task Submit() { dynamic settings = new ExpandoObject(); settings.WindowStartupLocationLocation = WindowStartupLocation.CenterOwner; settings.ResizeMode = ResizeMode.NoResize; try { RegisterModel registerModel = new RegisterModel { Email = Email, Password = Password, ConfirmPassword = ConfirmPassword }; //string createSuccess = await _apiHelper.RegisterUser(Email, Password, ConfirmPassword); string createSuccess = await _apiHelper.RegisterUser(registerModel); if (createSuccess == "success") { var result = await _apiHelper.Authenticate(Email, Password); UserModel user = new UserModel(); List <string> UInfor = await _apiHelper.GetUserId(result.Access_Token); user.Id = UInfor[0]; user.FirstName = FirstName; user.LastName = LastName; user.EmailAddress = Email; user.CreatedDate = DateTime.Now; await _apiHelper.PostUserInfo(user); settings.Title = "System Message"; _status.UpdateMessage("Account Created Successfully", $"{FirstName} Thank you for joining us!"); await _window.ShowDialogAsync(_status, null, settings); await _events.PublishOnUIThreadAsync(new LogInEvent()); } } catch (Exception ex) { settings.Title = "System Error"; _status.UpdateMessage("Fatal Exception", ex.Message); _window.ShowDialogAsync(_status, null, settings); } }
public async Task CheckOut() { dynamic settings = new ExpandoObject(); settings.WindowStartupLocationLocation = WindowStartupLocation.CenterOwner; settings.ResizeMode = ResizeMode.NoResize; try { OrderModel orderModel = new OrderModel { UserId = _loggedInUserModel.Id, SubTotal = TotalSubTotal, Tax = TotalTax, Total = TotalTotal }; int orderId = await _orderEndPoint.PostOrderInfo(orderModel); List <OrderDetailModel> orderDetailModels = new List <OrderDetailModel>(); foreach (var item in Cart) { OrderDetailModel orderDetailModel = new OrderDetailModel { OrderId = orderId, ProductId = item.Id, Quantity = item.ItemQuantity, PurchasePrice = item.SubTotal, Tax = item.Tax }; orderDetailModels.Add(orderDetailModel); } if (await _orderEndPoint.PostOrderDetailsInfo(orderDetailModels)) { foreach (var item in Cart) { await _productEndPoint.UpdateProductQuantity(item.Id, (item.QuantityInStock - item.ItemQuantity)); } settings.Title = "System Message"; _status.UpdateMessage("Thank you for shopping with us!", $"{_loggedInUserModel.FirstName}, your order Submitted Successfully"); await _window.ShowDialogAsync(_status, null, settings); } else { await _orderEndPoint.DeleteOrder(orderId); settings.Title = "System Error"; _status.UpdateMessage("Error!!!", "Something went wrong! Please try again later"); await _window.ShowDialogAsync(_status, null, settings); } // For testing // Comment the following line inside OrderDetail table and publish // CONSTRAINT [FK_OrderDetail_Order] FOREIGN KEY (OrderId) REFERENCES [Order](Id) // await _orderEndPoint.DeleteOrder(orderId); // Worked well await _events.PublishOnUIThreadAsync(new LogOnEvent()); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public async Task CheckOut() { dynamic settings = new ExpandoObject(); settings.WindowStartupLocationLocation = WindowStartupLocation.CenterOwner; settings.ResizeMode = ResizeMode.NoResize; try { OrderModel orderModel = new OrderModel(); orderModel.UserId = _loggedInUserModel.Id; orderModel.SubTotal = TotalSubTotal; orderModel.Tax = TotalTax; orderModel.Total = TotalTotal; int orderId = await _orderEndPoint.PostOrderInfo(orderModel); List <OrderDetailModel> orderDetailModels = new List <OrderDetailModel>(); foreach (var item in Cart) { OrderDetailModel orderDetailModel = new OrderDetailModel(); orderDetailModel.OrderId = orderId; orderDetailModel.ProductId = item.Id; orderDetailModel.Quantity = item.ItemQuantity; orderDetailModel.PurchasePrice = item.SubTotal; orderDetailModel.Tax = item.Tax; orderDetailModels.Add(orderDetailModel); } if (await _orderEndPoint.PostOrderDetailsInfo(orderDetailModels)) { foreach (var item in Cart) { // change the following and use dynamic parameters // UpdatedQtyProductModel updatedQtyProduct = new UpdatedQtyProductModel(); // updatedQtyProduct.Id = item.Id; // updatedQtyProduct.QuantityInStock = item.QuantityInStock - item.ItemQuantity; //await _productEndPoint.UpdateProductQuantity(updatedQtyProduct); await _productEndPoint.UpdateProductQuantity(item.Id, (item.QuantityInStock - item.ItemQuantity)); } settings.Title = "System Message"; _status.UpdateMessage("Thank you for shopping with us!", $"{_loggedInUserModel.FirstName}, your order Submitted Successfully"); _window.ShowDialog(_status, null, settings); //MessageBox.Show($@"Your order is in the way{Environment.NewLine}{_loggedInUserModel.FirstName}, Thank you for shopping with us!"); await ResetCart(); } else { await _orderEndPoint.DeleteOrder(orderId); settings.Title = "System Error"; _status.UpdateMessage("Error!!!", "Something went wrong! Please try again later"); _window.ShowDialog(_status, null, settings); //MessageBox.Show("Something went wrong! Please try again later"); } // For testing // Comment the following line inside OrderDetail table and publish // CONSTRAINT [FK_OrderDetail_Order] FOREIGN KEY (OrderId) REFERENCES [Order](Id) // await _orderEndPoint.DeleteOrder(orderId); // Worked well } catch (Exception ex) { MessageBox.Show(ex.Message); } }