Exemple #1
0
        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;
        }
Exemple #2
0
        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();
            }
        }
Exemple #3
0
        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;
                }
            }
        }