private void DisplayItems() { CompanyUserDataLoading = true; CompanyUserListResponse response = new CompanyUserSQLiteRepository().GetCompanyUsers(CurrentUser.Identifier); if (response.Success) { CompanyUsersFromDB = new ObservableCollection <CompanyUserViewModel>(response?.CompanyUsers ?? new List <CompanyUserViewModel>()); } else { CompanyUsersFromDB = new ObservableCollection <CompanyUserViewModel>(); MainWindow.ErrorMessage = response.Message; } CompanyUserDataLoading = false; }
private void btnSaveCompanyUser_Click(object sender, RoutedEventArgs e) { // Save header for any new change btnSaveHeader_Click(sender, e); #region Validation #endregion if (!IsHeaderCreated) { MainWindow.WarningMessage = ((string)Application.Current.FindResource("Zaglavlje_nije_sačuvano")); return; } var rolesList = RolesFromDB.Where(x => x.IsChecked) .ToList(); UserRolesItemForm.UserRoles = rolesList; UserRolesItemForm.User = CurrentUser; if (UserRolesItemForm.Identifier == Guid.Empty) { UserRolesItemForm.Identifier = Guid.NewGuid(); } var sqLite = new CompanyUserSQLiteRepository(); sqLite.Delete(UserRolesItemForm.Identifier); var response = sqLite.Create(UserRolesItemForm); if (!response.Success) { MainWindow.ErrorMessage = response.Message; } else { Thread td = new Thread(() => DisplayItems()); td.IsBackground = true; td.Start(); UserRolesItemForm = new CompanyUserViewModel(); UserRolesItemForm.Company = CompaniesFromDB.FirstOrDefault(); } }
private void btnLogIn_Click(object sender, RoutedEventArgs e) { if (InputIsValid()) { string username = txtUsername.Text; string password = txtPasswordBox.Password; try { //Validate credentials through the authentication service UserSQLiteRepository userSQLiteRepository = new UserSQLiteRepository(); UserViewModel userViewModel = new UserViewModel(); CompanyViewModel company = CompaniesFromDB.Where(x => x.Identifier != Guid.Empty).FirstOrDefault(); CompanyUserViewModel compUser = null; userSQLiteRepository.GetUsers(); UserResponse userResponse = userSQLiteRepository.Authenticate(username, CalculateHash(password, username), company.Id); if (userResponse.Success && userResponse.User != null) { userViewModel = userResponse.User; var companyUser = new CompanyUserSQLiteRepository().GetCompanyUser(company.Id, userViewModel.Identifier); if (companyUser.Success) { compUser = companyUser.CompanyUser; } } else { userResponse = authenticationService.Authenticate(username, CalculateHash(password, username)); if (!userResponse.Success || userResponse.User == null) { throw new UnauthorizedAccessException(); } userViewModel = userResponse.User; var companyUser = new CompanyUserSQLiteRepository().GetCompanyUser(company.Id, userViewModel.Identifier); if (companyUser.Success) { compUser = companyUser.CompanyUser; } } if (compUser == null) { throw new UnauthorizedAccessException(); } //Get the current principal object CustomPrincipal customPrincipal = Thread.CurrentPrincipal as CustomPrincipal; if (customPrincipal == null) { throw new ArgumentException("The application's default thread principal must be set to a CustomPrincipal object on startup."); } //Authenticate the user customPrincipal.Identity = new CustomIdentity( userViewModel.Id, userViewModel.FirstName, userViewModel.LastName, userViewModel.Identifier, userViewModel.Email, company.Id, company.Identifier, company.CompanyName, userViewModel, compUser); if (cbxLanguages.SelectedValue.ToString() == "Serbia") { ResourceDictionary dict = new ResourceDictionary(); dict.Source = new Uri("..\\..\\Resources\\Languages\\StringResources-SRB.xaml", UriKind.Relative); App.Current.Resources.MergedDictionaries.Add(dict); } else if (cbxLanguages.SelectedValue.ToString() == "Germany") { ResourceDictionary dict = new ResourceDictionary(); dict.Source = new Uri("..\\..\\Resources\\Languages\\StringResources-GER.xaml", UriKind.Relative); App.Current.Resources.MergedDictionaries.Add(dict); } else { ResourceDictionary dict = new ResourceDictionary(); dict.Source = new Uri("..\\..\\Resources\\Languages\\StringResources-ENG.xaml", UriKind.Relative); App.Current.Resources.MergedDictionaries.Add(dict); } //Thread td = new Thread(() => { // try // { // AzureNetworkDriveMapper azureNetworkDriveMapper = new AzureNetworkDriveMapper( // DriveLetter: AppConfigurationHelper.Configuration?.AzureNetworkDrive?.DriveLetter, // DriveNetworkPath: AppConfigurationHelper.Configuration?.AzureNetworkDrive?.DriveNetworkPath, // SubDir: AppConfigurationHelper.Configuration?.AzureNetworkDrive?.SubDir, // Username: AppConfigurationHelper.Configuration?.AzureNetworkDrive?.Username, // Password: AppConfigurationHelper.Configuration?.AzureNetworkDrive?.Password, // IsPersistent: AppConfigurationHelper.Configuration?.AzureNetworkDrive?.Persistent ?? true); // if (!String.IsNullOrEmpty(AppConfigurationHelper.Configuration?.AzureNetworkDrive?.DriveNetworkPath)) // { // if (!azureNetworkDriveMapper.IsDriveAndExists()) // azureNetworkDriveMapper.MapDrive(); // } // } catch(Exception ex) // { // MessageBox.Show(ex.Message); // } //}); //td.IsBackground = true; //td.Start(); MainWindow mainWindow = new MainWindow(); mainWindow.Show(); this.Close(); } catch (UnauthorizedAccessException) { notifier.ShowError("Korisničko ime, lozinka ili firma nisu korektni!"); } catch (Exception ex) { notifier?.ShowError("Greška: " + ex?.Message); } } }
public Home() { businessPartnerService = DependencyResolver.Kernel.Get <IBusinessPartnerService>(); businessPartnerTypeService = DependencyResolver.Kernel.Get <IBusinessPartnerTypeService>(); businessPartnerBankService = DependencyResolver.Kernel.Get <IBusinessPartnerBankService>(); businessPartnerDocumentService = DependencyResolver.Kernel.Get <IBusinessPartnerDocumentService>(); businessPartnerInstitutionService = DependencyResolver.Kernel.Get <IBusinessPartnerInstitutionService>(); businessPartnerLocationService = DependencyResolver.Kernel.Get <IBusinessPartnerLocationService>(); businessPartnerNoteService = DependencyResolver.Kernel.Get <IBusinessPartnerNoteService>(); //businessPartnerOrganizationUnitService = DependencyResolver.Kernel.Get<IBusinessPartnerOrganizationUnitService>(); businessPartnerPhoneService = DependencyResolver.Kernel.Get <IBusinessPartnerPhoneService>(); employeeService = DependencyResolver.Kernel.Get <IEmployeeService>(); employeeProfessionService = DependencyResolver.Kernel.Get <IEmployeeProfessionService>(); employeeNoteService = DependencyResolver.Kernel.Get <IEmployeeNoteService>(); employeeLicenceService = DependencyResolver.Kernel.Get <IEmployeeLicenceService>(); employeeItemService = DependencyResolver.Kernel.Get <IEmployeeItemService>(); employeeDocumentService = DependencyResolver.Kernel.Get <IEmployeeDocumentService>(); employeeCardService = DependencyResolver.Kernel.Get <IEmployeeCardService>(); licenceTypeService = DependencyResolver.Kernel.Get <ILicenceTypeService>(); familyMemberService = DependencyResolver.Kernel.Get <IFamilyMemberService>(); physicalPersonService = DependencyResolver.Kernel.Get <IPhysicalPersonService>(); physicalPersonProfessionService = DependencyResolver.Kernel.Get <IPhysicalPersonProfessionService>(); physicalPersonNoteService = DependencyResolver.Kernel.Get <IPhysicalPersonNoteService>(); physicalPersonLicenceService = DependencyResolver.Kernel.Get <IPhysicalPersonLicenceService>(); physicalPersonItemService = DependencyResolver.Kernel.Get <IPhysicalPersonItemService>(); physicalPersonDocumentService = DependencyResolver.Kernel.Get <IPhysicalPersonDocumentService>(); physicalPersonCardService = DependencyResolver.Kernel.Get <IPhysicalPersonCardService>(); outputInvoiceService = DependencyResolver.Kernel.Get <IOutputInvoiceService>(); inputInvoiceService = DependencyResolver.Kernel.Get <IInputInvoiceService>(); countryService = DependencyResolver.Kernel.Get <ICountryService>(); regionService = DependencyResolver.Kernel.Get <IRegionService>(); municipalityService = DependencyResolver.Kernel.Get <IMunicipalityService>(); cityService = DependencyResolver.Kernel.Get <ICityService>(); sectorService = DependencyResolver.Kernel.Get <ISectorService>(); professionService = DependencyResolver.Kernel.Get <IProfessionService>(); bankService = DependencyResolver.Kernel.Get <IBankService>(); agencyService = DependencyResolver.Kernel.Get <IAgencyService>(); constructionSiteService = DependencyResolver.Kernel.Get <IConstructionSiteService>(); constructionSiteDocumentService = DependencyResolver.Kernel.Get <IConstructionSiteDocumentService>(); constructionSiteCalculationService = DependencyResolver.Kernel.Get <IConstructionSiteCalculationService>(); constructionSiteNoteService = DependencyResolver.Kernel.Get <IConstructionSiteNoteService>(); //employeeByBusinessPartnerService = DependencyResolver.Kernel.Get<IEmployeeByBusinessPartnerService>(); //radnici po firmama? //employeeByConstructionSiteService = DependencyResolver.Kernel.Get<IEmployeeByConstructionSiteService>(); // radnici po gradilistu //businessPartnerByConstructionSiteService = DependencyResolver.Kernel.Get<IBusinessPartnerByConstructionSiteService>(); //firme po gradilistu taxAdministrationService = DependencyResolver.Kernel.Get <ITaxAdministrationService>(); limitationService = DependencyResolver.Kernel.Get <ILimitationService>(); userService = DependencyResolver.Kernel.Get <IUserService>(); vatService = DependencyResolver.Kernel.Get <IVatService>(); discountService = DependencyResolver.Kernel.Get <IDiscountService>(); serviceDeliveryService = DependencyResolver.Kernel.Get <IServiceDeliveryService>(); statusService = DependencyResolver.Kernel.Get <IStatusService>(); shipmentService = DependencyResolver.Kernel.Get <IShipmentService>(); toDoService = DependencyResolver.Kernel.Get <IToDoService>(); phonebookService = DependencyResolver.Kernel.Get <IPhonebookService>(); callCentarService = DependencyResolver.Kernel.Get <ICallCentarService>(); employeeByConstructionSiteService = DependencyResolver.Kernel.Get <IEmployeeByConstructionSiteService>(); businessPartnerByConstructionSiteService = DependencyResolver.Kernel.Get <IBusinessPartnerByConstructionSiteService>(); employeeByBusinessPartnerService = DependencyResolver.Kernel.Get <IEmployeeByBusinessPartnerService>(); documentFolderService = DependencyResolver.Kernel.Get <IDocumentFolderService>(); documentFileService = DependencyResolver.Kernel.Get <IDocumentFileService>(); InitializeComponent(); this.DataContext = this; var resp = new CompanyUserSQLiteRepository().GetCompanyUser(MainWindow.CurrentCompanyId, MainWindow.CurrentUser?.Identifier ?? Guid.Empty); if (resp.Success) { var userRoles = resp.CompanyUser?.UserRoles ?? new List <UserRoleViewModel>(); if (userRoles.Any(x => x.Name == "CallCentar") || userRoles.Any(x => x.Name == "Admin")) { CallCentarList.Visibility = System.Windows.Visibility.Visible; } else { CallCentarList.Visibility = System.Windows.Visibility.Collapsed; } } }