public async Task <string> PickUpATask(string taskName, string userName) { try { var userGroup = GetTypeOfUserFromUserName(userName); if (userGroup.Equals(UserGroup.ProUser)) { Tasks tasks = new Tasks(); return(await tasks.PickUpATask(taskName, userName)); } else { PublicUsers publicUsers = new PublicUsers(); return(await publicUsers.PickUpATask(taskName, userName)); } } catch (Exception ex) { throw ex; } }
/// <summary> /// This method is used to view all active tasks by the user based on skills /// </summary> /// <param name="userGroup"></param> /// <param name="programmingSkills"></param> /// <returns></returns> public async Task <List <TaskEntity> > ViewActiveTasksBasedOnSkills(string userGroup, string programmingSkills) { try { if (string.IsNullOrEmpty(userGroup) || string.IsNullOrEmpty(programmingSkills)) { return(null); } if (userGroup.Equals(UserGroup.ProUser.ToString())) { Tasks tasks = new Tasks(); return(await tasks.ViewActiveTasksBasedOnSkills(userGroup, programmingSkills)); } else { PublicUsers publicUsers = new PublicUsers(); return(await publicUsers.ViewActiveTasksBasedOnSkills(userGroup, programmingSkills)); } } catch (Exception ex) { throw ex; } }
public async static void UserChoices(int choice) { try { switch (choice) { #region View all active tasks against skills case 1: Console.WriteLine("Enter your UserGroup(ProUser or PublicUsers) and Programming Skills (Angular or CSharp) separated by a space"); var userDetails = Console.ReadLine().Split(' '); if (!string.IsNullOrWhiteSpace(userDetails.ToString())) { var userGroupOfTheUser = (UserGroup)Enum.Parse(typeof(UserGroup), userDetails[0]); var programmingSkills = (ProgrammingSkills)Enum.Parse(typeof(ProgrammingSkills), userDetails[1]); var userInfo = new User(); var listOfTasks = await userInfo.ViewActiveTasksBasedOnSkills(userGroupOfTheUser.ToString(), programmingSkills.ToString()); if (listOfTasks != null && listOfTasks.Count > 0) { foreach (var task in listOfTasks) { Console.WriteLine("Task name :{0}, Task Description : {1}, Due Date : {2}", task.Name, task.Description, task.DueDate); } } else if (listOfTasks.Count == 0) { Console.WriteLine("No tasks to view"); } else { Console.WriteLine("Tasks could not be loaded"); } } else { Console.WriteLine("Please provide valid details"); } break; #endregion #region Pick a task case 2: Console.WriteLine("Please enter the task name and your userName separated by a space"); var details = Console.ReadLine().Split(' '); var result = String.Empty; if (!string.IsNullOrWhiteSpace(details.ToString())) { User user = new User(); var userGroup = user.GetTypeOfUserFromUserName(details[1]); if (userGroup.Result.Equals(UserGroup.ProUser.ToString())) { var userInfo = new TaskManagementLibrary.ProUsers(); result = await userInfo.PickUpATask(details[0], details[1]); } else if (userGroup.Result.Equals(UserGroup.PublicUsers.ToString())) { var userInfo = new TaskManagementLibrary.PublicUsers(); result = await userInfo.PickUpATask(details[0], details[1]); } if (result != null) { Console.WriteLine(result); } else { Console.WriteLine("Please enter valid details"); } } break; #endregion #region Submit a task case 3: Console.WriteLine("Please enter the task name and your userName separated by a space"); var detailsOfTask = Console.ReadLine().Split(' '); if (!string.IsNullOrWhiteSpace(detailsOfTask.ToString())) { var userInfo = new User(); var taskSubmitted = await userInfo.SubmitATask(detailsOfTask[0], detailsOfTask[1]); if (taskSubmitted != null) { Console.WriteLine(taskSubmitted); } else { Console.WriteLine("Please enter valid details"); } } break; #endregion #region View total compensation case 4: Console.WriteLine("Please enter your username"); var userName = Console.ReadLine(); if (!string.IsNullOrWhiteSpace(userName)) { var userInfo = new User(); var compensation = await userInfo.ViewTotalCompensation(userName); if (compensation >= 0) { Console.WriteLine("Total compensation received till date : {0}", compensation); } else { Console.WriteLine("Please enter valid details"); } } break; #endregion } } catch (Exception ex) { throw ex; } }