public WorkgroupServiceTests() { AutomapperConfig.Configure(); VendorRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<Vendor, string>>(); VendorAddressRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<VendorAddress, Guid>>(); UserRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<User, string>>(); EmailPreferencesRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<EmailPreferences, string>>(); WorkgroupPermissionRepository = MockRepository.GenerateStub<IRepository<WorkgroupPermission>>(); WorkgroupRepository = MockRepository.GenerateStub<IRepository<Workgroup>>(); OrganizationRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<Organization, string>>(); SearchService = MockRepository.GenerateStub<IDirectorySearchService>(); RepositoryFactory = MockRepository.GenerateStub<IRepositoryFactory>(); RepositoryFactory.RoleRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<Role, string>>(); RepositoryFactory.WorkgroupPermissionRepository = WorkgroupPermissionRepository; RepositoryFactory.AccountRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<Account, string>>(); QueryRepositoryFactory = MockRepository.GenerateStub<IQueryRepositoryFactory>(); UserIdentity = MockRepository.GenerateStub<IUserIdentity>(); QueryRepositoryFactory.RelatatedWorkgroupsRepository = MockRepository.GenerateStub<IRepository<RelatedWorkgroups>>(); WorkgroupService = new WorkgroupService(VendorRepository, VendorAddressRepository, UserRepository, EmailPreferencesRepository, WorkgroupPermissionRepository, WorkgroupRepository, OrganizationRepository, SearchService, RepositoryFactory, QueryRepositoryFactory, UserIdentity); }
public WizardController(IRepository <Workgroup> workgroupRepository, IRepositoryWithTypedId <User, string> userRepository, IRepositoryWithTypedId <Role, string> roleRepository, IRepository <WorkgroupPermission> workgroupPermissionRepository, ISecurityService securityService, IDirectorySearchService searchService, IRepository <WorkgroupVendor> workgroupVendorRepository, IRepositoryWithTypedId <Vendor, string> vendorRepository, IRepositoryWithTypedId <VendorAddress, Guid> vendorAddressRepository, IRepositoryWithTypedId <State, string> stateRepository, IRepository <WorkgroupAccount> workgroupAccountRepository, IQueryRepositoryFactory queryRepositoryFactory, IWorkgroupAddressService workgroupAddressService, IWorkgroupService workgroupService, IRepositoryFactory repositoryFactory) { _workgroupRepository = workgroupRepository; _userRepository = userRepository; _roleRepository = roleRepository; _workgroupPermissionRepository = workgroupPermissionRepository; _securityService = securityService; _searchService = searchService; _workgroupVendorRepository = workgroupVendorRepository; _vendorRepository = vendorRepository; _vendorAddressRepository = vendorAddressRepository; _stateRepository = stateRepository; _workgroupAccountRepository = workgroupAccountRepository; _queryRepositoryFactory = queryRepositoryFactory; //New, need to add to get tests to run. _workgroupAddressService = workgroupAddressService; _workgroupService = workgroupService; _repositoryFactory = repositoryFactory; }
public WorkgroupServiceTests() { AutomapperConfig.Configure(); VendorRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Vendor, string> >(); VendorAddressRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <VendorAddress, Guid> >(); UserRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <User, string> >(); EmailPreferencesRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <EmailPreferences, string> >(); WorkgroupPermissionRepository = MockRepository.GenerateStub <IRepository <WorkgroupPermission> >(); WorkgroupRepository = MockRepository.GenerateStub <IRepository <Workgroup> >(); OrganizationRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Organization, string> >(); SearchService = MockRepository.GenerateStub <IDirectorySearchService>(); RepositoryFactory = MockRepository.GenerateStub <IRepositoryFactory>(); RepositoryFactory.RoleRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Role, string> >(); RepositoryFactory.WorkgroupPermissionRepository = WorkgroupPermissionRepository; RepositoryFactory.AccountRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Account, string> >(); QueryRepositoryFactory = MockRepository.GenerateStub <IQueryRepositoryFactory>(); UserIdentity = MockRepository.GenerateStub <IUserIdentity>(); QueryRepositoryFactory.RelatatedWorkgroupsRepository = MockRepository.GenerateStub <IRepository <RelatedWorkgroups> >(); WorkgroupService = new WorkgroupService(VendorRepository, VendorAddressRepository, UserRepository, EmailPreferencesRepository, WorkgroupPermissionRepository, WorkgroupRepository, OrganizationRepository, SearchService, RepositoryFactory, QueryRepositoryFactory, UserIdentity); }
public WorkgroupVendorController(IRepository <Vendor> vendorRepository, IRepository <VendorAddress> vendorAddressRepository, IRepositoryFactory repositoryFactory, ISearchService searchService, ISecurityService securityService, IWorkgroupService workgroupService) { _vendorRepository = vendorRepository; _vendorAddressRepository = vendorAddressRepository; _repositoryFactory = repositoryFactory; _searchService = searchService; _securityService = securityService; _workgroupService = workgroupService; }
public AdminController(IRepositoryWithTypedId <User, string> userRepository, IRepositoryWithTypedId <Role, string> roleRepository, IRepositoryWithTypedId <Organization, string> organizationRepository, IDirectorySearchService searchService, IRepositoryWithTypedId <EmailPreferences, string> emailPreferencesRepository, IUserIdentity userIdentity, IRepositoryFactory repositoryFactory, IWorkgroupService workgroupService) { _userRepository = userRepository; _roleRepository = roleRepository; _organizationRepository = organizationRepository; _searchService = searchService; _emailPreferencesRepository = emailPreferencesRepository; _userIdentity = userIdentity; _repositoryFactory = repositoryFactory; _workgroupService = workgroupService; }
public ReportController(IRepositoryFactory repositoryFactory, IQueryRepositoryFactory queryRepositoryFactory, IReportRepositoryFactory reportRepositoryFactory, IReportService reportService, IWorkgroupService workgroupService, ISearchService searchService) { _repositoryFactory = repositoryFactory; _queryRepositoryFactory = queryRepositoryFactory; _reportRepositoryFactory = reportRepositoryFactory; _reportService = reportService; _workgroupService = workgroupService; _searchService = searchService; }
public static ReportWorkloadViewModel Create(IRepositoryFactory repositoryFactory, IQueryRepositoryFactory queryRepositoryFactory, IWorkgroupService workgroupService, string userName, Workgroup workgroup) { var workgroups = workgroupService.LoadAdminWorkgroups(); var viewModel = new ReportWorkloadViewModel() { Workgroups = workgroups, Workgroup = workgroup }; return viewModel; }
public static ReportProcessingTimeViewModel Create(IWorkgroupService workgroupService, Workgroup workgroup, bool onlyShowReRouted) { var workgroups = workgroupService.LoadAdminWorkgroups(); var viewModel = new ReportProcessingTimeViewModel() { Workgroups = workgroups, Workgroup = workgroup, OnlyShowReRouted = onlyShowReRouted, Columns = new List <ReportProcessingColumns>() }; return(viewModel); }
/// <summary> /// Setups the controller. /// </summary> protected override void SetupController() { UserRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <User, string> >(); RoleRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Role, string> >(); OrganizationRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Organization, string> >(); SearchService = MockRepository.GenerateStub <IDirectorySearchService>(); EmailPreferencesRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <EmailPreferences, string> >(); UserIdentity = MockRepository.GenerateStub <IUserIdentity>(); WorkgroupService = MockRepository.GenerateStub <IWorkgroupService>(); RepositoryFactory = MockRepository.GenerateStub <IRepositoryFactory>(); RepositoryFactory.WorkgroupRepository = MockRepository.GenerateStub <IRepository <Workgroup> >(); RepositoryFactory.WorkgroupPermissionRepository = MockRepository.GenerateStub <IRepository <WorkgroupPermission> >(); Controller = new TestControllerBuilder().CreateController <AdminController>(UserRepository, RoleRepository, OrganizationRepository, SearchService, EmailPreferencesRepository, UserIdentity, RepositoryFactory, WorkgroupService); }
/// <summary> /// Setups the controller. /// </summary> protected override void SetupController() { WorkgroupRepository = FakeRepository <Workgroup>(); UserRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <User, string> >(); RoleRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Role, string> >(); SecurityService = MockRepository.GenerateStub <ISecurityService>(); SearchService = MockRepository.GenerateStub <IDirectorySearchService>(); WorkgroupPermissionRepository = MockRepository.GenerateStub <IRepository <WorkgroupPermission> >(); WorkgroupVendorRepository = MockRepository.GenerateStub <IRepository <WorkgroupVendor> >(); VendorRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Vendor, string> >(); VendorAddressRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <VendorAddress, Guid> >(); StateRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <State, string> >(); EmailPreferencesRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <EmailPreferences, string> >(); WorkgroupAccountRepository = MockRepository.GenerateStub <IRepository <WorkgroupAccount> >(); WorkgroupAddressService = MockRepository.GenerateStub <IWorkgroupAddressService>(); WorkgroupService = MockRepository.GenerateStub <IWorkgroupService>(); OrganizationDescendantRepository = MockRepository.GenerateStub <IRepository <OrganizationDescendant> >(); QueryRepositoryFactory = MockRepository.GenerateStub <IQueryRepositoryFactory>(); QueryRepositoryFactory.OrganizationDescendantRepository = OrganizationDescendantRepository; AdminWorkgroupRepository = MockRepository.GenerateStub <IRepository <AdminWorkgroup> >(); QueryRepositoryFactory.AdminWorkgroupRepository = AdminWorkgroupRepository; AccountRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <Account, string> >(); RepositoryFactory = MockRepository.GenerateStub <IRepositoryFactory>(); RepositoryFactory.AccountRepository = AccountRepository; RepositoryFactory.RoleRepository = RoleRepository; RepositoryFactory.ColumnPreferencesRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <ColumnPreferences, string> >(); Controller = new TestControllerBuilder().CreateController <WorkgroupController>(WorkgroupRepository, UserRepository, RoleRepository, WorkgroupPermissionRepository, SecurityService, SearchService, WorkgroupVendorRepository, VendorRepository, VendorAddressRepository, StateRepository, EmailPreferencesRepository, WorkgroupAccountRepository, QueryRepositoryFactory, RepositoryFactory, WorkgroupAddressService, WorkgroupService); }
static void Main(string[] args) { UserInterface userInterface = new UserInterface(); ClientAccount clientAccount = new ClientAccount(); ConnectionHandler connectionHandler = new ConnectionHandler(); int userCommand; IWorkgroupService workgroupProxy = null; //Null as we're creating it upon login... IRegistrationService registrationProxy = connectionHandler.registrationChannel.CreateChannel(); do { userCommand = userInterface.AnonymousUserInterface(ref workgroupProxy, registrationProxy, connectionHandler, clientAccount); if (userCommand == 0) { connectionHandler.CloseRegistrationChannel(); connectionHandler.CloseWorkgroupChannel(); return; } } while (!clientAccount.Authenticated); Console.WriteLine("Succesffully authenticated!"); connectionHandler.CloseRegistrationChannel(); //Registration channel is no longer needed, close it. registrationProxy = null; if (clientAccount.ClientGroup == "Administrator") //Napravite enumeraciju za Grupe u Common biblioteci... { userInterface.AdminWindow(clientAccount, workgroupProxy); } else //User ? Boss? Director? { userInterface.WorkerWindow(clientAccount, workgroupProxy, connectionHandler); } Console.ReadLine(); }
public static ReportProcessingTimeViewModel Create(IWorkgroupService workgroupService, Workgroup workgroup, bool onlyShowReRouted) { var workgroups = workgroupService.LoadAdminWorkgroups(); var viewModel = new ReportProcessingTimeViewModel() { Workgroups = workgroups, Workgroup = workgroup, OnlyShowReRouted = onlyShowReRouted, Columns = new List<ReportProcessingColumns>() }; return viewModel; }
public static ReportPermissionsViewModel Create(IRepositoryFactory repositoryFactory, IWorkgroupService workgroupService) { var viewModel = new ReportPermissionsViewModel() { Workgroups = workgroupService.LoadAdminWorkgroups() }; viewModel.Permissions = viewModel.Workgroups.SelectMany(a => a.Permissions); viewModel.Users = viewModel.Permissions.Select(a => a.User).Distinct(); return(viewModel); }
public WorkgroupApiController() { _service = new WorkgroupService(); }
public static ReportPermissionsViewModel Create(IRepositoryFactory repositoryFactory, IWorkgroupService workgroupService, bool hideInherited = false) { var viewModel = new ReportPermissionsViewModel() { Workgroups = workgroupService.LoadAdminWorkgroups() }; viewModel.Permissions = viewModel.Workgroups.SelectMany(a => a.Permissions); if (hideInherited) { viewModel.Users = viewModel.Permissions.Where(w => !w.IsAdmin).Select(a => a.User).Distinct(); viewModel.Permissions = viewModel.Permissions.Where(a => !a.IsAdmin); } else { viewModel.Users = viewModel.Permissions.Select(a => a.User).Distinct(); } viewModel.HideInherited = hideInherited; return(viewModel); }
public void GenerateDisplayTable(ISearchService indexSearchService, IRepositoryFactory repositoryFactory, IWorkgroupService workgroupService, int workgroupId, DateTime month) { const int defaultResultSize = 1000; Check.Require(month.Day == 1); var endMonth = month.AddMonths(1); var workgroup = repositoryFactory.WorkgroupRepository.Queryable.Single(a => a.Id == workgroupId); var allChildWorkgroups = new List <int>(); allChildWorkgroups.Add(workgroupId); if (workgroup.Administrative) { allChildWorkgroups = workgroupService.GetChildWorkgroups(workgroupId); } Columns = new List <ReportProcessingColumns>(); var workgroups = repositoryFactory.WorkgroupRepository.Queryable.Where(a => allChildWorkgroups.Contains(a.Id)).ToList(); var matchingOrders = indexSearchService.GetOrdersByWorkgroups(workgroups, month, endMonth, defaultResultSize); SearchResultsCount = matchingOrders.Count; foreach (var matchingOrder in matchingOrders.Where(a => a.IsComplete && a.StatusId != OrderStatusCode.Codes.Denied && a.StatusId != OrderStatusCode.Codes.Cancelled)) { var column = new ReportProcessingColumns(); var order = repositoryFactory.OrderRepository.Queryable.Single(a => a.Id == matchingOrder.OrderId); column.Organization = order.Workgroup.PrimaryOrganization.Id; column.Workgroup = order.Workgroup.Name; column.OrderRequestNumber = order.RequestNumber; column.OrderId = order.Id; var orderHistory = order.OrderTrackings.LastOrDefault(a => a.StatusCode.Id == OrderStatusCode.Codes.AccountManager && a.Description.StartsWith("approved")); if (orderHistory != null) { column.ArrivedAtPurchaser = orderHistory.DateCreated; } orderHistory = order.OrderTrackings.LastOrDefault(a => a.Description.StartsWith("rerouted to purchaser")); if (orderHistory != null) { column.ReroutedToPurchaserDate = orderHistory.DateCreated; column.ReRoutedToPurchaserBy = orderHistory.User.FullName; column.ReroutedToPurchaserName = orderHistory.Description.Substring(22); if (column.ArrivedAtPurchaser != null) { column.ReRoutTime = column.ReroutedToPurchaserDate.Value - column.ArrivedAtPurchaser.Value; } } else if (OnlyShowReRouted) { continue; } orderHistory = order.OrderTrackings.FirstOrDefault(a => a.StatusCode.IsComplete); if (orderHistory != null) { column.CompletedByPurchaserDate = orderHistory.DateCreated; column.CompletedByPurchaserName = orderHistory.User.FullName; if (column.ArrivedAtPurchaser != null && column.ReroutedToPurchaserDate != null) { column.CompletionTime = column.CompletedByPurchaserDate.Value - column.ReroutedToPurchaserDate.Value; } else if (column.ArrivedAtPurchaser != null && column.ReroutedToPurchaserDate == null) { column.CompletionTime = column.CompletedByPurchaserDate.Value - column.ArrivedAtPurchaser.Value; } } Columns.Add(column); } }
public void WorkerWindow(ClientAccount ca, IWorkgroupService workgroupProxy, ConnectionHandler connectionHandler) { User u = workgroupProxy.FindUser(ca.Username); int choice = 0; bool ok = false; do { Console.WriteLine("**********************************************"); Console.WriteLine("Hello " + u.Username); Console.WriteLine("1. Request to get in the team"); Console.WriteLine("2. Request for vacation"); Console.WriteLine("3. Change password"); Console.WriteLine("4. Logout"); if (ca.ClientGroup == "Boss") { Console.WriteLine("5. See list of requests"); } do { Console.Write("Choice: "); if (!Int32.TryParse(Console.ReadLine(), out choice)) { Console.WriteLine("Choice is a number!"); } ok = true; } while (ok != true); switch (choice) { case 1: { try { workgroupProxy.Ask(u.Username); Console.WriteLine("Your request for joining group is sent"); } catch (FaultException fe) { Console.WriteLine(fe.Message, fe.Reason); } break; } case 2: { DateTime timeNow = DateTime.Now; int result = 0; int result2 = 0; string start, end; do { Console.WriteLine("Starting date[mm/dd/yyyy]: "); start = Console.ReadLine(); try { DateTime dt = Convert.ToDateTime(start); result = DateTime.Compare(Convert.ToDateTime(start), timeNow); //ako je start pre trenutka onda je result = -1 } catch { Console.WriteLine("Not a good date format."); } } while (result <= 0); do { Console.WriteLine("Ending date[mm/dd/yyyy]: "); end = Console.ReadLine(); try { DateTime dt = Convert.ToDateTime(end); result = DateTime.Compare(Convert.ToDateTime(end), timeNow); result2 = DateTime.Compare(Convert.ToDateTime(end), Convert.ToDateTime(start)); } catch { Console.WriteLine("Not a good date format."); } } while (result <= 0 || result2 <= 0); try { workgroupProxy.RequestVacation(u.Username, start, end); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } break; } case 3: { bool correctpass = false; do { Console.WriteLine("Input old password"); string oldpass = Console.ReadLine(); if (u.Password != oldpass) { Console.WriteLine("You entered wrong password."); } Console.WriteLine("Input new password"); string newpass = Console.ReadLine(); try { correctpass = workgroupProxy.ChangePassword(u.Username, oldpass, newpass); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } } while (correctpass == false); break; } case 4: { bool loggedout = false; loggedout = workgroupProxy.Logout(u.Username); Environment.Exit(0); break; } case 5: { List <Request> list = workgroupProxy.AllRequests(u.Username); int no = list.Count; if (no != 0) { Console.WriteLine("**********REQUESTS********"); foreach (Request r in list) { Console.WriteLine("User that asked for vacation: " + r.UserId); Console.WriteLine("Id: " + r.Id); Console.WriteLine("Starting date: " + r.StartDate); Console.WriteLine("Ending date: " + r.EndDate); } Console.WriteLine("**********************"); Console.WriteLine("1. Approve request"); Console.WriteLine("2. Deny request"); Console.WriteLine("Choice: "); int choice2 = Int32.Parse(Console.ReadLine()); if (choice2 == 1) { Console.WriteLine("Input ID of request you want to approve"); int id; if (!Int32.TryParse(Console.ReadLine(), out id)) { Console.WriteLine("ID is number!"); break; } try { workgroupProxy.ApproveRequest(id, ca.Username); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } } else if (choice2 == 2) { Console.WriteLine("Input ID of request you want to deny"); int id; if (!Int32.TryParse(Console.ReadLine(), out id)) { Console.WriteLine("ID is number!"); break; } try { workgroupProxy.DenyRequest(id, ca.Username); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } } } else { Console.WriteLine("There are no requests for vacation."); } break; } } } while (choice != 4); }
public void AdminWindow(ClientAccount ca, IWorkgroupService workgroupProxy) { User u = workgroupProxy.FindUser(ca.Username); Console.WriteLine("***********************"); Console.WriteLine("Hello admin"); int choice = 0; bool ok = false; do { Console.WriteLine("1. See requests for groups"); Console.WriteLine("2. See requests for vacation"); Console.WriteLine("3. Name boss"); Console.WriteLine("4. Change password"); Console.WriteLine("5. Logout"); do { Console.Write("Choice: "); if (!Int32.TryParse(Console.ReadLine(), out choice)) { Console.WriteLine("Choice is a number!"); } ok = true; } while (ok != true); switch (choice) { case 1: { List <User> list = workgroupProxy.UsersForJoin(); int i = 0; int choice2; int no = list.Count; if (no != 0) { Console.WriteLine("Put users in group:"); foreach (User user in list) { i++; Console.WriteLine("{0}. {1}", i, user.Username); } do { bool correct = false; string username; int teamId; do { Console.WriteLine("Enter username of user you want to put in group:"); username = Console.ReadLine(); foreach (User user in list) { if (user.Username == username) { correct = true; } } if (correct == false) { Console.WriteLine("You put wrong username!"); } } while (correct != true); do { Console.WriteLine("In which team (1, 2, 3, 4, 5...) you want to put him?"); if (Int32.TryParse(Console.ReadLine(), out teamId)) { correct = true; } else { Console.WriteLine("Name of a team is number!"); correct = false; } } while(correct != true); try { workgroupProxy.AddToTeam(username, teamId); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } Console.WriteLine("For exit, press 0"); choice2 = Int32.Parse(Console.ReadLine()); } while (choice2 != 0); } else { Console.WriteLine("There are no requests for joining to group."); break; } break; } case 2: { List <Request> list = workgroupProxy.AllRequests(u.Username); int no = list.Count; if (no != 0) { Console.WriteLine("**********REQUESTS********"); foreach (Request r in list) { Console.WriteLine("User that asked for vacation: " + r.UserId); Console.WriteLine("Id: " + r.Id); Console.WriteLine("Starting date: " + r.StartDate); Console.WriteLine("Ending date: " + r.EndDate); } Console.WriteLine("**************************************"); Console.WriteLine("1. Approve request"); Console.WriteLine("2. Deny request"); Console.WriteLine("Choice: "); int choice2 = Int32.Parse(Console.ReadLine()); if (choice2 == 1) { Console.WriteLine("Input ID of request you want to approve"); int id; if (!Int32.TryParse(Console.ReadLine(), out id)) { Console.WriteLine("ID is number!"); break; } try { workgroupProxy.ApproveRequest(id, ca.Username); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } } else if (choice2 == 2) { Console.WriteLine("Input ID of request you want to deny"); int id; if (!Int32.TryParse(Console.ReadLine(), out id)) { Console.WriteLine("ID is number!"); break; } try { workgroupProxy.ApproveRequest(id, ca.Username); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } } } else { Console.WriteLine("There are no requests for vacation."); } break; } case 3: { Console.WriteLine("List of workers"); List <User> list = workgroupProxy.AllUsers(); foreach (User user in list) { Console.WriteLine("username: {0} team: {1}", user.Username, user.Team); } string boss; int team; bool correct = false; do { Console.WriteLine("Who do you want to name as boss?"); boss = Console.ReadLine(); foreach (User user in list) { if (user.Username == boss) { correct = true; } } if (correct == false) { Console.WriteLine("You put wrong username!"); } } while (correct != true); do { Console.WriteLine("He/She will be boss of which team?"); if (Int32.TryParse(Console.ReadLine(), out team)) { correct = true; } else { Console.WriteLine("Name of a team is number!"); correct = false; } } while (correct != true); try { workgroupProxy.NameBoss(boss, team); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } break; } case 4: { bool correctpass = false; do { Console.WriteLine("Input old password"); string oldpass = Console.ReadLine(); if (u.Password != oldpass) { Console.WriteLine("You entered wrong password."); } Console.WriteLine("Input new password"); string newpass = Console.ReadLine(); try { correctpass = workgroupProxy.ChangePassword(u.Username, oldpass, newpass); } catch (FaultException fe) { Console.WriteLine(fe.Reason); } } while (correctpass == false); break; } case 5: { bool loggedout = false; loggedout = workgroupProxy.Logout(u.Username); Environment.Exit(0); break; } } } while (choice != 5); }
public static ReportWorkloadViewModel Create(IRepositoryFactory repositoryFactory, IQueryRepositoryFactory queryRepositoryFactory, IWorkgroupService workgroupService, string userName, Workgroup workgroup) { var workgroups = workgroupService.LoadAdminWorkgroups(); var viewModel = new ReportWorkloadViewModel() { Workgroups = workgroups, Workgroup = workgroup }; return(viewModel); }
public void GenerateDisplayTable(ISearchService indexSearchService, IRepositoryFactory repositoryFactory,IWorkgroupService workgroupService, int workgroupId, DateTime month) { Check.Require(month.Day == 1); var endMonth = month.AddMonths(1); var workgroup = repositoryFactory.WorkgroupRepository.Queryable.Single(a => a.Id == workgroupId); var allChildWorkgroups = new List<int>(); allChildWorkgroups.Add(workgroupId); if (workgroup.Administrative) { allChildWorkgroups = workgroupService.GetChildWorkgroups(workgroupId); } Columns = new List<ReportProcessingColumns>(); var workgroups = repositoryFactory.WorkgroupRepository.Queryable.Where(a => allChildWorkgroups.Contains(a.Id)).ToList(); var matchingOrders = indexSearchService.GetOrdersByWorkgroups(workgroups, month, endMonth); foreach (var matchingOrder in matchingOrders.Where(a => a.IsComplete && a.StatusId != OrderStatusCode.Codes.Denied && a.StatusId != OrderStatusCode.Codes.Cancelled)) { var column = new ReportProcessingColumns(); var order = repositoryFactory.OrderRepository.Queryable.Single(a => a.Id == matchingOrder.OrderId); column.Organization = order.Workgroup.PrimaryOrganization.Id; column.Workgroup = order.Workgroup.Name; column.OrderRequestNumber = order.RequestNumber; column.OrderId = order.Id; var orderHistory = order.OrderTrackings.LastOrDefault(a => a.StatusCode.Id == OrderStatusCode.Codes.AccountManager && a.Description.StartsWith("approved")); if (orderHistory != null) { column.ArrivedAtPurchaser = orderHistory.DateCreated; } orderHistory = order.OrderTrackings.LastOrDefault(a => a.Description.StartsWith("rerouted to purchaser")); if (orderHistory != null) { column.ReroutedToPurchaserDate = orderHistory.DateCreated; column.ReRoutedToPurchaserBy = orderHistory.User.FullName; column.ReroutedToPurchaserName = orderHistory.Description.Substring(22); if (column.ArrivedAtPurchaser != null) { column.ReRoutTime = column.ReroutedToPurchaserDate.Value - column.ArrivedAtPurchaser.Value; } } else if(OnlyShowReRouted) { continue; } orderHistory = order.OrderTrackings.FirstOrDefault(a => a.StatusCode.IsComplete); if (orderHistory != null) { column.CompletedByPurchaserDate = orderHistory.DateCreated; column.CompletedByPurchaserName = orderHistory.User.FullName; if (column.ArrivedAtPurchaser != null && column.ReroutedToPurchaserDate != null) { column.CompletionTime = column.CompletedByPurchaserDate.Value - column.ReroutedToPurchaserDate.Value; } else if (column.ArrivedAtPurchaser != null && column.ReroutedToPurchaserDate == null) { column.CompletionTime = column.CompletedByPurchaserDate.Value - column.ArrivedAtPurchaser.Value; } } Columns.Add(column); } }
public int AnonymousUserInterface(ref IWorkgroupService workgroupProxy, IRegistrationService registrationProxy, ConnectionHandler connectionHandler, ClientAccount clientAccount) { User user = new User(); bool operationSuccess; int choice = 0; bool ok = false; Console.WriteLine("---AUTHENTICATION SERVICE---\n"); Console.WriteLine("1. Login"); Console.WriteLine("2. Register"); do { Console.Write("Choice: "); if (!Int32.TryParse(Console.ReadLine(), out choice)) { Console.WriteLine("Choice is a number!"); } ok = true; } while (ok != true); switch (choice) { case 1: { string answerOne = null; string answerTwo = null; LoginDTO loginInformation = new LoginDTO(); InputCredentials(clientAccount); if (clientAccount.RequireSafeLogin) { Console.WriteLine("Server demands safe login. Input answers to security questions in order to log in"); Console.WriteLine(clientAccount.SecurityQuestionOne); answerOne = Console.ReadLine(); Console.WriteLine(clientAccount.SecurityQuestionTwo); answerTwo = Console.ReadLine(); } if (connectionHandler.workgroupChannel.Credentials.UserName.UserName != null) //Reopen channel for new credentials { if (connectionHandler.CloseWorkgroupChannel()) { connectionHandler.OpenWorkgroupChannel(); connectionHandler.workgroupChannel.Credentials.UserName.UserName = clientAccount.Username; connectionHandler.workgroupChannel.Credentials.UserName.Password = clientAccount.Password; workgroupProxy = connectionHandler.workgroupChannel.CreateChannel(); } } else { connectionHandler.workgroupChannel.Credentials.UserName.UserName = clientAccount.Username; connectionHandler.workgroupChannel.Credentials.UserName.Password = clientAccount.Password; workgroupProxy = connectionHandler.workgroupChannel.CreateChannel(); } try { loginInformation = workgroupProxy.Login(clientAccount.Username, clientAccount.Password, answerOne, answerTwo); } /*catch(ArgumentException e) * { * Console.WriteLine(e.Message); * } * catch(FaultException fe) * { * Console.WriteLine(fe.Message, fe.Reason); * }*/ catch (Exception e) { if (e is FaultException) { Console.WriteLine(e.Message); } if (e is ArgumentException) { Console.WriteLine(e.Message); } } if (loginInformation.Authenticated) { clientAccount.Authenticated = true; clientAccount.ClientGroup = loginInformation.UserGroup; } else { if (loginInformation.SecurityQuestionOne != null) { clientAccount.RequireSafeLogin = true; clientAccount.SecurityQuestionOne = loginInformation.SecurityQuestionOne; clientAccount.SecurityQuestionTwo = loginInformation.SecurityQuestionTwo; } Console.WriteLine("Failed to log in"); } break; } case 2: { User newUserAccount = InputUserInfo(); try { operationSuccess = registrationProxy.Register(newUserAccount); if (operationSuccess) { Console.WriteLine("Successfully registered a new account!"); } } catch (FaultException fe) { Console.WriteLine(fe.Message); Console.WriteLine(fe.InnerException); } break; } case 0: break; } return(choice); }