/// <summary> /// Method for getting and selecting a category to be updated /// </summary> /// <param name="admin">Takes a user with admin priviliges</param> private static void UpdateCategory(User admin) { var continueLoop = true; do { Console.Clear(); AdminView.UpdateCategory(); var categories = api.GetCategories(); SharedView.ListCategories(categories); var input = SharedController.GetAndValidateInput(); if (input.validatedInput > 0 && input.validatedInput <= categories.Count) { UpdateCategory(admin, categories[input.validatedInput - 1]); } else { if (input.validatedInput == 0 && input.menuInput.ToLower() == "x") { continueLoop = false; } else { SharedError.PrintWrongInput(); } } } while (continueLoop); }
public static Dictionary<byte, object> WriteBadgeViews(UserCursor cursor, SharedView[] badgeViews) { //serialize badge geometry // number of badges // array of x's // array of y's // array of orientations // array of Ids (DB Ids of points) double[] Xs = new double[badgeViews.Length]; double[] Ys = new double[badgeViews.Length]; double[] Orientations = new double[badgeViews.Length]; bool[] ViewTypes = new bool[badgeViews.Length]; int[] Ids = new int[badgeViews.Count()]; for (int i = 0; i < badgeViews.Count(); ++i) { Xs[i] = badgeViews[i].badgeGeometry.CenterX; Ys[i] = badgeViews[i].badgeGeometry.CenterY; Orientations[i] = badgeViews[i].badgeGeometry.Orientation; ViewTypes[i] = badgeViews[i].viewType; Ids[i] = badgeViews[i].ViewId; } Dictionary<byte, object> data = new Dictionary<byte, object>(); data.Add((byte) DiscussionParamKey.NumArrayEntries, badgeViews.Length); data.Add((byte) DiscussionParamKey.ArrayOfX, Xs); data.Add((byte) DiscussionParamKey.ArrayOfY, Ys); data.Add((byte) DiscussionParamKey.ArrayOfOrientations, Orientations); data.Add((byte) DiscussionParamKey.ArrayOfIds, Ids); data.Add((byte) DiscussionParamKey.ArrayOfViewTypes, ViewTypes); data.Add((byte) DiscussionParamKey.UserCursorName, cursor.Name); data.Add((byte) DiscussionParamKey.UserCursorState, (int) cursor.State); return data; }
public static SharedView[] ReadBadgeViews(Dictionary<byte, object> badgeViews, out UserCursor cursor) { int count = (int) badgeViews[(byte) DiscussionParamKey.NumArrayEntries]; double[] Xs = (double[]) badgeViews[(byte) DiscussionParamKey.ArrayOfX]; double[] Ys = (double[]) badgeViews[(byte) DiscussionParamKey.ArrayOfY]; double[] Orientations = (double[]) badgeViews[(byte) DiscussionParamKey.ArrayOfOrientations]; int[] argPointIds = (int[]) badgeViews[(byte) DiscussionParamKey.ArrayOfIds]; bool[] viewTypes = (bool[]) badgeViews[(byte) DiscussionParamKey.ArrayOfViewTypes]; if (!badgeViews.ContainsKey((byte) DiscussionParamKey.UserCursorName)) { Console.WriteLine("No key"); } cursor = new UserCursor((string) badgeViews[(byte) DiscussionParamKey.UserCursorName], (CursorInputState) badgeViews[(byte) DiscussionParamKey.UserCursorState]); var res = new SharedView[count]; for (int i = 0; i < count; ++i) { SharedView ap = new SharedView(i, viewTypes[i]); ap.badgeGeometry.CenterX = Xs[i]; ap.badgeGeometry.CenterY = Ys[i]; ap.badgeGeometry.Orientation = Orientations[i]; ap.ViewId = argPointIds[i]; res[i] = ap; } return res; }
public static SharedView[] ReadBadgeViews(Dictionary <byte, object> badgeViews, out UserCursor cursor) { int count = (int)badgeViews[(byte)DiscussionParamKey.NumArrayEntries]; double[] Xs = (double[])badgeViews[(byte)DiscussionParamKey.ArrayOfX]; double[] Ys = (double[])badgeViews[(byte)DiscussionParamKey.ArrayOfY]; double[] Orientations = (double[])badgeViews[(byte)DiscussionParamKey.ArrayOfOrientations]; int[] argPointIds = (int[])badgeViews[(byte)DiscussionParamKey.ArrayOfIds]; bool[] viewTypes = (bool[])badgeViews[(byte)DiscussionParamKey.ArrayOfViewTypes]; if (!badgeViews.ContainsKey((byte)DiscussionParamKey.UserCursorName)) { Console.WriteLine("No key"); } cursor = new UserCursor((string)badgeViews[(byte)DiscussionParamKey.UserCursorName], (CursorInputState)badgeViews[(byte)DiscussionParamKey.UserCursorState]); var res = new SharedView[count]; for (int i = 0; i < count; ++i) { SharedView ap = new SharedView(i, viewTypes[i]); ap.badgeGeometry.CenterX = Xs[i]; ap.badgeGeometry.CenterY = Ys[i]; ap.badgeGeometry.Orientation = Orientations[i]; ap.ViewId = argPointIds[i]; res[i] = ap; } return(res); }
/// <summary> /// Prints Admin menu /// </summary> /// <param name="admin">Takes a user with admin priviliges</param> public static void PrintAdminSelectionMenu(User admin) { SharedView.PrintWithGreenText($"\tVälkommen {admin.Name}"); var logoutUser = false; do { GeneralViewHelper.WaitAndClearScreen(); AdminView.Print(); string menuInput = InputHelper.AskForMenuInput(); int validatedInput = InputHelper.ValidateMenuInput(menuInput); logoutUser = SharedController.LogoutIf_X_IsPressed(admin, menuInput, validatedInput); if (logoutUser) { continue; } else { switch (validatedInput) { case 1: AdminFunctions(admin); break; case 2: SharedController.BuyBookMenu(admin); break; } } } while (!logoutUser); }
/// <summary> /// The first menu user sees when buy book has been pressed. /// </summary> /// <param name="user">takes a user to be connected with eventual purchase</param> internal static void BuyBookMenu(User user) { var continueLoop = true; do { Console.Clear(); SharedView.BuyBook(); var input = GetAndValidateInput(); switch (input.validatedInput) { case 1: BookController.BuyBySearchByBook(user); break; case 2: BookController.BuyBySearchByAuthor(user); break; case 3: BookController.BuyBySearchByCategory(user); break; case 4: BookController.BuyByChooseByCategory(user); break; case 0: continueLoop = GoBackIf_X_IsPressedOrPrintErrorMsg(input.menuInput); break; } } while (continueLoop); }
public static void Show(string cancelCaption, Action cancelCallback, string status = null, float progress = -1, MaskType maskType = MaskType.None) { // Making cancelCaption optional hides the method via the overload if (string.IsNullOrEmpty(cancelCaption)) { cancelCaption = "Cancel"; } obj.InvokeOnMainThread(() => SharedView.ShowProgressWorker(progress, status, maskType, cancelCaption: cancelCaption, cancelCallback: cancelCallback)); }
/// <summary> /// Find all categories in the database /// </summary> /// <returns>returns a list of all categories in database</returns> private static List <BookCategory> FindAndListCategories() { List <BookCategory> categories = new List <BookCategory>(); categories = api.GetCategories(); Console.Clear(); if (categories.Count > 0) { SharedView.ListCategories(categories); } return(categories); }
//public private static SharedView[] CreateBadges(int numBadges) { SharedView[] result = new SharedView[numBadges]; for (int i = 0; i < numBadges; ++i) { var argPointView = new SharedView(i, true); argPointView.badgeGeometry.CenterX = rnd.NextDouble(); argPointView.badgeGeometry.CenterY = rnd.NextDouble(); argPointView.badgeGeometry.Orientation = 360.0*rnd.NextDouble(); result[i] = argPointView; } return result; }
//public private static SharedView[] CreateBadges(int numBadges) { SharedView[] result = new SharedView[numBadges]; for (int i = 0; i < numBadges; ++i) { var argPointView = new SharedView(i, true); argPointView.badgeGeometry.CenterX = rnd.NextDouble(); argPointView.badgeGeometry.CenterY = rnd.NextDouble(); argPointView.badgeGeometry.Orientation = 360.0 * rnd.NextDouble(); result[i] = argPointView; } return(result); }
public static SharedView[] SVUnion(SharedView[] a1, SharedView[] a2) { SharedView[] res = new SharedView[a1.Length + a2.Length]; for (int i = 0; i < a1.Length; i++) { res[i] = a1[i]; } for (int i = 0; i < a2.Length; i++) { res[a1.Length + i] = a2[i]; } return(res); }
/// <summary> /// Method for searching with keyword and getting a list of matching categories /// </summary> /// <returns>returns a list of matching categories for the search keyword</returns> private static List <BookCategory> SearchAndListCategories() { List <BookCategory> categories = new List <BookCategory>(); BookView.SearchForCategory(); var input = SharedController.GetSearchInput(); categories = api.GetCategories(input); Console.Clear(); if (categories.Count > 0) { SharedView.ListCategories(categories); } return(categories); }
/// <summary> /// Delete category (if empty) /// </summary> /// <param name="admin">Takes a user with admin priviliges</param> private static void DeleteCategory(User admin) { var continueLoop = true; do { Console.Clear(); AdminView.DeleteCategory(); var categories = api.GetCategories(); SharedView.ListCategories(categories); var input = SharedController.GetAndValidateInput(); if (input.validatedInput > 0 && input.validatedInput <= categories.Count) { if (api.DeleteCategory( admin.Id, categories[input.validatedInput - 1].Id)) { SharedError.Success(); } else { var books = api.GetBooksInCategory(categories[input.validatedInput - 1].Id); SharedError.BooksStillInCategory(books.Count); } } else { if (input.validatedInput == 0 && input.menuInput.ToLower() == "x") { continueLoop = false; } else { SharedError.PrintWrongInput(); } } } while (continueLoop); }
public static List <SharedView> GetMovies(string userId) { var rs = new List <SharedView>(); var sqlParameters = userId != null ? new List <SqlParameter>() { new SqlParameter("@UserId", SqlDbType.BigInt) { Value = userId } } : null; using (var conn = OpenSqlConnection()) { using (var command = GenerateCommand("sp_Movie_Get", sqlParameters, conn)) { var reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { var sharedView = new SharedView() { MovieId = (long)reader["MovieId"], Url = reader["Url"].ToString(), SharedBy = reader["SharedBy"].ToString(), UpVote = (int)reader["UpVote"], DownVote = (int)reader["DownVote"], UserVote = reader["UserVote"] == DBNull.Value ? null : reader["UserVote"].ToString() }; rs.Add(sharedView); } } CloseSqlConnection(conn); } } return(rs); }
public static SharedView[] SVUnion(SharedView[] a1, SharedView[] a2) { SharedView[] res = new SharedView[a1.Length + a2.Length]; for (int i = 0; i < a1.Length; i++) res[i] = a1[i]; for (int i = 0; i < a2.Length; i++) res[a1.Length + i] = a2[i]; return res; }
public static void DismissWithError(string text, float delay) { SharedView.DismissWithStatus(text, true, delay); }
public static void ShowToast(string status, bool showToastCentered = true, double timeoutMs = 1000) { obj.InvokeOnMainThread(() => SharedView.ShowProgressWorker(status: status, textOnly: true, showToastCentered: showToastCentered, timeoutMs: timeoutMs)); }
public static void Show(string status = null, float progress = -1, MaskType maskType = MaskType.None) { obj.InvokeOnMainThread(() => SharedView.ShowProgressWorker(progress, status, maskType)); }
public static void ShowImage(UIImage image, string status, double timeoutMs = 1000) { obj.InvokeOnMainThread(() => SharedView.ShowImageWorker(image, status, TimeSpan.FromMilliseconds(timeoutMs))); }
public static void Dismiss() { SharedView.DismissInternal(); }
public static void SetStatus(string status) { obj.InvokeOnMainThread(() => SharedView.SetStatusWorker(status)); }
public static void DismissWithSuccess(string text, float delay) { SharedView.DismissWithStatus(text, false, delay); }
public static void Dismiss() { obj.InvokeOnMainThread(() => SharedView.DismissWorker()); }
public static void Show(string status, SVProgressHUDMask mask) { SharedView.ShowInternal(status, mask); }