{"version":3,"sources":["service/storage.service.ts","service/xhr.service.ts","service/user.service.ts","service/company.service.ts","service/bank.service.ts","service/bank.branch.service.ts","service/bank.account.service.ts","service/bank.credential.service.ts","service/bank.ftpcredential.service.ts","service/country.service.ts","service/city.service.ts","service/district.service.ts","service/currency.service.ts","service/permission.service.ts","service/role.service.ts","service/register.service.ts","service/location.service.ts","service/account.statement.service.ts","service/pos.statement.service.ts","service/account.balances.service.ts","service/language.service.ts","service/resource.type.service.ts","service/resource.service.ts","service/payment.service.ts","service/bank.account.user.service.ts","service/company.user.service.ts","service/user.permission.service.ts","service/role.permission.service.ts","service/notification.service.ts","service/invoice.service.ts","service/partner.service.ts","service/index.ts","routes/protected.tsx","routes/paths.tsx","components/layout/Confirm.tsx","utils/login.validators.tsx","components/login/LoginForm.tsx","components/login/Login.tsx","utils/remember.validators.tsx","components/remember/RememberForm.tsx","components/remember/Remember.tsx","components/Navbar.tsx","components/Sidebar.tsx","components/layout/CustomSelect.tsx","components/layout/Alert.tsx","helpers/validators.tsx","components/register/RegisterForm.tsx","components/register/Register.tsx","components/layout/Wrapper.tsx","components/company/CompanyList.tsx","components/company/Company.tsx","components/cockpit/AccountStatements.tsx","components/cockpit/AccountBalances.tsx","helpers/priceFormatter.ts","components/cockpit/Cockpit.tsx","components/documentation/Documentation.tsx","utils/company.validators.tsx","utils/sql.inject.validators.tsx","components/company/CompanyForm.tsx","components/company/ConsentAgreementForm.tsx","components/company/ConsentRenewalForm.tsx","components/company/ConsentCancelForm.tsx","components/accountStatement/AccountStatementList.tsx","components/accountStatement/AccountStatement.tsx","components/posStatement/PosStatementList.tsx","components/posStatement/PosStatement.tsx","components/posValorDate/PosStatementValorDateList.tsx","components/posValorDate/PosStatementValorDate.tsx","components/account/Balance.tsx","components/account/AccountBalances.tsx","components/account/Account.tsx","components/account/AccountDetail.tsx","components/bank/BankList.tsx","components/bank/Bank.tsx","components/NotFound/NotFound.tsx","utils/bank.validators.tsx","components/bank/BankForm.tsx","components/bankBranch/BankBranchList.tsx","components/bankBranch/BankBranch.tsx","utils/bankbranch.validators.tsx","components/bankBranch/BankBranchForm.tsx","components/bankAccount/BankAccountList.tsx","components/bankAccount/BankAccount.tsx","utils/bankaccount.validators.tsx","components/bankAccount/BankAccountForm.tsx","components/bankCredential/BankCredentialList.tsx","components/bankCredential/BankCredential.tsx","utils/bankcredential.validators.tsx","components/bankCredential/BankCredentialForm.tsx","components/bankFTPCredential/BankFTPCredentialList.tsx","components/bankFTPCredential/BankFTPCredential.tsx","utils/bankftpcredential.validators.tsx","components/bankFTPCredential/BankFTPCredentialForm.tsx","components/country/CountryList.tsx","components/country/Country.tsx","utils/country.validators.tsx","components/country/CountryForm.tsx","components/city/CityList.tsx","components/city/City.tsx","utils/city.validators.tsx","components/city/CityForm.tsx","components/district/DistrictList.tsx","components/district/District.tsx","utils/district.validators.tsx","components/district/DistrictForm.tsx","components/currency/CurrencyList.tsx","components/currency/Currency.tsx","utils/currency.validators.tsx","components/currency/CurrencyForm.tsx","components/user/UserList.tsx","components/user/User.tsx","utils/user.validators.tsx","components/user/UserForm.tsx","components/multipleUser/MultipleUserForm.tsx","components/multipleUser/MultipleUser.tsx","components/user/Profile.tsx","components/user/PasswordReset.tsx","components/user/PasswordUpdate.tsx","components/permission/PermissionList.tsx","components/permission/Permission.tsx","utils/permission.validators.tsx","components/permission/PermissionForm.tsx","components/partner/PartnerList.tsx","components/partner/Partner.tsx","utils/partner.validators.tsx","components/partner/PartnerForm.tsx","components/role/RoleList.tsx","components/role/Role.tsx","utils/role.validators.tsx","components/role/RoleForm.tsx","components/language/LanguageList.tsx","components/language/Language.tsx","utils/language.validators.tsx","components/language/LanguageForm.tsx","components/resourceType/ResourceTypeList.tsx","components/resourceType/ResourceType.tsx","utils/resourcetype.validators.tsx","components/resourceType/ResourceTypeForm.tsx","components/resource/ResourceList.tsx","components/resource/Resource.tsx","utils/resource.validators.tsx","components/resource/ResourceForm.tsx","components/reports/BalanceChart.tsx","components/reports/Reports.tsx","components/reports/BalanceAnalysis.tsx","components/payment/PaymentList.tsx","components/payment/Payment.tsx","components/payment/PaymentForm.tsx","components/bankAccountUser/BankAccountUserList.tsx","components/bankAccountUser/BankAccountUser.tsx","utils/bankaccountuser.validators.tsx","components/bankAccountUser/BankAccountUserForm.tsx","components/companyUser/CompanyUserList.tsx","components/companyUser/CompanyUser.tsx","utils/companyuser.validators.tsx","components/companyUser/CompanyUserForm.tsx","components/userPermission/UserPermissionList.tsx","components/userPermission/UserPermission.tsx","utils/userpermission.validators.tsx","components/userPermission/UserPermissionForm.tsx","components/rolePermission/RolePermissionList.tsx","components/rolePermission/RolePermission.tsx","utils/rolepermission.validators.tsx","components/rolePermission/RolePermissionForm.tsx","components/notification/NotificationList.tsx","components/notification/Notification.tsx","utils/notification.validators.tsx","components/notification/NotificationForm.tsx","components/invoice/InvoiceList.tsx","components/invoice/Invoice.tsx","utils/invoice.validators.tsx","components/invoice/InvoiceForm.tsx","components/accountbalancehistory/AccountBalanceHistoryList.tsx","components/accountbalancehistory/AccountBalanceHistory.tsx","routes/index.tsx","App.tsx","index.tsx"],"names":["StorageTypes","XHRService","Object","classCallCheck","this","service","downloadFileRequest","baseUrl","handleError","error","response","status","console","userService","logout","Promise","reject","axios","create","baseURL","responseType","interceptors","use","handleSuccess","request","handleRequest","handleDownloadSuccess","data","blob","Blob","type","a","document","createElement","body","appendChild","url","window","URL","createObjectURL","href","fileName","String","config","split","download","click","revokeObjectURL","headers","getToken","path","get","payload","method","Content-Type","UserService","xhrService","COOKIE_NAME","COOKIE_USERNAME","COOKIE_USEREMAIL","LANGUAGE_NAME","user","post","catch","isSuccess","token","cookieService","setItem","permission","nameSurname","emailAddress","model","errorCode","errorMessage","e","id","searchText","pageNumber","rowsPerPage","orderBy","isActive","companyId","password","pagingParameters","export","concat","getItem","removeItem","CompanyService","CompanyName","userLimit","expireDate","ipAddress","partnerId","employeeNumber","countryId","cityId","districtId","address","BankService","BankBranchService","bankId","BankAccountService","clientType","isValorAccount","currencyId","BankCredentialService","companyCode","BankFTPCredentialService","bankAccountId","userName","posMerchantCode","CountryService","countryName","countryCode","countryPhoneCode","CityService","DistrictService","CurrencyService","PermissionService","RoleService","roleName","RegisterService","StorageService","storageType","createClass","key","value","JSON","parse","stringify","CookieService","email","result","RegExp","encodeURIComponent","exec","cookie","days","date","Date","setTime","getTime","expires","toUTCString","languageCode","LocationService","search","companyName","isHQ","currencyName","bankAccountName","bankName","resourceTypeName","languageName","permissionName","AccountStatementsService","unixStartDate","unixEndtDate","accountId","iban","startDate","endDate","description","balance","PosStatementsService","models","userId","AccountBalancesService","moment","subtract","format","isLicenseDifferent","isLicenseDifferentReverse","isJustStatement","isJustWebUser","LanguageService","ResourceTypeService","ResourceService","resourceTypeId","languageId","PaymentService","BankAccountUserService","CompanyUserService","UserPermissionService","permissionId","RolePermissionService","roleId","NotificationService","InvoiceService","PartnerService","companyService","bankService","bankBranchService","bankAccountService","bankCredentialService","bankFTPCredentialService","countryService","cityService","districtService","currencyService","permissionService","roleService","registerService","locationService","accountStatementsService","posStatementsService","accountBalancesService","languageService","resourceTypeService","resourceService","bankAccountUserService","companyUserService","userPermissionService","rolePermissionService","notificationService","invoiceService","partnerService","LocaleStorage","ProtectedRoute","_this$props","props","Component","component","rest","objectWithoutProperties","isLanguage","react_default","react_router","assign","render","isAuth","to","PureComponent","HOME","ACCOUNT_STATEMENT","BANK_STATEMENT","ACCOUNT_DETAIL","COMPANY","EDIT_COMPANY","EDIT_CONSENT_AGREEMENT","EDIT_CONSENT_RENEWAL","EDIT_CONSENT_CANCEL","BANK","EDIT_BANK","BANKBRANCH","EDIT_BANKBRANCH","bankBranchId","BANKACCOUNT","EDIT_BANKACCOUNT","EDIT_BANKACCOUNTUSER","bankAccountUserId","COMPANYUSER","EDIT_COMPANYUSER","companyUserId","BANKCREDENTIAL","EDIT_BANKCREDENTIAL","bankCredentialId","EDIT_BANKFTPCREDENTIAL","bankFTPCredentialId","EDIT_NOTIFICATION","notificationId","COUNTRY","EDIT_COUNTRY","CITY","EDIT_CITY","DISTRICT","EDIT_DISTRICT","CURRENCY","EDIT_CURRENCY","USER","EDIT_USER","PASSWORD_UPDATE","PERMISSION","EDIT_PERMISSION","PARTNER","EDIT_PARTNER","EDIT_USERPERMISSION","userPermissionId","EDIT_ROLEPERMISSION","rolePermissionId","ROLE","EDIT_ROLE","LANGUAGE","EDIT_LANGUAGE","EDIT_RESOURCETYPE","RESOURCE","EDIT_RESOURCE","resourceId","INVOICE","EDIT_INVOICE","invoiceId","ConfirmDialog","_this","possibleConstructorReturn","getPrototypeOf","call","onApprove","bind","assertThisInitialized","onClose","text","header","open","icon","confirm","Dialog_default","aria-labelledby","aria-describedby","DialogTitle_default","Icon_default","className","DialogContent_default","DialogContentText_default","DialogActions_default","Fragment","Button_default","onClick","color","style","margin","autoFocus","passwordValidator","length","emailValidator","test","emailValidation","LoginForm","state","timeout","interval","emailAddressError","passwordError","partnerCompanyCode","loginSuccess","showPassword","confirmStatus","onEnter","onEnterEmail","onEnterPassword","handleClickShowPassword","onConfirmClose","login","esm_get","prototype","currentTarget","_this$state","setState","formValidation","redirect","_this2","_this$state3","FormControl_default","required","fullWidth","TextField_default","label","placeholder","variant","onKeyPress","onChange","name","autoComplete","helperText","_this$state4","InputProps","endAdornment","InputAdornment_default","position","IconButton_default","aria-label","classes","Confirm_ConfirmDialog","Grid_default","container","spacing","alignItems","justify","item","xs","src","redirectToHome","Paper_default","renderEmail","renderPassword","FormControlLabel_default","control","Checkbox_default","react_router_dom","withStyles","theme","main","display","justifyContent","width","height","Login","login_LoginForm","LoginRememberForm","emailError","Remember","RememberForm","Navbar","sidebarDown","permissionList","confirmMessage","confirmTitle","confirmIcon","confirmType","languages","resources","onConfirmApprove","handleDrawerOpen","handleDemo","permissionNot","getPermisisons","unauthorizedPermissions","getResources","getLanguages","resourceLanguage","resourceItem","language","forEach","resourceKey","loading","location","reload","_classNames","AppBar_default","classNames","appBar","defineProperty","appBarShift","appBarDrawerClose","Toolbar_default","disableGutters","menuButton","hide","navbar","Badge_default","badgeContent","showZero","map","onChangeLanguage","Avatar_default","alt","MenuTopMenu41","MenuTopMenu42","MenuTopMenu43","MenuTopMenu45","root","zIndex","drawer","transition","transitions","easing","sharp","duration","leavingScreen","marginLeft","enteringScreen","marginRight","flexShrink","whiteSpace","border-right","drawerOpen","drawerClose","overflowX","unit","breakpoints","up","toolbar","objectSpread","padding","mixins","withTheme","companyView","bankView","bankBranchView","bankAccountView","bankCredentialView","bankFTPCredentialView","countryView","cityView","districtView","currencyView","cockpitView","accountView","balanceHistoryView","accountStatementView","posStatementView","valorDateView","balanceAnalysisView","userView","permissionView","roleView","languageView","resoruceTypeView","resoruceView","reportsView","bankAccountUserView","companyUserView","rolePermissionView","invoiceView","partnerView","Sidebar","submenuCompany","submenuUser","submenuBank","submenuDefinition","submenuReporting","isPosStatement","isAccounting","isReporting","isExcelAndPdfExport","addMenu","handleClick","handleSubmenuCompanyClick","handleSubmenuUserClick","handleSubmenuBankClick","handleSubmenuDefinitionClick","handleSubmenuReportingClick","handleClose","page","_classNames2","_classNames3","_classNames6","_classNames9","_classNames10","_classNames11","_classNames12","_this3","Drawer_default","paper","drawerButton","drawerButtonOpen","drawerButtonClose","indexOf","addMenuClose","sidebarOpen","sidebarClose","fontWeight","fontSize","MenuTopMenu1","MenuTopMenu1_1","MenuTopMenu1_2","MenuTopMenu1_3","MenuTopMenu1_4","MenuTopMenu1_5","MenuTopMenu1_15","MenuTopMenu1_6","MenuTopMenu1_7","MenuTopMenu1_8","MenuTopMenu1_9","MenuTopMenu1_10","MenuTopMenu1_11","MenuTopMenu1_12","MenuTopMenu1_13","MenuTopMenu1_14","MenuTopMenu1_16","Divider_default","CircularProgress_default","overflowY","List_default","ListSubheader_default","subheader","MenuLeftmenuHeader1","ListItem_default","ListItemIcon_default","ListItemText_default","menuItem","inset","primary","MenuLeftmenu1_1","MenuLeftmenu1_2","MenuLeftmenu1_2_1","MenuLeftmenu1_3","MenuLeftmenu1_10","MenuLeftmenu1_4","button","MenuLeftmenu1_5","Collapse_default","in","unmountOnExit","sidebarMenu","disablePadding","MenuLeftmenu1_5_1","MenuLeftmenu1_5_2","MenuLeftmenuHeader2","MenuLeftmenu1_6","MenuLeftmenu1_6_1","MenuLeftmenu1_6_2","MenuLeftmenu1_6_7","MenuLeftmenu1_6_3","MenuLeftmenu1_6_4","MenuLeftmenu1_6_5","MenuLeftmenu1_6_6","MenuLeftmenu1_7","MenuLeftmenu1_7_1","MenuLeftmenu1_7_2","MenuLeftmenu1_7_3","MenuLeftmenu1_7_5","MenuLeftmenu1_8","MenuLeftmenu1_8_1","MenuLeftmenu1_8_2","MenuLeftmenu1_8_3","MenuLeftmenu1_8_6","MenuLeftmenu1_8_5","MenuLeftmenu1_8_8","MenuLeftmenu1_8_4","MenuLeftmenu1_9","MenuLeftmenu1_9_1","MenuLeftmenu1_9_2","MenuLeftmenu1_9_3","appBarSpacer","NavbarLeft","textTransform","show","inputComponent","_ref","inputRef","ref","components","Control","inputProps","selectProps","input","innerRef","children","innerProps","textFieldProps","Menu","square","MultiValue","Chip_default","tabIndex","chip","chipFocused","isFocused","onDelete","removeProps","deleteIcon","Cancel_default","NoOptionsMessage","Typography_default","noOptionsMessage","log","Option","MenuItem_default","buttonRef","selected","isSelected","Placeholder","SingleValue","singleValue","ValueContainer","valueContainer","IntegrationReactSelect","handleChange","single","multi","labelName","valueKey","options","disabled","selectStyles","base","palette","& input","font","NoSsr_default","react_select_esm","styles","isDisabled","getOptionLabel","option","getOptionValue","isClearable","React","flexGrow","flexWrap","flex","overflow","backgroundColor","emphasize","grey","left","marginTop","right","border","divider","Alert","isOpen","message","dist","timeoutMs","passwordValidation","title","SymbolControl","i","charAt","validate","content","validations","str","match","RegisterForm","event","target","companyNameError","countryList","countryError","phone","phoneError","nameSurnameError","passwordAgain","passwordAgainError","discountCode","aggreement","aggreementError","clarificationText","clarificationTextError","explicitConsentText","personalValue","personal","personalError","isToken","tokenParams","isLogin","onChangeCompanyName","onChangePersonal","onChangeCountry","onChangePhone","onChangeNameSurname","onChangeEmail","onChangePassoword","onChangePassowordAgain","onChangeDiscountCode","onChangeAggreement","onChangeClarificationText","onChangeExplicitConsentText","register","complate","getCountries","val","Number","checked","useDefault","countries","params","getUserByToken","find","country","createUser","mobilePhoneNumber","isKullaniciSozlesmesiAccepted","isAydinlatmaMetniAccepted","isAcikRizaMetniAccepted","complateUser","registrationComplate","_this$state5","CustomSelect","textAlign","_this$state6","_this$state7","_this$state8","_this$state9","_this$state10","_this$state11","_this$state12","float","marginBottom","_this$state13","Alert_Alert","renderCompanyName","renderPersonal","renderCountry","renderPhone","renderNameSurname","renderPasswordAgain","renderDiscountCode","renderAggreement","renderClarificationText","Register","replace","register_RegisterForm","CompanyList","deleteConfirmId","list","totalCount","searchTotalCount","sortType","currentPage","selectedRow","deleteConfirm","access","updateButton","deleteButton","addNewCompany","addNewButton","handleChangePage","handleSort","handleSearch","handleRowsPerPageChange","onChangeStatus","getExportExcel","getPermissionControl","getCompanies","renderAccessProcess","rowPerPage","companies","delete","filter","company","_","_ref4","removeCompany","_ref5","_this$state2","pageCount","pages","Math","ceil","_this4","MenuOperationmenu1","MenuOperationmenu1_1","MenuOperationmenu1_2","Button12","Switch_default","LabelStatus1","LabelStatus2","_this5","TableRow_default","TableCell_default","TableSortLabel_default","active","direction","ListLabelStatus","_this6","LabelList","renderDownloadButton","renderAddButton","renderStatus","TablePagination_default","rowsPerPageOptions","count","onChangeRowsPerPage","labelDisplayedRows","labelRowsPerPage","LabelViewData","onChangePage","InputPlaceholderSearch","minWidth","Table_default","TableHead_default","renderRowHeaders","TableBody_default","scope","substring","licenseLimitOfIBAN","vatNumber","cityName","districtName","partnerName","handleRemoveCompany","_ref6","from","LabelPagination2","LabelPagination3","backIconButtonProps","nextIconButtonProps","LabelPagination1","LabelPrevious","renderPagination","floor","LabelNext","Company","includes","layout_Wrapper","MenuLeftmenu2_2","CompanyList_CompanyList","undefined","renderMessage","AccountStatements","getData","init","clearInterval","setInterval","cockpit","accountStatements","amount","p","isaretli","sayi","net","ondalik","tersSayi","reverse","join","substr","transactionDate","trim","renderAmountConvert","currencyCode","renderTable","AccountBalances","itemCount","getTotals","accountBalanceTotalItems","Card_default","CardContent_default","responsive","superLargeDesktop","breakpoint","max","min","items","desktop","tablet","mobile","react_multi_carousel_default","containerClass","itemClass","renderCards","wrapper","renderCarousel","currencyList","symbol","code","priceFormatter","price","arguments","withNoSymbol","currentItem","currencySymbol","_$split","toFixed","_$split2","slicedToArray","flatPart","decimalPart","reversedPrice","withThousand","number","index","order","mainDrillDownColors","centeredLoading","placeItems","card","borderRadius","pieChart","paddingBottom","drillChart","drillChartContainer","buttonInvisible","opacity","pointerEvents","iconButton","gap","Cockpit","banks","balanceTotals","accountBalances","valorDates","mainDrillDownLoading","valorDrillDownLoading","mainDrillDownData","level","argumentField","valueField","mainDrillDownPreviousData","0","1","2","valorDrillDownData","valorDrillDownPreviousData","getBanks","getBalanceTotals","getAccountBalances","getValorDates","concatenateSameFields","renderDoughnutChart","renderMainDrillDownChart","renderValorDrillDownChart","sameFieldName","balanceFieldName","trimmedList","loopedFieldValues","_loop","currentSameFieldValue","currentBalanceFieldValue","push","getAccountBalanceTotalsByBank","accountBalanceTotalByBankItem","getAccountBalanceTotalsByCompany","accountBalanceTotalByCompanyItem","getAccountBalancesByCompanyId","valorDate","posStatementTotalByValorDateItem","trimmedValorDates","pie_chart_default","dataSource","onPointClick","select","resolveLabelOverlapping","pie_chart","visible","customizeText","pointInfo","enabled","customizeTooltip","argumentText","html","fontColor","_this$state$mainDrill","asyncToGenerator","regenerator_default","mark","_callee6","_currencyId","_companies","_companyId","_accountBalances2","_accountBalances3","_bankId","currentBalances","wrap","_context6","prev","next","sent","stop","_x4","apply","index_es","ArrowBack_default","chart","customizePoint","hoverStyle","hatching","ignoreEmptyPoints","barPadding","nameField","polar_chart","overlappingBehavior","size","currentBalance","_ref2","bankAccountNo","bankBranchCode","updateDateTime","_this$state$valorDril","_ref3","_callee7","targetData","currentValorDates","_currentValorDates","_trimmedValorDates","_context7","_x5","banksWithTRYCurrency","banksWithGBPCurrency","_ref7","banksWithUSDCurrency","_ref8","banksWithEURCurrency","_ref9","cockpit_AccountBalances","AccountStatements_AccountStatements","Documentation","tab","handleTabChange","$link","onOpen","renderAllDocuments","renderSetupDocuments","renderUsingDocuments","Tabs_default","indicatorColor","Tab_default","renderBody","companyNameValidator","vatNumberValidator","employeeValidator","employeeValue","countryValidator","cityValidator","districtValidator","addressValidator","hhsValidator","consentDateValidator","sqlInjectValidator","CompanyForm","form","vatNumberError","employee","employeeError","addressError","cityList","cityError","districtList","districtError","isEdit","onChangeVatNumber","onChangeEmployee","onChangeCity","onChangeDistrict","onChangeAddress","cancel","saveChanges","getEditableCompany","createRef","getById","getDistricts","getCities","history","cities","districts","pathname","editCompany","createCompany","update","multiline","rows","getErrorMessage","md","onSubmit","preventDefault","renderVatNumber","renderEmployeeLimit","renderCountries","renderCities","renderDistricts","renderAddress","locale","dummyAccountData","account","sharedKnowledges","info","d","setMonth","getMonth","setDate","getDate","maxDate","toLocaleDateString","ConsentAgreementForm","process","hhsList","hhsName","hhsError","consentDate","consentDateError","grantPermission","onChangeHHS","onChangeConsentDate","placement","renderHHS","renderConsentDate","renderSharedKnowledge","renderInitial","renderGranted","renderInforming","HHS1","accountList","consentStartDate","consentEndDate","HHS2","HHS3","_dummyAccountData$hhs","renderContent","cancelPermission","renderCancel","renderCanceled","startOf","add","focusedInput","onChangeAccount","onDatesChange","updateList","getPermissions","all","getAccounts","unixEndDate","client","IBAN","bankAccounts","InputLabel_default","htmlFor","react_dates","startDateId","endDateId","onFocusChange","startDatePlaceholderText","endDatePlaceholderText","isOutsideRange","displayFormat","monthFormat","_this7","renderAccounts","renderDatePickers","senderName","debtorVKN","senderIBAN","AccountStatement","AccountStatementList_AccountStatements","PosStatements","posStatements","paddingLeft","paddingRight","islemTarihi","valorTarihi","islem","netTutar","brutTutar","komisyon","isyeri","sube","hesap","kartNumarasi","terminal","batchn","onayNo","urunSinifi","kur","kurBilgisi","smKurBilgisi","isYeriAdi","kayitTarihi","kayitSaati","firma","retRefNo","siparisNo","odulKatkisi","ekstraOdulKatki","smOdulKatki","servisKomisyonu","isyeriSosyalKatki","programUcreti","erkenOdemeTutari","erkenBlokeKomisyonu","iskontoTutari","taksitSayisi","taksitSirasi","PosStatement","PosStatementList_PosStatements","PosStatementValorDate","valorDateDownload","PosStatementValorDateList_PosStatementValorDate","Balance","bankList","companyList","getBankTotals","Array","isArray","bank","renderCompanies","renderBanks","centered","Balance_Balance","flexFlow","Account","account_AccountBalances","AccountDetail","expanded","totalBalance","getTotalBalance","detail","getCurrencyId","getAccountBalanceTotal","renderCompanyBalances","balanceList","current","findIndex","generateBalanceList","getAccountBalanceTotals","bottom","ExpansionPanel_default","ExpansionPanelSummary_default","expandIcon","heading","ExpansionPanelDetails_default","accordionDetail","bankcard","totalAmount","labelTotalAmount","cards","renderChartReport","accordion","renderExpansionPanels","flex-wrap","BankList","addNewBank","removeBank","bankCode","webSite","ftpAddress","ftpPort","ftpRemoteDirectory","ftpLocalDirectory","handleRemoveBank","Bank","BankList_BankList","NotFound","bankNameValidator","bankCodeValidator","webSiteValidator","BankForm","bankNameError","bankCodeError","webSiteError","ftpAddressError","ftpPortError","ftpRemoteDirectoryError","ftpLocalDirectoryError","onChangeBankName","onChangeBankCode","onChangeCountries","onChangeWebSite","onChangeFTPAddress","onChangeFTPPort","onChangeFTPRemoteDirectory","onChangeFTPLocalDirectory","onChangeDescription","getEditableBank","NotFound_NotFound","editBank","createBank","renderBankName","renderBankCode","renderWebSite","renderFTPAddress","renderFTPPort","renderFTPRemoteDirectory","renderFTPLocalDirectory","renderDescription","BankBranchList","addNewBankBranch","getBankBranches","bankBranches","bankBranch","removeBankBranch","bankBranchName","phoneNumber","adress","handleRemoveBankBranch","BankBranch","BankBranchList_BankBranchList","bankBranchNameValidator","bankBranchCodeValidator","bankValidator","phoneNumberValidator","BankBranchForm","bankBranchNameError","bankBranchCodeError","bankError","phoneNumberError","onChangeBankBranchName","onChangeBankBranchCode","onChangeBank","onChangePhoneNumber","getEditableBankBranch","editBankBranch","createBankBranch","backgroundPositionY","renderBankBranchName","renderBankBranchCode","renderPhoneNumber","BankAccountList","addNewBankAccount","getBankAccounts","bankAccount","removeBankAccount","bankAccountCode","handleRemoveBankAccount","BankAccount","BankAccountList_BankAccountList","bankAccountNameValidator","ibanValidator","bankAccountCodeValidator","companyValidator","currencyValidator","BankAccountForm","bankAccountNameError","ibanError","posCompanyCode","bankAccountCodeError","companyError","currencyError","onChangeBankAccountName","onChangeIBAN","onChangeBankAccountCode","onChangeCompany","onChangeCurrency","onChangeIsValorAccountStatus","getEditableBankAccount","getCurrencies","currencies","editBankAccount","createBankAccount","renderBankAccountName","renderIBAN","renderBankAccountCode","renderCurrencies","renderIsValorAccount","BankCredentialList","addNewBankCredential","getBankCredentials","bankCredentials","bankCredential","removeBankCredential","customerCode","serviceId","environment","serviceCompanyName","companyKey","handleRemoveBankCredential","BankCredential","BankCredentialList_BankCredentialList","customerCodeValidator","BankCredentialForm","customerCodeError","userNameError","isDisableCustomerCode","isDisableUserName","isDisablePassword","isDisableCompanyCode","isDisableServiceId","isDisableEnvironment","isDisableServiceCompanyName","isDisableCompanyKey","onChangeCustomerCode","onChangeUserName","onChangePassword","onChangeCompanyCode","onChangeServiceId","onChangeEnvironment","onChangeServiceCompanyName","onChangeCompanyKey","getEditableBankCredential","editBankCredential","createBankCredential","_this$state14","renderCustomerCode","renderUserName","renderCompanyCode","renderServiceId","renderEnvironment","renderServiceCompanyName","renderCompanyKey","BankFTPCredentialList","addNewBankFTPCredential","getBankFTPCredentials","bankFTPCredentials","bankFTPCredential","removeBankFTPCredential","handleRemoveBankFTPCredential","BankFTPCredential","BankFTPCredentialList_BankFTPCredentialList","userNameValidator","passwordCodeValidator","bankAccountValidator","BankFTPCredentialForm","bankAccountList","bankAccountError","posMerchantCodeError","onChangeBankAccount","onChangePosMerchantCode","getEditableBankFTPCredential","getBankAccountsCompanyBankDropDown","editBankFTPCredential","createBankFTPCredential","renderBankAccounts","renderPosMerchantCode","CountryList","addNewCountry","removeCountry","handleRemoveCountry","Country","CountryList_CountryList","countryNameValidator","countryCodeValidator","countryPhoneCodeValidator","CountryForm","countryNameError","countryCodeError","countryPhoneCodeError","onChangeCountryName","onChangeCountryCode","onChangeCountryPhoneCode","getEditableCountry","editCountry","createCountry","renderCountryName","renderCountryCode","renderCountryPhoneCode","CityList","addNewCity","city","removeCity","handleRemoveCity","City","CityList_CityList","cityNameValidator","CityForm","cityNameError","onChangeCityName","getEditableCity","editCity","createCity","renderCityName","DistrictList","addNewDistrict","district","removeDistrict","handleRemoveDistrict","District","DistrictList_DistrictList","districtNameValidator","DistrictForm","districtNameError","onChangeDistrictName","getEditableDistrict","editDistrict","createDistrict","renderDistrictName","CurrencyList","addNewCurrency","currency","removeCurrency","handleRemoveCurrency","Currency","CurrencyList_CurrencyList","currencyNameValidator","currencyCodeValidator","CurrencyForm","currencyNameError","currencyCodeError","onChangeCurrencyName","onChangeCurrencyCode","getEditableCurrency","editCurrency","createCurrency","renderCurrencyName","renderCurrencyCode","UserList","updatePasswordButton","addNewUser","getUsers","users","removeUser","isJustDebit","handleRemoveUser","User","UserList_UserList","nameSurnameValidator","emailAddressValidator","mobilePhoneNumberValidator","UserForm","mobilePhoneNumberError","onChangeEmailAddress","onChangeMobilePhoneNumber","onChangePosStatement","onChangeAccounting","onChangeReporting","onChangeJustDebit","onChangeJustStatement","onChangeJustWebUser","onChangeExcelAndPdfExport","getEditableUser","getCompaniesHQ","editUser","renderEmailAddress","renderMobilePhoneNumber","renderAccessPermission","MultpileUserForm","_nameSurname","_emailAddress","_password","_mobilePhoneNumber","createMultiple","createUserRequests","table","saveUsers","renderRowData","TableFooter_default","colSpan","paddingTop","MultipleUserForm_MultpileUserForm","totalAccountStatementCount","getShowUser","accountStatementCount","getInvoices","invoices","background","invoice","invoiceName","startDateTime","dueDateTime","PasswordResetForm","existingPassword","onChangeExistingPassword","onChangePasswordAgain","resetPassword","reset","renderExistingPassword","updatePassword","PermissionList","addNewPermission","permissions","removePermission","permissionKey","permissionDescription","handleRemovePermission","Permission","PermissionList_PermissionList","permissionKeyValidator","permissionDescriptionValidator","PermissionForm","permissionKeyError","permissionDescriptionError","onChangePermissionKey","onChangePermissionDescription","getEditablePermission","editPermission","createPermission","renderPermissionKey","renderPermissionDescription","PartnerList","addNewPartner","getPartners","partners","partner","removePartner","contactPerson","handleRemovePartner","Partner","PartnerList_PartnerList","partnerNameValidator","contactPersonValidator","userValidator","PartnerForm","partnerNameError","contactPersonError","userList","userError","onChangePartnerName","onChangeContactPerson","onChangeUser","getEditablePartner","getUsersOfPartners","editPartner","createPartner","renderPartnerName","renderContactPerson","renderUsers","RoleList","addNewRole","getRoles","roles","role","removeRole","handleRemoveRole","Role","RoleList_RoleList","roleNameValidator","RoleForm","roleNameError","onChangeRoleName","getEditableRole","editRole","createRole","renderRoleName","LanguageList","addNewLanguage","removeLanguage","handleRemoveLanguage","Language","LanguageList_LanguageList","languageNameValidator","languageCodeValidator","LanguageForm","languageNameError","languageCodeError","onChangeLanguageName","onChangeLanguageCode","getEditableLanguage","editLanguage","createLanguage","renderLanguageName","renderLanguageCode","ResourceTypeList","addNewResourceType","getResourceTypes","resourceTypes","resourceType","removeResourceType","handleRemoveResourceType","ResourceType","ResourceTypeList_ResourceTypeList","resourceTypeNameValidator","ResourceTypeForm","resourceTypeNameError","onChangeResourceTypeName","getEditableResourceType","resourceTypeError","editResourceType","createResourceType","renderResourceTypeyName","ResourceList","addNewResource","getResourcesList","resource","removeResource","handleRemoveResource","Resource","ResourceList_ResourceList","resourceKeyValidator","valueValidator","resourceTypeValidator","languageValidator","ResourceForm","resourceTypeList","languageList","languageError","resourceKeyError","valueError","onChangeResourceKey","onChangeResourceValue","onChangeResourceType","onChangeResourceLanguage","getEditableResource","editResource","createResource","renderResourceKey","renderResourceValue","renderResources","renderLanguages","BalanceChart","companyBalance","chart_default","top","Paper_Paper_default","CircularProgress_CircularProgress_default","renderCharts","Reports","tabValue","reports_BalanceChart","Tabs_Tabs_default","textColor","Tab_Tab_default","headCommon","midHeadingCommon","borderBottom","dateContainer","head","headFirst","currencyTotal","fontStyle","midHeadingCenter","midHeading","normalCell","cellFirst","BalanceAnalysis","balanceHistoryList","createDateTimeList","expandedCompany","getBalanceHistory","idKey","nameKey","reduce","acc","curr","idKeyValue","nameKeyValue","toConsumableArray","currentDateTime","createDateTime","sort","b","valueOf","listByAccount","seperateByKey","newList","v","accountWithThisDateTime","total","getAccountBalanceHistoriesReport","accountBalanceHistories","getUniqueDateTimeList","colList","getGridColList","ExpandMore_default","renderDatesRow","listByDateTime","sortWithDateTime","totalsForDate","getTotalsForDate","_ref10","listLength","differencesByDayBefore","difference","addPaymentView","PaymentList","AddPayment","getPayments","alignContent","Payment","addNewPayment","PaymentList_PaymentList","PaymentForm","cardNumber","experationDate","cvc","automaticPay","productId","product","yearPrice","monthPrice","discount","payType","planId","packages","packageName","year","month","onChangePayType","onChangeCardNumber","onChangeExperationDate","onChangeCVC","renderPackages","pack","addPackage","activePlan","renderPayType","renderPlans","renderCardNumber","renderExperationDate","renderCVC","renderAutomaticPay","BankAccountUserList","addNewBankAccountUser","getBankAccountUsers","bankAccountUsers","bankAccountUser","removeBankAccountUser","handleRemoveBankAccountUser","BankAccountUser","BankAccountUserList_BankAccountUserList","BankAccountUserForm","getEditableBankAccountUser","getBankAccountsCompanyDropDown","editBankAccountUser","createBankAccountUser","CompanyUserList","addNewCompanyUser","getCompanyUsers","companyUsers","companyUser","removeCompanyUser","handleRemoveCompanyUser","CompanyUser","CompanyUserList_CompanyUserList","CompanyUserForm","getEditableCompanyUser","editCompanyUser","createCompanyUser","UserPermissionList","addNewUserPermission","getUserPermissions","userPermissions","userPermission","removeUserPermission","MenuLeftmenu1_7_4","handleRemoveUserPermission","UserPermission","UserPermissionList_UserPermissionList","permissionValidator","UserPermissionForm","permissionError","onChangePermission","getEditableUserPermission","editUserPermission","createUserPermission","renderPermissions","RolePermissionList","addNewRolePermission","getRolePermissions","rolePermissions","rolePermission","removeRolePermission","handleRemoveRolePermission","RolePermission","RolePermissionList_RolePermissionList","roleValidator","RolePermissionForm","roleList","roleError","onChangeRole","getEditableRolePermission","editRolePermission","createRolePermission","renderRoles","NotificationList","addNewNotification","getNotifications","notifications","notification","removeNotification","senderTaxNumber","handleRemoveNotification","Notification","MenuLeftmenu1_8_7","NotificationList_NotificationList","descriptionValidator","NotificationForm","descriptionError","senderIBANError","senderTaxNumberError","onChangeSenderIBAN","onChangeSenderTaxNumber","getEditableNotification","editNotification","createNotification","renderSenderIBAN","renderSenderTaxNumber","InvoiceList","addNewInvoice","removeInvoice","handleRemoveInvoice","Invoice","InvoiceList_InvoiceList","invoiceNameValidator","createDateTimeValidator","dueDateTimeValidator","InvoiceForm","invoiceNameError","createDateTimeError","dueDateTimeError","onChangeInvoiceName","onChangeCreateDateTime","onChangeDueDateTime","getEditableInvoice","getAllCompanies","editInvoice","createInvoice","InputLabelProps","shrink","renderInvoiceName","renderCreateDateTime","renderDueDateTime","AccountBalanceHistory","AccountBalanceHistoryList_AccountBalanceHistory","Routes","sidebarStatus","components_Sidebar","components_Navbar","protected_ProtectedRoute","exact","ValorDate","BankStatement","ConsentRenewalForm","ConsentCancelForm","UserMultiForm","Profile","PasswordReset","PasswordUpdate","renderStatics","renderProtecteds","renderDefaultView","App","CssBaseline_default","routes_Routes","isMobile","Android","navigator","userAgent","BlackBerry","iOS","Opera","Windows","any","ReactDOM","src_App","getElementById"],"mappings":"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","file":"static/js/main.05c55df5.chunk.js","sourcesContent":["export enum StorageTypes {\r\n LocaleStorage = \"localStorage\",\r\n SessionStorage = \"sessionStorage\"\r\n}\r\n\r\nexport class StorageService {\r\n public readonly storageType: StorageTypes;\r\n\r\n constructor(storageType: StorageTypes) {\r\n this.storageType = storageType;\r\n }\r\n\r\n public removeItem(key: string): void {\r\n window[this.storageType].removeItem(key);\r\n }\r\n\r\n public getItem(key: string): T | null {\r\n const data: string | null = window[this.storageType].getItem(key);\r\n if (data) return JSON.parse(data);\r\n return null;\r\n }\r\n\r\n public setItem(key: string, value: any): void {\r\n const data: string = JSON.stringify(value);\r\n window[this.storageType].setItem(key, data);\r\n }\r\n}\r\n\r\nexport class CookieService {\r\n\r\n getItem(email: string) {\r\n var result = new RegExp('(?:^|; )' + encodeURIComponent(email) + '=([^;]*)').exec(document.cookie);\r\n return result ? result[1] : null;\r\n }\r\n\r\n setItem(email: string, value: string, days?: number) {\r\n if (!days) {\r\n days = 1;\r\n }\r\n\r\n var date = new Date();\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n\r\n var expires = \"; expires=\" + date.toUTCString();\r\n\r\n document.cookie = email + \"=\" + value + expires + \"; path=/\";\r\n }\r\n\r\n removeItem(email: string) {\r\n this.setItem(email, \"\", -1);\r\n }\r\n\r\n resourceItem(languageCode: string) {\r\n var result = new RegExp('(?:^|; )' + encodeURIComponent(languageCode) + '=([^;]*)').exec(document.cookie);\r\n return result ? result[1] : null;\r\n }\r\n\r\n}\r\n","import axios, { AxiosInstance, AxiosResponse, AxiosError, AxiosRequestConfig, AxiosProxyConfig } from 'axios';\r\nimport { userService, cookieService } from '.';\r\n\r\nexport default class XHRService {\r\n\r\n private readonly service: AxiosInstance;\r\n private readonly downloadFileRequest: AxiosInstance;\r\n public readonly baseUrl = \"https://api.finstant.co/api/\";\r\n\r\n constructor() {\r\n\r\n const service = axios.create({\r\n baseURL: this.baseUrl,\r\n responseType: \"json\",\r\n });\r\n\r\n const downloadFileRequest = axios.create({\r\n baseURL: this.baseUrl,\r\n responseType: \"blob\",\r\n });\r\n\r\n\r\n service.interceptors.response.use(this.handleSuccess, this.handleError);\r\n service.interceptors.request.use(this.handleRequest);\r\n downloadFileRequest.interceptors.response.use(this.handleDownloadSuccess, this.handleError);\r\n downloadFileRequest.interceptors.request.use(this.handleRequest);\r\n\r\n\r\n this.service = service;\r\n this.downloadFileRequest = downloadFileRequest;\r\n }\r\n\r\n private handleSuccess(response: AxiosResponse) {\r\n return response.data;\r\n\r\n }\r\n\r\n private handleDownloadSuccess(response: AxiosResponse) {\r\n var blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n let a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n let fileName = String(response.config.url).split(\"/\");\r\n a.download = fileName[4] + '.xlsx';\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n return response.data;\r\n }\r\n\r\n private handleRequest(config: AxiosRequestConfig) {\r\n config.headers[\"Authorization\"] = userService.getToken();\r\n return config;\r\n }\r\n\r\n private handleError = (error: AxiosError) => {\r\n switch (error.response && error.response.status) {\r\n case 401:\r\n console.error(\"401\")\r\n userService.logout();\r\n break;\r\n case 404:\r\n console.error(\"404\")\r\n break;\r\n default:\r\n console.error(\"500\")\r\n break;\r\n }\r\n return Promise.reject(error)\r\n }\r\n\r\n public async get(path: string) {\r\n return await this.service.get(path)\r\n }\r\n\r\n public async post(path: string, payload: any) {\r\n return await this.service.request({\r\n method: 'POST',\r\n url: path,\r\n data: payload,\r\n headers: { 'Content-Type': 'application/json' }\r\n })\r\n }\r\n\r\n public async export(path: string, payload: any) {\r\n return await this.downloadFileRequest.request({\r\n method: 'POST',\r\n url: path,\r\n data: payload,\r\n headers: { 'Content-Type': 'application/json' },\r\n })\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\nimport { cookieService } from './';\r\n\r\nexport default interface IUserRequest {\r\n id?: number;\r\n companyId: string;\r\n nameSurname: string;\r\n emailAddress: string;\r\n password: string;\r\n mobilePhoneNumber: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IUser {\r\n id: number;\r\n companyId: string;\r\n companyName: string;\r\n nameSurname: string;\r\n emailAddress: string;\r\n password: string;\r\n mobilePhoneNumber: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IUserResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IUser\r\n}\r\n\r\ninterface IUserListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n users: IUser[]\r\n }\r\n}\r\n\r\ninterface IUserRegistrationComplate{\r\n nameSurname: string,\r\n emailAddress: string,\r\n password: string,\r\n mobilePhoneNumber: string,\r\n isKullaniciSozlesmesiAccepted: boolean,\r\n isAydinlatmaMetniAccepted: boolean,\r\n isAcikRizaMetniAccepted: boolean,\r\n token: string\r\n }\r\n\r\nexport default class UserService {\r\n private readonly XHRService: XHRService;\r\n public readonly COOKIE_NAME = 'USER_TOKEN';\r\n public readonly COOKIE_USERNAME = 'USER_NAME';\r\n public readonly COOKIE_USEREMAIL = 'USER_EMAIL';\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async login(user: { emailAddress: string, password: string, clientType: string, partnerCompanyCode: string }): Promise<{ isSuccess: boolean }> {\r\n const { token, isSuccess }: any = await this.XHRService.post(\"/login/LoginUser\", user).catch(() => ({ isSuccess: false }));\r\n if (isSuccess) {\r\n cookieService.setItem(this.COOKIE_NAME, token);\r\n const {data} = await this.permission();\r\n cookieService.setItem(this.COOKIE_USERNAME, data.nameSurname);\r\n cookieService.setItem(this.COOKIE_USEREMAIL, user.emailAddress);\r\n }\r\n return { isSuccess };\r\n }\r\n\r\n public async permission(): Promise {\r\n return await this.XHRService.get(\"/Login/GetUserDetails\").catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/User/CreateUser\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorMessage, errorCode };\r\n return data;\r\n }\r\n\r\n public async createMultiple(model: any): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/User/CreateMultipleUser\", model).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async update(model: IUserRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/User/UpdateUser\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async reset(model: any): Promise {\r\n return await this.XHRService.post(\"/Login/UpdatePassword\", model).catch((e) => ({ isSuccess: false }));\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/User/DeleteUser\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n companyId: 0,\r\n password: null,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/User/GetUsers\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/User/GetUsersExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/User/GetUserById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async getUserByToken(token: string): Promise {\r\n return await this.XHRService.get(`/User/GetUserByToken?Token=${token}`).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async registrationComplate(model: IUserRegistrationComplate): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/User/RegistrationComplete\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorMessage, errorCode };\r\n return data;\r\n }\r\n\r\n public getToken() {\r\n return `Bearer ${cookieService.getItem(this.COOKIE_NAME)}`;\r\n }\r\n\r\n public token() {\r\n return cookieService.getItem(this.COOKIE_NAME);\r\n }\r\n\r\n public logout() {\r\n cookieService.removeItem(this.COOKIE_NAME);\r\n }\r\n\r\n public isAuth() {\r\n return !!cookieService.getItem(this.COOKIE_NAME);\r\n }\r\n\r\n public isLanguage() {\r\n return !!cookieService.getItem(this.LANGUAGE_NAME);\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface ICompanyRequest {\r\n id?: number;\r\n companyName: string; \r\n vatNumber: string;\r\n userLimit: number;\r\n expireDate: string;\r\n employeeNumber: number,\r\n ipAddress: string;\r\n address: string;\r\n partnerId: number,\r\n countryId: number,\r\n districtId: number,\r\n cityId: number,\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface ICompany {\r\n id: number;\r\n companyName: string; \r\n vatNumber: string;\r\n userLimit: number;\r\n expireDate: string;\r\n employeeNumber: number,\r\n ipAddress: string;\r\n address: string;\r\n partnerId: number,\r\n countryId: number,\r\n districtId: number,\r\n cityId: number,\r\n isActive: boolean;\r\n}\r\n\r\ninterface ICompanyResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: ICompany\r\n}\r\n\r\ninterface ICompanyListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n companies: ICompany[]\r\n }\r\n}\r\n\r\nexport default class CompanyService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Company/CreateCompany\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: ICompanyRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Company/UpdateCompany\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Company/DeleteCompany\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n \"CompanyName\": null,\r\n \"userLimit\": 0,\r\n \"expireDate\": \"2019-04-15T18:34:28.888Z\",\r\n \"ipAddress\": null,\r\n \"partnerId\": 0,\r\n \"employeeNumber\": null,\r\n \"countryId\": 0,\r\n \"cityId\": 0,\r\n \"districtId\": 0,\r\n \"address\": null,\r\n isActive,\r\n \"pagingParameters\": {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Company/GetCompanies\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Company/GetCompanyById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Company/GetCompaniesExcel\", model);\r\n }\r\n\r\n\r\n\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IBankRequest {\r\n id?: number,\r\n bankName: string,\r\n bankCode: string,\r\n countryId: number,\r\n webSite: string,\r\n ftpAddress: string,\r\n ftpPort: string,\r\n description: string,\r\n isActive: boolean\r\n}\r\n\r\n\r\ninterface IBank {\r\n id: number,\r\n bankName: string,\r\n bankCode: string,\r\n countryId: number,\r\n webSite: string,\r\n ftpAddress: string,\r\n ftpPort: string,\r\n description: string,\r\n isActive: boolean\r\n}\r\n\r\ninterface IBankResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IBank\r\n}\r\n\r\ninterface IBankListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n banks: IBank[]\r\n }\r\n}\r\n\r\nexport default class BankService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Bank/CreateBank\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage }\r\n return data;\r\n }\r\n\r\n public async update(model: IBankRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Bank/UpdateBank\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Bank/DeleteBank\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n countryId: 0,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Bank/GetBanks\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Bank/GetBanksExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Bank/GetBankById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IBankBranchRequest {\r\n id?: number,\r\n bankBranchName: string,\r\n bankBranchCode: string,\r\n bankId: number,\r\n countryId: number,\r\n cityId: number,\r\n districtId: number,\r\n address: string,\r\n phoneNumber: string,\r\n description: string,\r\n isActive: boolean\r\n}\r\n\r\n\r\ninterface IBankBranch {\r\n id: number,\r\n bankBranchName: string,\r\n bankBranchCode: string,\r\n bankId: number,\r\n countryId: number,\r\n cityId: number,\r\n districtId: number,\r\n address: string,\r\n phoneNumber: string,\r\n description: string,\r\n isActive: boolean\r\n}\r\n\r\ninterface IBankBranchResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IBankBranch\r\n}\r\n\r\ninterface IBankBranchListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n bankBranches: IBankBranch[]\r\n }\r\n}\r\n\r\nexport default class BankBranchService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankBranch/CreateBankBranch\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IBankBranchRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankBranch/UpdateBankBranch\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/BankBranch/DeleteBankBranch\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n bankId: 0,\r\n countryId: 0,\r\n cityId: 0,\r\n districtId: 0,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankBranch/GetBankBranches\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/BankBranch/GetBankBranchesExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/BankBranch/GetBankBranchById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IBankAccountRequest {\r\n id?: number,\r\n companyId: number,\r\n bankId: number,\r\n currencyId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\n\r\ninterface IBankAccount {\r\n id: number,\r\n companyId: number,\r\n bankId: number,\r\n currencyId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\ninterface IBankAccountResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IBankAccount\r\n}\r\n\r\ninterface IBankAccountListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n bankAccounts: IBankAccount[]\r\n }\r\n}\r\n\r\nexport default class BankAccountService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankAccount/CreateBankAccount\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorMessage, errorCode };\r\n return data;\r\n }\r\n\r\n public async update(model: IBankAccountRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankAccount/UpdateBankAccount\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/BankAccount/DeleteBankAccount\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, clientType: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean, isValorAccount: boolean): Promise {\r\n\r\n const model = {\r\n isValorAccount,\r\n searchText, \r\n clientType, \r\n \"bankId\": 0,\r\n \"companyId\": 0, \r\n \"currencyId\": 0,\r\n isActive,\r\n \"pagingParameters\": {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankAccount/GetBankAccounts\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/BankAccount/GetBankAccountsExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/BankAccount/GetBankAccountById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IBankCredentialRequest {\r\n id?: number,\r\n bankId: number,\r\n customerCode: string,\r\n userName: string,\r\n password: string,\r\n companyCode: string,\r\n companyId: number,\r\n isActive: boolean\r\n}\r\n\r\n\r\ninterface IBankCredential {\r\n id: number,\r\n bankId: number,\r\n customerCode: string,\r\n userName: string,\r\n password: string,\r\n companyCode: string,\r\n companyId: number,\r\n isActive: boolean\r\n}\r\n\r\ninterface IBankCredentialResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IBankCredential\r\n}\r\n\r\ninterface IBankCredentialListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n bankCredentials: IBankCredential[]\r\n }\r\n}\r\n\r\nexport default class BankCredentialService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankCredential/CreateBankCredential\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IBankCredentialRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankCredential/UpdateBankCredential\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/BankCredential/DeleteBankCredential\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n bankId: 0,\r\n password: null,\r\n companyCode: null,\r\n companyId: 0,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankCredential/GetBankCredentials\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/BankCredential/GetBankCredentialsExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/BankCredential/GetBankCredentialById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IBankFTPCredentialRequest {\r\n id?: number,\r\n bankId: number,\r\n bankAccountId: number,\r\n userName: string,\r\n password: string,\r\n posMerchantCode: string,\r\n companyId: number,\r\n isActive: boolean\r\n}\r\n\r\n\r\ninterface IBankFTPCredential {\r\n id: number,\r\n bankId: number,\r\n bankAccountId: number,\r\n userName: string,\r\n password: string,\r\n posMerchantCode: string,\r\n companyId: number,\r\n isActive: boolean\r\n}\r\n\r\ninterface IBankFTPCredentialResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IBankFTPCredential\r\n}\r\n\r\ninterface IBankFTPCredentialListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n bankFTPCredentials: IBankFTPCredential[]\r\n }\r\n}\r\n\r\nexport default class BankFTPCredentialService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankFTPCredential/CreateBankFTPCredential\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IBankFTPCredentialRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankFTPCredential/UpdateBankFTPCredential\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/BankFTPCredential/DeleteBankFTPCredential\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n bankId: 0,\r\n bankAccountId: 0,\r\n userName: null,\r\n password: null,\r\n posMerchantCode: null,\r\n companyId: 0,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankFTPCredential/GetBankFTPCredentials\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/BankFTPCredential/GetBankFTPCredentialsExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/BankFTPCredential/GetBankFTPCredentialById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface ICountryRequest {\r\n id?: number;\r\n countryName: string;\r\n countryCode: string;\r\n countryPhoneCode: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface ICountry {\r\n id: number;\r\n countryName: string;\r\n countryCode: string;\r\n countryPhoneCode: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface ICountryResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: ICountry\r\n}\r\n\r\ninterface ICountryListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n countries: ICountry[]\r\n }\r\n}\r\n\r\nexport default class CountryService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Country/CreateCountry\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: ICountryRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Country/UpdateCountry\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Country/DeleteCountry\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n countryName: null,\r\n countryCode: null,\r\n countryPhoneCode: null,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Country/GetCountries\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Country/GetCountryById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Country/GetCountriesExcel\", model);\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface ICityRequest {\r\n id?: number;\r\n cityName: string;\r\n countryId: number;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface ICity {\r\n id: number;\r\n cityName: string;\r\n countryId: number;\r\n isActive: boolean;\r\n}\r\n\r\ninterface ICityResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: ICity\r\n}\r\n\r\ninterface ICityListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n companies: ICity[]\r\n }\r\n}\r\n\r\nexport default class CityService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/City/CreateCity\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: ICityRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/City/UpdateCity\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/City/DeleteCity\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/City/GetCitiesExcel\", model);\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n countryId: 0,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/City/GetCities\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/City/GetCityById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IDistrictRequest {\r\n id?: number;\r\n districtName: string;\r\n countryId: number;\r\n cityId: number;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface IDistrict {\r\n id: number;\r\n districtName: string;\r\n countryId: number;\r\n cityId: number;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IDistrictResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IDistrict\r\n}\r\n\r\ninterface IDistrictListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n districts: IDistrict[]\r\n }\r\n}\r\n\r\nexport default class DistrictService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/District/CreateDistrict\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IDistrictRequest): Promise {\r\n return await this.XHRService.post(\"/District/UpdateDistrict\", model).catch((e) => ({ isSuccess: false }));\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/District/DeleteDistrict\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n countryId: 0,\r\n cityId: 0,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/District/GetDistricts\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/District/GetDistrictsExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/District/GetDistrictById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface ICurrencyRequest {\r\n id?: number;\r\n currencyName: string;\r\n currencyCode: string;\r\n searchText: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface ICurrency {\r\n id: number;\r\n currencyName: string;\r\n currencyCode: string;\r\n searchText: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface ICurrencyResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: ICurrency\r\n}\r\n\r\ninterface ICurrencyListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n currencies: ICurrency[]\r\n }\r\n}\r\n\r\nexport default class CurrencyService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Currency/CreateCurrency\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage }\r\n return data;\r\n }\r\n\r\n public async update(model: ICurrencyRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Currency/UpdateCurrency\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Currency/DeleteCurrency\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Currency/GetCurrencies\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Currency/GetCurrenciesExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Currency/GetCurrencyById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IPermissionRequest {\r\n id?: number;\r\n permissionKey: string;\r\n permissionDescription: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface IPermission {\r\n id: number;\r\n permissionKey: string;\r\n permissionDescription: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IPermissionResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IPermission\r\n}\r\n\r\ninterface IPermissionListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n permissions: IPermission[]\r\n }\r\n}\r\n\r\nexport default class PermissionService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Permission/CreatePermission\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IPermissionRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Permission/UpdatePermission\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Permission/DeletePermission\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Permission/GetPermissions\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Permission/GetPermissionsExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Permission/GetPermissionById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IRoleRequest {\r\n id?: number;\r\n roleName: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface IRole {\r\n id: number;\r\n roleName: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IRoleResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IRole\r\n}\r\n\r\ninterface IRoleListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n roles: IRole[]\r\n }\r\n}\r\n\r\nexport default class RoleService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Role/CreateRole\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IRoleRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Role/UpdateRole\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Role/DeleteRole\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n roleName: null,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Role/GetRoles\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Role/GetRolesExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Role/GetRoleById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IRegisterRequest {\r\n companyId: number;\r\n nameSurname: string;\r\n emailAddress: string;\r\n password: string;\r\n mobilePhoneNumber: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IRegisterResponse {\r\n companyId: number;\r\n nameSurname: string;\r\n emailAddress: string;\r\n password: string;\r\n mobilePhoneNumber: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport default class RegisterService {\r\n private readonly XHRService: XHRService;\r\n\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Company/CreateCompany\", model).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n\r\n\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default class LocationService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async getPartners(search: any = null): Promise {\r\n const model = {\r\n isActive: true,\r\n searchText: search,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Partner/GetPartners\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getCountries(search: any = \"\"): Promise {\r\n const model = {\r\n isActive: true,\r\n searchText: search,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Country/GetCountries\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getCities(countryId: number, search: any = null): Promise {\r\n const model = {\r\n countryId,\r\n isActive: true,\r\n searchText: search,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n };\r\n\r\n return await this.XHRService.post(\"/City/GetCities\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n\r\n\r\n public async getDistricts(countryId: number, cityId: number, search: any = null): Promise {\r\n const model = {\r\n countryId,\r\n cityId,\r\n isActive: true,\r\n searchText: search,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/District/GetDistricts\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n\r\n\r\n public async getCompanies(search: any = null): Promise {\r\n const model = {\r\n companyName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Company/GetCompanies\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getCompaniesHQ(search: any = null): Promise {\r\n const model = {\r\n companyName: search,\r\n isHQ: true,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Company/GetCompanies\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getAllCompanies(search: any = null): Promise {\r\n const model = {\r\n companyName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Company/GetAllCompanies\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n\r\n\r\n public async getCurrencies(search: any = null): Promise {\r\n const model = {\r\n currencyName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Currency/GetCurrencies\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n\r\n public async getBankAccounts( search: any = null): Promise {\r\n const model = {\r\n bankAccountName: search, \r\n \"bankId\": 0,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankAccount/GetBankAccounts\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getBankAccountsDropDown(bankId: number, search: any = null): Promise {\r\n const model = {\r\n bankId,\r\n bankAccountName: search,\r\n clientType: \"WEB\",\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankAccount/GetBankAccounts\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getBankAccountsCompanyDropDown(companyId: number, search: any = null): Promise {\r\n const model = {\r\n companyId,\r\n bankAccountName: search,\r\n clientType: \"WEB\",\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankAccount/GetBankAccounts\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getBankAccountsCompanyBankDropDown(companyId: number, bankId: number, search: any = null): Promise {\r\n const model = {\r\n companyId,\r\n bankId,\r\n bankAccountName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankAccount/GetBankAccounts\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n\r\n public async getUsers(search: any = null): Promise {\r\n const model = {\r\n companyId: 0,\r\n password: null,\r\n isActive: true,\r\n searchText: null,\r\n pagingParameters: {\r\n rowsPerPage: 9999,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/User/GetUsers\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getUsersOfPartners(search: any = null): Promise {\r\n const model = {\r\n companyId: 0,\r\n password: null,\r\n isActive: true,\r\n searchText: null,\r\n pagingParameters: {\r\n rowsPerPage: 9999,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/User/GetUsersOfPartners\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getBanks(search: any = null): Promise {\r\n const model = {\r\n bankName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Bank/GetBanks\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getBankBranches(bankId: number, search: any = null): Promise {\r\n const model = {\r\n bankId,\r\n isActive: true,\r\n searchText: null,\r\n pagingParameters: {\r\n rowsPerPage: 99999,\r\n pageNumber: 0\r\n }\r\n };\r\n\r\n return await this.XHRService.post(\"/BankBranch/GetBankBranches\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n\r\n\r\n\r\n /* Resources */\r\n public async getResourceTypes(search: any = null): Promise {\r\n const model = {\r\n resourceTypeName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/ResourceType/GetResourceTypes\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n\r\n public async getLanguages(search: any = null): Promise {\r\n const model = {\r\n languageName: null,\r\n languageCode: null,\r\n searchText: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Language/GetLanguages\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n public async getPermissions(search: any = null): Promise {\r\n const model = {\r\n permissionName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Permission/GetPermissions\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async getRoles(search: any = null): Promise {\r\n const model = {\r\n roleName: search,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 1000,\r\n pageNumber: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Role/GetRoles\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default class AccountStatementsService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async get(unixStartDate?: string, unixEndtDate?: string, currencyId?: number, bankId?: number, accountId?: number, searchText?: string, clientType?: string, iban?: string, rowsPerPage?: number, pageNumber?: number, orderBy?: number): Promise {\r\n\r\n const model = {\r\n currencyId: accountId !== 0 ? 0 : currencyId,\r\n bankId: accountId !== 0 ? 0 : bankId,\r\n bankAccountId: accountId,\r\n startDate: unixStartDate,\r\n endDate: unixEndtDate,\r\n iban,\r\n description: null,\r\n clientType: \"WEB\",\r\n isActive: true,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n //console.log(model);\r\n\r\n return await this.XHRService.post(\"/AccountStatement/GetAccountStatements\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async download(startDate?: string, endDate?: string, currencyId?: number, bankId?: number, accountId?: number, searchText?: string,iban?: string, ): Promise {\r\n\r\n const model = {\r\n currencyId: accountId !== 0 ? 0 : currencyId,\r\n bankId: accountId !== 0 ? 0 : bankId,\r\n startDate,\r\n endDate,\r\n bankAccountId: accountId,\r\n searchText,\r\n iban,\r\n clientType: \"WEB\",\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/AccountStatement/GetAccountStatementsExcel\", model);\r\n }\r\n\r\n\r\n public async cockpit(startDate?: string, endDate?: string, accountId?: number, searchText?: string, iban?: string, rowsPerPage?: number, pageNumber?: number, orderBy?: number): Promise {\r\n\r\n const model = {\r\n bankAccountId: accountId,\r\n startDate: null,\r\n endDate: null,\r\n description: null,\r\n isActive: true,\r\n clientType: \"WEB\",\r\n searchText,\r\n iban,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/AccountStatement/GetAccountStatements\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async bankAccounts(search: any = null): Promise {\r\n const model = {\r\n bankId: 0,\r\n bankAccountId: 0,\r\n currencyId: 0,\r\n balance: 0,\r\n isActive: true,\r\n clientType: \"WEB\",\r\n searchText: null,\r\n pagingParameters: {\r\n rowsPerPage: 30,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/AccountBalance/GetAccountBalances\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async accountStatementCount(): Promise {\r\n const model = {\r\n isActive: true,\r\n pagingParameters: {\r\n \"rowsPerPage\": 1\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/AccountStatement/GetAccountStatementCount\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n}\r\n","\r\n\r\nimport XHRService from \"./xhr.service\";\r\n\r\nexport default class PosStatementsService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async get(startDate?: number, endDate?: number, accountId?: number, searchText?: string, clientType?: string, rowsPerPage?: number, pageNumber?: number, orderBy?: number): Promise {\r\n const model = {\r\n bankAccountId: accountId,\r\n startDate,\r\n endDate,\r\n clientType: \"WEB\",\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n //console.log(model);\r\n\r\n return await this.XHRService.post(\"/PosStatement/GetPosStatements\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async download(startDate?: string, endDate?: string, accountId?: number, searchText?: string, clientType?: string): Promise {\r\n\r\n const model = {\r\n startDate,\r\n endDate,\r\n accountId,\r\n clientType: \"WEB\",\r\n searchText,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/PosStatement/GetPosStatementsExcel\", model);\r\n }\r\n\r\n public async bankAccounts(search: any = null): Promise {\r\n const model = {\r\n bankId: 0,\r\n bankAccountId: 0,\r\n currencyId: 0,\r\n balance: 0,\r\n isActive: true,\r\n clientType: \"WEB\",\r\n searchText: null,\r\n pagingParameters: {\r\n rowsPerPage: 30,\r\n pageNumber: 0,\r\n orderBy: 0\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/AccountBalance/GetAccountBalances\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n public async valorDate(models?: any): Promise {\r\n const model = {\r\n userId: 0,\r\n clientType: \"WEB\",\r\n ...models\r\n }\r\n\r\n return await this.XHRService.post(\"/PosStatement/GetPosStatementTotalsByValorDate\", model).catch(() => ({ isSuccess: false }));\r\n\r\n }\r\n\r\n\r\n public async valorDateDownload(models?: any): Promise {\r\n const model = {\r\n userId: 0,\r\n clientType: \"WEB\",\r\n ...models\r\n }\r\n\r\n return await this.XHRService.export(\"/PosStatement/GetPosStatementTotalsByValorDateExcel\", model);\r\n\r\n }\r\n}\r\n","import moment from 'moment'\r\nimport XHRService from './xhr.service'\r\n\r\nexport default class AccountBalancesService {\r\n private readonly XHRService: XHRService\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService\r\n }\r\n\r\n public async getTotals(search: any = null): Promise {\r\n const model = {\r\n companyId: 1,\r\n clientType: 'WEB',\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 50,\r\n pageNumber: 0,\r\n },\r\n }\r\n\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalanceTotals',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async getAccountBalanceTotals(currencyId: number): Promise {\r\n const model = {\r\n companyId: 1,\r\n currencyId,\r\n clientType: 'WEB',\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 50,\r\n pageNumber: 0,\r\n },\r\n }\r\n\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalanceTotals',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async getBankTotals(currencyId?: number): Promise {\r\n const model = {\r\n companyId: 1,\r\n bankId: 0,\r\n currencyId,\r\n clientType: 'WEB',\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 50,\r\n pageNumber: 0,\r\n },\r\n }\r\n\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalanceTotalsByBank',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async getById(currencyId: number): Promise {\r\n return await this.XHRService.get(\r\n `/AccountBalance/GetAccountBalanceTotals?currencyId=${currencyId}`\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async getAccountBalanceTotalsByCompany(\r\n currencyId: number\r\n ): Promise {\r\n const model = {\r\n bankId: 0,\r\n bankAccountId: 0,\r\n currencyId,\r\n balance: 0,\r\n clientType: 'WEB',\r\n isActive: true,\r\n searchText: '',\r\n pagingParameters: {\r\n rowsPerPage: 999,\r\n pageNumber: 0,\r\n orderBy: 0,\r\n },\r\n }\r\n //return await this.XHRService.post(\"/AccountBalance/GetAccountBalanceTotalsByCompany\", { currencyId }).catch(() => ({ isSuccess: false }));\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalanceTotalsByCompany',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async getAccountBalanceTotalsByBank(currencyId: number): Promise {\r\n const model = {\r\n bankId: 0,\r\n bankAccountId: 0,\r\n currencyId,\r\n balance: 0,\r\n clientType: 'WEB',\r\n isActive: true,\r\n searchText: '',\r\n pagingParameters: {\r\n rowsPerPage: 999,\r\n pageNumber: 0,\r\n orderBy: 0,\r\n },\r\n }\r\n //return await this.XHRService.post(\"/AccountBalance/GetAccountBalanceTotalsByBank\", { currencyId }).catch(() => ({ isSuccess: false }));\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalanceTotalsByBank',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n public async getAccountBalances(currencyId: number): Promise {\r\n const model = {\r\n bankId: 0,\r\n bankAccountId: 0,\r\n currencyId,\r\n balance: 0,\r\n clientType: 'WEB',\r\n isActive: true,\r\n searchText: '',\r\n pagingParameters: {\r\n rowsPerPage: 999,\r\n pageNumber: 0,\r\n orderBy: 0,\r\n },\r\n }\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalances',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async getAccountBalancesByCompanyId(\r\n currencyId: number,\r\n companyId: number\r\n ): Promise {\r\n const model = {\r\n companyId,\r\n bankId: 0,\r\n bankAccountId: 0,\r\n currencyId,\r\n balance: 0,\r\n clientType: 'WEB',\r\n isActive: true,\r\n searchText: '',\r\n pagingParameters: {\r\n rowsPerPage: 999,\r\n pageNumber: 0,\r\n orderBy: 0,\r\n },\r\n }\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalances',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async get(\r\n unixStartDate?: string,\r\n unixEndtDate?: string,\r\n currencyId?: number,\r\n bankId?: number,\r\n accountId?: number,\r\n searchText?: string,\r\n clientType?: string,\r\n iban?: string,\r\n rowsPerPage?: number,\r\n pageNumber?: number,\r\n orderBy?: number\r\n ): Promise {\r\n const model = {\r\n currencyId: accountId !== 0 ? 0 : currencyId,\r\n bankId: accountId !== 0 ? 0 : bankId,\r\n bankAccountId: accountId,\r\n startDate: unixStartDate,\r\n endDate: unixEndtDate,\r\n iban,\r\n description: null,\r\n clientType: 'WEB',\r\n isActive: true,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy,\r\n },\r\n }\r\n\r\n //console.log(model)\r\n\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalanceHistories',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async getAccountBalanceHistoriesReport(\r\n unixStartDate?: string,\r\n unixEndtDate?: string,\r\n currencyId?: number,\r\n bankId?: number,\r\n accountId?: number\r\n ): Promise {\r\n const model = {\r\n currencyId: 0,\r\n bankId: 0,\r\n bankAccountId: 0,\r\n balance: 0,\r\n startDate: moment().subtract(1, 'days').format('DD.MM.YYYY'),\r\n endDate: moment().format('DD.MM.YYYY'),\r\n clientType: 'WEB',\r\n isLicenseDifferent: false,\r\n isLicenseDifferentReverse: false,\r\n isJustStatement: false,\r\n isJustWebUser: false,\r\n isActive: true,\r\n searchText: '',\r\n pagingParameters: {\r\n rowsPerPage: 9999,\r\n pageNumber: 0,\r\n orderBy: 0,\r\n },\r\n }\r\n\r\n //console.log(model)\r\n\r\n return await this.XHRService.post(\r\n '/AccountBalance/GetAccountBalanceHistoriesReport',\r\n model\r\n ).catch(() => ({ isSuccess: false }))\r\n }\r\n\r\n public async download(\r\n startDate?: string,\r\n endDate?: string,\r\n currencyId?: number,\r\n bankId?: number,\r\n accountId?: number,\r\n searchText?: string,\r\n iban?: string\r\n ): Promise {\r\n const model = {\r\n currencyId: accountId !== 0 ? 0 : currencyId,\r\n bankId: accountId !== 0 ? 0 : bankId,\r\n startDate,\r\n endDate,\r\n bankAccountId: accountId,\r\n searchText,\r\n iban,\r\n clientType: 'WEB',\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 9999,\r\n },\r\n }\r\n\r\n return await this.XHRService.export(\r\n '/AccountBalance/GetAccountBalanceHistoriesExcel',\r\n model\r\n )\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface ILanguageRequest {\r\n id?: number;\r\n languageName: string;\r\n languageCode: string;\r\n searchText: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface ILanguage {\r\n id: number;\r\n languageName: string;\r\n languageCode: string;\r\n searchText: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface ILanguageResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: ILanguage\r\n}\r\n\r\ninterface ILanguageListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n languages: ILanguage[]\r\n }\r\n}\r\n\r\nexport default class LanguageService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Language/CreateLanguage\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: ILanguageRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Language/UpdateLanguage\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Language/DeleteLanguage\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Language/GetLanguages\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Language/GetLanguagesExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Language/GetLanguageById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IResourceTypeRequest {\r\n id?: number;\r\n resourceTypeName: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface IResourceType {\r\n id: number;\r\n resourceTypeName: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IResourceTypeResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IResourceType\r\n}\r\n\r\ninterface IResourceTypeListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n resourceTypes: IResourceType[]\r\n }\r\n}\r\n\r\nexport default class ResourceTypeService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/ResourceType/CreateResourceType\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IResourceTypeRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/ResourceType/UpdateResourceType\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorMessage, errorCode };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/ResourceType/DeleteResourceType\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/ResourceType/GetResourceTypes\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/ResourceType/GetResourceTypesExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/ResourceType/GetResourceTypeById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IResourceRequest {\r\n id?: number;\r\n resourceTypeId: number;\r\n languageId: number;\r\n resourceKey: string;\r\n value: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface IResource {\r\n id: number;\r\n resourceTypeId: number;\r\n languageId: number;\r\n resourceKey: string;\r\n value: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IResourceResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IResource\r\n}\r\n\r\ninterface IResourceListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n resources: IResource[]\r\n }\r\n}\r\n\r\nexport default class ResourceService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Resource/CreateResource\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IResourceRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Resource/UpdateResource\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Resource/DeleteResource\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n resourceTypeId: 0,\r\n languageId: 0,\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Resource/GetResources\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Resource/GetResourcesExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Resource/GetResourceById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async language(languageCode: string): Promise {\r\n\r\n const model = {\r\n languageCode,\r\n isActive: true,\r\n searchText: null,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Resource/GetResources\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IPaymentRequest {\r\n id?: number;\r\n paymentName: string;\r\n totalCompany: number;\r\n memberModel: string;\r\n amount: number;\r\n memberFinisedTime: string;\r\n searchText: string;\r\n isActive: boolean;\r\n}\r\n\r\n\r\ninterface IPayment {\r\n id: number;\r\n paymentName: string;\r\n totalCompany: number;\r\n memberModel: string;\r\n amount: number;\r\n memberFinisedTime: string;\r\n searchText: string;\r\n isActive: boolean;\r\n}\r\n\r\ninterface IPaymentResponse {\r\n isSuccess: boolean,\r\n data: IPayment\r\n}\r\n\r\ninterface IPaymentListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n currencies: IPayment[]\r\n }\r\n}\r\n\r\nexport default class PaymentService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Payment/CreatePayment\", model).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number): Promise {\r\n\r\n const model = {\r\n isActive: true,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Payment/GetPayments\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IBankAccountUserRequest {\r\n id?: number,\r\n userId: number,\r\n companyId: number,\r\n bankAccountId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\n\r\ninterface IBankAccountUser {\r\n id: number,\r\n userId: number,\r\n companyId: number,\r\n bankAccountId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\ninterface IBankAccountUserResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IBankAccountUser\r\n}\r\n\r\ninterface IBankAccountUserListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n bankAccountUsers: IBankAccountUser[]\r\n }\r\n}\r\n\r\nexport default class BankAccountUserService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankAccountUser/CreateBankAccountUser\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IBankAccountUserRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/BankAccountUser/UpdateBankAccountUser\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/BankAccountUser/DeleteBankAccountUser\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number): Promise {\r\n\r\n const model = {\r\n searchText,\r\n companyId: 0,\r\n bankAccountId: 0,\r\n userId: 0,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/BankAccountUser/GetBankAccountUsers\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string): Promise {\r\n\r\n const model = {\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/BankAccountUser/GetBankAccountUsersExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/BankAccountUser/GetBankAccountUserById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface ICompanyUserRequest {\r\n id?: number,\r\n userId: number,\r\n companyId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\n\r\ninterface ICompanyUser {\r\n id: number,\r\n userId: number,\r\n companyId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\ninterface ICompanyUserResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: ICompanyUser\r\n}\r\n\r\ninterface ICompanyUserListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n companyUsers: ICompanyUser[]\r\n }\r\n}\r\n\r\nexport default class CompanyUserService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/CompanyUser/CreateCompanyUser\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: ICompanyUserRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/CompanyUser/UpdateCompanyUser\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/CompanyUser/DeleteCompanyUser\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number): Promise {\r\n const model = {\r\n searchText,\r\n companyId: 0,\r\n userId: 0,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/CompanyUser/GetCompanyUsers\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive: true,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/CompanyUser/GetCompanyUsersExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/CompanyUser/GetCompanyUserById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IUserPermissionRequest {\r\n id?: number,\r\n userId: number,\r\n companyId: number,\r\n pessimissionId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\n\r\ninterface IUserPermission {\r\n id: number,\r\n userId: number,\r\n companyId: number,\r\n permissionId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\ninterface IUserPermissionResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IUserPermission\r\n}\r\n\r\ninterface IUserPermissionListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n userPermissions: IUserPermission[]\r\n }\r\n}\r\n\r\nexport default class UserPermissionService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/UserPermission/CreateUserPermission\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IUserPermissionRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/UserPermission/UpdateUserPermission\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/UserPermission/DeleteUserPermission\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n companyId: 0,\r\n permissionId: 0,\r\n userId: 0,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/UserPermission/GetUserPermissions\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/UserPermission/GetUserPermissionsExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/UserPermission/GetUserPermissionById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IRolePermissionRequest {\r\n id?: number,\r\n roleId: number,\r\n pessimissionId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\n\r\ninterface IRolePermission {\r\n id: number,\r\n roleId: number,\r\n permissionId: number,\r\n isActive: boolean,\r\n searchText: string\r\n}\r\n\r\ninterface IRolePermissionResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IRolePermission\r\n}\r\n\r\ninterface IRolePermissionListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n rolePermissions: IRolePermission[]\r\n }\r\n}\r\n\r\nexport default class RolePermissionService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/RolePermission/CreateRolePermission\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IRolePermissionRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/RolePermission/UpdateRolePermission\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/RolePermission/DeleteRolePermission\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n permissionId: 0,\r\n roleId: 0,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/RolePermission/GetRolePermissions\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/RolePermission/GetRolePermissionsExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/RolePermission/GetRolePermissionById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface INotificationRequest {\r\n id?: number,\r\n processTypeCode: string,\r\n description: string,\r\n cardType: string,\r\n accountCode: string,\r\n accountName: string,\r\n isActive: boolean\r\n}\r\n\r\n\r\ninterface INotification {\r\n id: number,\r\n processTypeCode: string,\r\n description: string,\r\n cardType: string,\r\n accountCode: string,\r\n accountName: string,\r\n isActive: boolean\r\n}\r\n\r\ninterface INotificationResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: INotification\r\n}\r\n\r\ninterface INotificationListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n notifications: INotification[]\r\n }\r\n}\r\n\r\nexport default class NotificationService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Notification/CreateNotification\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: INotificationRequest): Promise {\r\n //console.log(model);\r\n return await this.XHRService.post(\"/Notification/UpdateNotification\", model).catch((e) => ({ isSuccess: false }));\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Notification/DeleteNotification\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Notification/GetNotifications\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Notification/GetNotificationById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Notification/GetNotificationsExcel\", model);\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IInvoiceRequest {\r\n id?: number,\r\n invoiceName: string,\r\n startDateTime: string,\r\n dueDateTime: string,\r\n isActive: boolean\r\n}\r\n\r\n\r\ninterface IInvoice {\r\n id: number,\r\n invoiceName: string,\r\n startDateTime: string,\r\n dueDateTime: string,\r\n isActive: boolean\r\n}\r\n\r\ninterface IInvoiceResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IInvoice\r\n}\r\n\r\ninterface IInvoiceListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n invoices: IInvoice[]\r\n }\r\n}\r\n\r\nexport default class InvoiceService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Invoice/CreateInvoice\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IInvoiceRequest): Promise {\r\n const { isSuccess, errorMessage, errorCode }: any = await this.XHRService.post(\"/Invoice/UpdateInvoice\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Invoice/DeleteInvoice\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n isActive,\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Invoice/GetInvoices\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Invoice/GetInvoicesExcel\", model);\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Invoice/GetInvoiceById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n}\r\n","import XHRService from \"./xhr.service\";\r\n\r\nexport default interface IPartnerRequest {\r\n id?: number;\r\n partnerName: string,\r\n contactPerson: string,\r\n emailAddress: string,\r\n mobilePhoneNumber: string,\r\n countryId: number,\r\n districtId: number,\r\n cityId: number,\r\n address: string,\r\n description: string,\r\n userId: number,\r\n isActive: boolean,\r\n}\r\n\r\n\r\ninterface IPartner {\r\n id: number,\r\n partnerName: string,\r\n contactPerson: string,\r\n emailAddress: string,\r\n mobilePhoneNumber: string,\r\n countryId: number,\r\n districtId: number,\r\n cityId: number,\r\n address: string,\r\n description: string,\r\n userId: number,\r\n isActive: boolean;\r\n}\r\n\r\ninterface IPartnerResponse {\r\n isSuccess: boolean,\r\n errorCode: string,\r\n errorMessage: string,\r\n data: IPartner\r\n}\r\n\r\ninterface IPartnerListResponse {\r\n isSuccess: boolean;\r\n data: {\r\n totalCount: number,\r\n partners: IPartner[]\r\n }\r\n}\r\n\r\nexport default class PartnerService {\r\n private readonly XHRService: XHRService;\r\n\r\n constructor(xhrService: XHRService) {\r\n this.XHRService = xhrService;\r\n }\r\n\r\n public async create(model: any): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Partner/CreatePartner\", model).catch(() => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async update(model: IPartnerRequest): Promise {\r\n const { isSuccess, errorCode, errorMessage }: any = await this.XHRService.post(\"/Partner/UpdatePartner\", model).catch((e) => ({ isSuccess: false }));\r\n const data: any = { isSuccess, errorCode, errorMessage };\r\n return data;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n const { isSuccess }: any = await this.XHRService.post(\"/Partner/DeletePartner\", { id }).catch(() => ({ isSuccess: false }));\r\n return isSuccess;\r\n }\r\n\r\n public async get(searchText: string, pageNumber: number, rowsPerPage: number, orderBy: number, isActive: boolean): Promise {\r\n\r\n const model = {\r\n searchText, \r\n \"countryId\": 0,\r\n \"cityId\": 0,\r\n \"districtId\": 0,\r\n \"userId\": 0,\r\n isActive,\r\n \"pagingParameters\": {\r\n rowsPerPage,\r\n pageNumber,\r\n orderBy\r\n }\r\n }\r\n\r\n return await this.XHRService.post(\"/Partner/GetPartners\", model).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async getById(id: number): Promise {\r\n return await this.XHRService.get(`/Partner/GetPartnerById?id=${id}`).catch(() => ({ isSuccess: false }));\r\n }\r\n\r\n public async download(searchText?: string, isActive?: boolean): Promise {\r\n\r\n const model = {\r\n searchText,\r\n isActive,\r\n pagingParameters: {\r\n rowsPerPage: 9999\r\n }\r\n }\r\n\r\n return await this.XHRService.export(\"/Partner/GetPartnersExcel\", model);\r\n }\r\n\r\n\r\n\r\n}\r\n","import XHRService from './xhr.service';\r\nimport UserService from './user.service';\r\nimport CompanyService from './company.service';\r\nimport BankService from './bank.service';\r\nimport BankBranchService from './bank.branch.service';\r\nimport BankAccountService from './bank.account.service';\r\nimport BankCredentialService from './bank.credential.service';\r\nimport BankFTPCredentialService from './bank.ftpcredential.service';\r\nimport CountryService from './country.service';\r\nimport CityService from './city.service';\r\nimport DistrictService from './district.service';\r\nimport CurrencyService from './currency.service';\r\nimport PermissionService from './permission.service';\r\nimport RoleService from './role.service';\r\nimport RegisterService from './register.service';\r\nimport { StorageTypes, StorageService, CookieService } from './storage.service';\r\nimport LocationService from './location.service';\r\nimport AccountStatementsService from './account.statement.service';\r\nimport PosStatementsService from './pos.statement.service';\r\nimport AccountBalancesService from './account.balances.service';\r\nimport LanguageService from './language.service';\r\nimport ResourceTypeService from './resource.type.service';\r\nimport ResourceService from './resource.service';\r\nimport PaymentService from './payment.service';\r\nimport BankAccountUserService from './bank.account.user.service';\r\nimport CompanyUserService from './company.user.service';\r\nimport UserPermissionService from './user.permission.service';\r\nimport RolePermissionService from './role.permission.service';\r\nimport NotificationService from './notification.service';\r\nimport InvoiceService from './invoice.service';\r\nimport PartnerService from './partner.service';\r\n\r\nconst xhrService = new XHRService();\r\nconst userService = new UserService(xhrService);\r\nconst companyService = new CompanyService(xhrService);\r\nconst bankService = new BankService(xhrService);\r\nconst bankBranchService = new BankBranchService(xhrService);\r\nconst bankAccountService = new BankAccountService(xhrService);\r\nconst bankCredentialService = new BankCredentialService(xhrService);\r\nconst bankFTPCredentialService = new BankFTPCredentialService(xhrService);\r\nconst countryService = new CountryService(xhrService);\r\nconst cityService = new CityService(xhrService);\r\nconst districtService = new DistrictService(xhrService);\r\nconst currencyService = new CurrencyService(xhrService);\r\nconst permissionService = new PermissionService(xhrService);\r\nconst roleService = new RoleService(xhrService);\r\nconst registerService = new RegisterService(xhrService);\r\nconst locationService = new LocationService(xhrService);\r\nconst accountStatementsService = new AccountStatementsService(xhrService);\r\nconst posStatementsService = new PosStatementsService(xhrService);\r\nconst accountBalancesService = new AccountBalancesService(xhrService);\r\nconst languageService = new LanguageService(xhrService);\r\nconst resourceTypeService = new ResourceTypeService(xhrService);\r\nconst resourceService = new ResourceService(xhrService);\r\nconst paymentService = new PaymentService(xhrService);\r\nconst bankAccountUserService = new BankAccountUserService(xhrService);\r\nconst companyUserService = new CompanyUserService(xhrService);\r\nconst userPermissionService = new UserPermissionService(xhrService);\r\nconst rolePermissionService = new RolePermissionService(xhrService);\r\nconst notificationService = new NotificationService(xhrService);\r\nconst invoiceService = new InvoiceService(xhrService);\r\nconst partnerService = new PartnerService(xhrService);\r\n\r\n\r\nconst localStorageService = new StorageService(StorageTypes.LocaleStorage);\r\nconst sessionStorageService = new StorageService(StorageTypes.LocaleStorage);\r\nconst cookieService = new CookieService();\r\n\r\n\r\nexport {\r\n xhrService,\r\n userService,\r\n companyService,\r\n bankService,\r\n bankBranchService,\r\n bankAccountService,\r\n bankCredentialService,\r\n bankFTPCredentialService,\r\n countryService,\r\n cityService,\r\n districtService,\r\n currencyService,\r\n permissionService,\r\n roleService,\r\n registerService,\r\n localStorageService,\r\n sessionStorageService,\r\n cookieService,\r\n accountStatementsService,\r\n posStatementsService,\r\n locationService,\r\n accountBalancesService,\r\n languageService,\r\n resourceTypeService,\r\n resourceService,\r\n paymentService,\r\n bankAccountUserService,\r\n companyUserService,\r\n userPermissionService,\r\n rolePermissionService,\r\n notificationService,\r\n invoiceService,\r\n partnerService,\r\n}\r\n","import { Route, Redirect } from \"react-router\";\r\nimport { userService, cookieService } from \"../service\";\r\nimport React, { PureComponent } from \"react\";\r\n\r\nexport default class ProtectedRoute extends PureComponent {\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n render() {\r\n const { component: Component, ...rest }: any = this.props;\r\n userService.isLanguage() ? null : cookieService.setItem(this.LANGUAGE_NAME, \"TR\");\r\n\r\n return (\r\n {\r\n return userService.isAuth() ? : ;\r\n }}\r\n />\r\n );\r\n }\r\n}\r\n","export const LOGIN = '/login'\r\nexport const REGISTER = '/register'\r\nexport const REMEMBER = '/remember'\r\nexport const COCKPIT = '/cockpit'\r\nexport const DOCUMENTATION = '/documentation'\r\nexport const ACCOUNTSTATEMENT = '/accountStatement'\r\nexport const POSSTATEMENT = '/posStatement'\r\nexport const ACCOUNTBALANCEHISTORY = '/balance-history'\r\nexport const VALORDATE = '/valor-date'\r\nexport const HOME = COCKPIT\r\n\r\nexport const REPORTS = '/reports'\r\nexport const BALANCEANALYSIS = '/balanceAnalysis'\r\nexport const NOTFOUND = '/404'\r\n\r\nexport const ACCOUNT_STATEMENT = (accountId: string) =>\r\n `/accountStatement/${accountId}`\r\nexport const BANK_STATEMENT = (bankId: string, currencyId: string) =>\r\n `/bankStatement/${bankId}/${currencyId}`\r\nexport const ACCOUNT = '/bank-account'\r\nexport const ACCOUNT_DETAIL = (currencyId: number | string) =>\r\n `/account-detail/${currencyId}`\r\n\r\nexport const COMPANY = '/company-list'\r\nexport const ADD_NEW_COMPANY = '/new-company'\r\nexport const EDIT_COMPANY = (companyId: number | string) =>\r\n `/company/${companyId}`\r\n\r\nexport const EDIT_CONSENT_AGREEMENT = (companyId: number | string) =>\r\n `/consentAgreement/${companyId}`\r\nexport const EDIT_CONSENT_RENEWAL = (companyId: number | string) =>\r\n `/consentRenewal/${companyId}`\r\nexport const EDIT_CONSENT_CANCEL = (companyId: number | string) =>\r\n `/consentCancel/${companyId}`\r\n\r\nexport const BANK = '/bank-list'\r\nexport const ADD_NEW_BANK = '/new-bank'\r\nexport const EDIT_BANK = (bankId: number | string) => `/bank/${bankId}`\r\n\r\nexport const BANKBRANCH = '/bankBranch-list'\r\nexport const ADD_NEW_BANKBRANCH = '/new-bankBranch'\r\nexport const EDIT_BANKBRANCH = (bankBranchId: number | string) =>\r\n `/bankBranch/${bankBranchId}`\r\n\r\nexport const BANKACCOUNT = '/bankAccount-list'\r\nexport const ADD_NEW_BANKACCOUNT = '/new-bankAccount'\r\nexport const EDIT_BANKACCOUNT = (bankAccountId: number | string) =>\r\n `/bankAccount/${bankAccountId}`\r\n\r\nexport const BANKACCOUNTUSER = '/bankAccountUser-list'\r\nexport const ADD_NEW_BANKACCOUNTUSER = '/new-bankAccountUser'\r\nexport const EDIT_BANKACCOUNTUSER = (bankAccountUserId: number | string) =>\r\n `/bankAccountUser/${bankAccountUserId}`\r\n\r\nexport const COMPANYUSER = '/companyUser-list'\r\nexport const ADD_NEW_COMPANYUSER = '/new-companyUser'\r\nexport const EDIT_COMPANYUSER = (companyUserId: number | string) =>\r\n `/companyUser/${companyUserId}`\r\n\r\nexport const BANKCREDENTIAL = '/bankCredential-list'\r\nexport const ADD_NEW_BANKCREDENTIAL = '/new-bankCredential'\r\nexport const EDIT_BANKCREDENTIAL = (bankCredentialId: number | string) =>\r\n `/bankCredential/${bankCredentialId}`\r\n\r\nexport const BANKFTPCREDENTIAL = '/bankFTPCredential-list'\r\nexport const ADD_NEW_BANKFTPCREDENTIAL = '/new-bankFTPCredential'\r\nexport const EDIT_BANKFTPCREDENTIAL = (bankFTPCredentialId: number | string) =>\r\n `/bankFTPCredential/${bankFTPCredentialId}`\r\n\r\nexport const NOTIFICATION = '/notification-list'\r\nexport const ADD_NEW_NOTIFICATION = '/new-notification'\r\nexport const EDIT_NOTIFICATION = (notificationId: number | string) =>\r\n `/notification/${notificationId}`\r\n\r\nexport const COUNTRY = '/country-list'\r\nexport const ADD_NEW_COUNTRY = '/new-country'\r\nexport const EDIT_COUNTRY = (countryId: number | string) =>\r\n `/country/${countryId}`\r\n\r\nexport const CITY = '/city-list'\r\nexport const ADD_NEW_CITY = '/new-city'\r\nexport const EDIT_CITY = (cityId: number | string) => `/city/${cityId}`\r\n\r\nexport const DISTRICT = '/district-list'\r\nexport const ADD_NEW_DISTRICT = '/new-district'\r\nexport const EDIT_DISTRICT = (districtId: number | string) =>\r\n `/district/${districtId}`\r\n\r\nexport const CURRENCY = '/currency-list'\r\nexport const ADD_NEW_CURRENCY = '/new-currency'\r\nexport const EDIT_CURRENCY = (currencyId: number | string) =>\r\n `/currency/${currencyId}`\r\n\r\nexport const USER = '/user-list'\r\nexport const ADD_NEW_USER = '/new-user'\r\nexport const ADD_MULTI_USER = '/new-multi-user'\r\nexport const EDIT_USER = (userId: number | string) => `/user/${userId}`\r\nexport const PASSWORD_UPDATE = (userId: number | string) =>\r\n `/user/password-update/${userId}`\r\nexport const PROFILE = '/profile/'\r\nexport const PASSWORD_RESET = '/password-reset'\r\n\r\nexport const PERMISSION = '/permission-list'\r\nexport const ADD_NEW_PERMISSION = '/new-permission'\r\nexport const EDIT_PERMISSION = (permissionId: number | string) =>\r\n `/permission/${permissionId}`\r\n\r\nexport const PARTNER = '/partner-list'\r\nexport const ADD_NEW_PARTNER = '/new-partner'\r\nexport const EDIT_PARTNER = (partnerId: number | string) =>\r\n `/partner/${partnerId}`\r\n\r\nexport const USERPERMISSION = '/userPermission-list'\r\nexport const ADD_NEW_USERPERMISSION = '/new-userPermission'\r\nexport const EDIT_USERPERMISSION = (userPermissionId: number | string) =>\r\n `/userPermission/${userPermissionId}`\r\n\r\nexport const ROLEPERMISSION = '/rolePermission-list'\r\nexport const ADD_NEW_ROLEPERMISSION = '/new-rolePermission'\r\nexport const EDIT_ROLEPERMISSION = (rolePermissionId: number | string) =>\r\n `/rolePermission/${rolePermissionId}`\r\n\r\nexport const ROLE = '/role-list'\r\nexport const ADD_NEW_ROLE = '/new-role'\r\nexport const EDIT_ROLE = (roleId: number | string) => `/role/${roleId}`\r\n\r\nexport const LANGUAGE = '/language-list'\r\nexport const ADD_NEW_LANGUAGE = '/new-language'\r\nexport const EDIT_LANGUAGE = (languageId: number | string) =>\r\n `/language/${languageId}`\r\n\r\nexport const RESOURCETYPE = '/resourceType-list'\r\nexport const ADD_NEW_RESOURCETYPE = '/new-resourceType'\r\nexport const EDIT_RESOURCETYPE = (resourceTypeId: number | string) =>\r\n `/resourceType/${resourceTypeId}`\r\n\r\nexport const RESOURCE = '/resource-list'\r\nexport const ADD_NEW_RESOURCE = '/new-resource'\r\nexport const EDIT_RESOURCE = (resourceId: number | string) =>\r\n `/resource/${resourceId}`\r\n\r\nexport const PAYMENT = '/payment-list'\r\nexport const ADD_NEW_PAYMENT = '/new-payment'\r\n\r\nexport const INVOICE = '/invoice-list'\r\nexport const ADD_NEW_INVOICE = '/new-invoice'\r\nexport const EDIT_INVOICE = (invoiceId: number | string) =>\r\n `/invoice/${invoiceId}`\r\n","import React, { PureComponent } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Icon from '@material-ui/core/Icon';\r\n\r\ninterface IConfirmDialogProps {\r\n open: boolean;\r\n text: string;\r\n header: string;\r\n icon: string;\r\n confirm: string;\r\n onApprove: Function;\r\n onClose: Function\r\n}\r\n\r\nexport default class ConfirmDialog extends PureComponent {\r\n public readonly props: IConfirmDialogProps;\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.onApprove = this.onApprove.bind(this);\r\n this.onClose = this.onClose.bind(this);\r\n }\r\n\r\n onApprove() {\r\n this.props.onApprove();\r\n };\r\n\r\n onClose() {\r\n this.props.onClose();\r\n };\r\n\r\n render() {\r\n const { text, header, open, icon, confirm } = this.props;\r\n return (\r\n
\r\n \r\n {header}\r\n \r\n {text}\r\n \r\n \r\n {confirm === \"yes/no\" ? <>\r\n \r\n \r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","//Validation Methods\r\nfunction emailValidation(email: string) {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)\r\n}\r\n\r\n//Login\r\n\r\n\r\nexport const passwordValidator = (password: string): string => {\r\n if (password.length < 6 || password.length > 16) return 'Sifre en az 6 en fazla 16 karakter olabilir.'\r\n return '';\r\n}\r\n\r\nexport const passwordAgainValidator = (passwordAgain: string): string => {\r\n if (passwordAgain != passwordAgain) return 'Girdiğiniz şifreler birbiri ile uyuşmuyor.'\r\n return '';\r\n}\r\n\r\n\r\nexport const emailValidator = (email: string): string => {\r\n\r\n if (email.length < 6) return 'Kullanici adi en az 6 karakter olabilir!'\r\n if (!emailValidation(email)) return 'Geçersiz bir E-posta Adresi girdiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent, KeyboardEvent } from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Paper from '@material-ui/core/Paper'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Icon from '@material-ui/core/Icon';\r\n\r\n\r\nimport { userService, cookieService } from '../../service'\r\nimport { HOME } from '../../routes/paths'\r\n\r\nimport ConfirmDialog from '../layout/Confirm';\r\n\r\nimport { emailValidator, passwordValidator } from '../../utils/login.validators'\r\n\r\n\r\nexport interface ILoginFormState {\r\n emailAddress: string;\r\n emailAddressError: string;\r\n password: string;\r\n passwordError: string;\r\n clientType: string;\r\n partnerCompanyCode: string;\r\n loginSuccess: boolean;\r\n showPassword: boolean;\r\n confirmStatus: boolean;\r\n}\r\n\r\nexport interface ILoginFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass LoginForm extends Component {\r\n public readonly state: ILoginFormState;\r\n public readonly props: ILoginFormProps;\r\n private timeout = 5000;\r\n private interval: any;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n emailAddress: \"\",\r\n emailAddressError: \"\",\r\n password: \"\",\r\n passwordError: \"\", \r\n clientType: \"WEB\", \r\n partnerCompanyCode: \"0\",\r\n loginSuccess: false,\r\n showPassword: false,\r\n confirmStatus: false\r\n };\r\n\r\n this.onEnter = this.onEnter.bind(this);\r\n this.onEnterEmail = this.onEnterEmail.bind(this);\r\n this.onEnterPassword = this.onEnterPassword.bind(this);\r\n this.handleClickShowPassword = this.handleClickShowPassword.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.login = this.login.bind(this);\r\n }\r\n\r\n private onEnterEmail(e: ChangeEvent) {\r\n super.setState({ emailAddress: e.currentTarget.value, emailAddressError: emailValidator(e.currentTarget.value) } as ILoginFormState);\r\n }\r\n\r\n private onEnterPassword(e: ChangeEvent) {\r\n super.setState({ password: e.currentTarget.value, passwordError: passwordValidator(e.currentTarget.value) } as ILoginFormState);\r\n }\r\n\r\n private onEnter(e: KeyboardEvent) {\r\n if (e.key == \"Enter\") this.login()\r\n }\r\n\r\n private formValidation() {\r\n const { emailAddress, password } = this.state;\r\n\r\n //Submit Validation\r\n if (emailValidator(emailAddress) !== \"\") {\r\n this.setState({ emailAddressError: emailValidator(emailAddress) });\r\n return false;\r\n }\r\n else if (passwordValidator(password) !== \"\") {\r\n this.setState({ passwordError: passwordValidator(password) });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async login() {\r\n const { password, emailAddress, clientType, partnerCompanyCode } = this.state;\r\n const response = await userService.login({ password, emailAddress, clientType, partnerCompanyCode });\r\n\r\n if (this.formValidation()) {\r\n if (response.isSuccess) this.redirect()\r\n else this.setState({ confirmStatus: true });\r\n }\r\n\r\n }\r\n\r\n private redirect() {\r\n this.setState({ loginSuccess: true });\r\n }\r\n\r\n handleClickShowPassword() {\r\n this.setState(state => ({ showPassword: !this.state.showPassword }));\r\n };\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n }\r\n\r\n\r\n private renderEmail() {\r\n const { emailAddress, emailAddressError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderPassword() {\r\n const { password, passwordError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private redirectToHome() {\r\n if (this.state.loginSuccess) return \r\n }\r\n\r\n\r\n public render() {\r\n const { classes } = this.props;\r\n const { confirmStatus } = this.state;\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
    \r\n
  • \r\n

    Banka Hesap Yönetimi

    \r\n

    Tüm bankalardaki bakiyelerinizi, hesap ve pos hareketlerinizi tek bir uygulamadan anlık olarak görüntülemek hiç bu kadar kolay olmamıştı.

    \r\n
  • \r\n
\r\n\r\n
\r\n
\r\n {/*\r\n \r\n
    \r\n
  • cookieService.setItem(this.LANGUAGE_NAME, \"EN\")}> English
  • \r\n
  • cookieService.setItem(this.LANGUAGE_NAME, \"TR\")}> Türkçe
  • \r\n
\r\n
\r\n Yardım\r\n İletişim*/}\r\n
\r\n
\r\n {this.redirectToHome()}\r\n\r\n \r\n \r\n

finstant'a Hoş geldiniz

\r\n

Hesap bilgileriniz ile giriş yapınız.

\r\n {this.renderEmail()}\r\n {this.renderPassword()}\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Beni Hatırla\"\r\n />\r\n Şifremi Unuttum\r\n \r\n GİRİŞ\r\n \r\n

Hesabınız yok mu? Hemen üye ol

\r\n
\r\n\r\n

Finstant © 2021

\r\n
\r\n
\r\n \r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(LoginForm);\r\n","import React, { Component } from 'react'\r\nimport LoginForm from './LoginForm';\r\n\r\nexport default class Login extends Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","//Validation Methods\r\nfunction emailValidation(email: string) {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)\r\n}\r\n\r\n//Remember\r\n\r\n\r\nexport const emailValidator = (email: string): string => {\r\n\r\n if (email.length < 6 || email.length > 25) return 'Kullanici adi en az 6 en fazla 25 karakter olabilir!'\r\n if (!emailValidation(email)) return 'Geçersiz bir E-posta Adresi girdiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Paper from '@material-ui/core/Paper'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport { withStyles } from '@material-ui/core/styles'\r\n\r\nimport { HOME } from '../../routes/paths'\r\n\r\nimport { emailValidator } from '../../utils/remember.validators'\r\n\r\n\r\nexport interface ILoginRememberFormState {\r\n emailAddress: string;\r\n emailError: string;\r\n}\r\n\r\nexport interface ILoginRememberFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass LoginRememberForm extends Component {\r\n public readonly state: ILoginRememberFormState;\r\n public readonly props: ILoginRememberFormProps;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n emailAddress: \"\",\r\n emailError: \"\"\r\n };\r\n\r\n this.onEnterEmail = this.onEnterEmail.bind(this);\r\n }\r\n\r\n private onEnterEmail(e: ChangeEvent) {\r\n super.setState({ emailAddress: e.currentTarget.value, emailError: emailValidator(e.currentTarget.value) } as ILoginRememberFormState);\r\n }\r\n\r\n private renderEmail() {\r\n const { emailAddress, emailError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n\r\n public render() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Banka Hesap Yönetimi

\r\n

Tüm bankalardaki bakiyelerinizi, hesap ve pos hareketlerinizi tek bir uygulamadan anlık olarak görüntülemek hiç bu kadar kolay olmamıştı.

\r\n
\r\n
\r\n {/*\r\n \r\n
    \r\n
  • English
  • \r\n
  • Türkçe
  • \r\n
\r\n
\r\n Yardım\r\n İletişim*/}\r\n
\r\n
\r\n\r\n \r\n \r\n

Şifremi Unuttum

\r\n

E-posta adresinizi girerek şifre sıfırlama talebinde bulunabilirsiniz.

\r\n {this.renderEmail()}\r\n \r\n ŞİFREMİ SIFIRLA\r\n \r\n\r\n

Giriş ekranına dön

\r\n
\r\n\r\n

Finstant © 2021

\r\n
\r\n
\r\n \r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(LoginRememberForm);\r\n","import React, { Component } from 'react'\r\nimport RememberForm from './RememberForm';\r\n\r\nexport default class Remember extends Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport { NavLink } from \"react-router-dom\"\r\nimport { Redirect } from 'react-router'\r\nimport classNames from 'classnames'\r\n\r\nimport AppBar from '@material-ui/core/AppBar'\r\nimport Toolbar from '@material-ui/core/Toolbar'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Avatar from '@material-ui/core/Avatar'\r\nimport Badge from '@material-ui/core/Badge'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport { withStyles } from '@material-ui/core/styles'\r\n\r\nimport { userService, cookieService, languageService, resourceService } from '../service'\r\nimport ConfirmDialog from './layout/Confirm';\r\n\r\nimport '../styles/style.css'\r\nimport { DOCUMENTATION, PROFILE, PASSWORD_RESET, PAYMENT, LOGIN } from '../routes/paths'\r\n\r\nexport interface INavbarState {\r\n open: boolean;\r\n sidebarDown: boolean;\r\n confirmStatus: boolean;\r\n permissionList: any;\r\n nameSurname: string;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n userId: number;\r\n logout: boolean;\r\n languages: any;\r\n resources: any;\r\n}\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst styles: any = (theme: any) => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n appBar: {\r\n width: '100%',\r\n zIndex: theme.zIndex.drawer - 1,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n //width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n appBarDrawerClose: {\r\n marginLeft: 73,\r\n //width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginLeft: 12,\r\n marginRight: 36,\r\n },\r\n hide: {\r\n display: 'none',\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: 'nowrap',\r\n 'border-right': 0,\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: 'hidden',\r\n width: theme.spacing.unit * 7 + 1,\r\n [theme.breakpoints.up('sm')]: {\r\n width: theme.spacing.unit * 9 + 1,\r\n },\r\n },\r\n toolbar: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n padding: '0 20px',\r\n ...theme.mixins.toolbar,\r\n },\r\n navbar: {\r\n justifyContent: 'flex-end',\r\n },\r\n});\r\n\r\n\r\nclass Navbar extends Component {\r\n public readonly state: INavbarState;\r\n public readonly props: any;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n open: true,\r\n sidebarDown: false,\r\n confirmStatus: false,\r\n permissionList: [],\r\n nameSurname: \"\",\r\n confirmMessage: \"Firmayi silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Firma Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n userId: 0,\r\n logout: false,\r\n languages: [],\r\n resources: []\r\n };\r\n\r\n\r\n this.logout = this.logout.bind(this);\r\n\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.handleDrawerOpen = this.handleDrawerOpen.bind(this);\r\n this.handleDemo = this.handleDemo.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermisisons();\r\n }\r\n\r\n private async getPermisisons() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, nameSurname: data.nameSurname, userId: data.userId });\r\n\r\n this.getResources();\r\n this.getLanguages();\r\n }\r\n\r\n private async getLanguages() {\r\n const { data } = await languageService.get(\"\", 0, 10, 0, true);\r\n this.setState({ languages: data.languages });\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n\r\n private async logout() {\r\n const response = await userService.logout();\r\n this.setState({ logout: true });\r\n }\r\n\r\n\r\n handleDrawerOpen() {\r\n this.setState({ open: !this.state.open });\r\n };\r\n\r\n private handleDemo() {\r\n this.setState({ confirmStatus: true });\r\n };\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n };\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n };\r\n\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n private onChangeLanguage(languageCode: string) {\r\n cookieService.setItem(this.LANGUAGE_NAME, languageCode);\r\n window.location.reload();\r\n }\r\n\r\n\r\n\r\n private redirectToHome() {\r\n if (this.state.logout) return \r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { confirmStatus, permissionList, userId, resources } = this.state;\r\n\r\n return (\r\n\r\n \r\n {this.redirectToHome()}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Bildirim Yok!\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
    \r\n {this.state.languages.map((item: any) => (\r\n
  • this.onChangeLanguage(item.languageCode)}> {item.languageName}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n {this.state.nameSurname} \r\n
    \r\n {userId === 21 ? null :\r\n <>\r\n
    {resources.MenuTopMenu41}
    \r\n
  • {resources.MenuTopMenu42}
  • \r\n
  • {resources.MenuTopMenu43}
  • \r\n {/*
  • {resources.MenuTopMenu44}
  • \r\n
  • {resources.MenuTopMenu46}
  • */}\r\n }\r\n\r\n
  • {resources.MenuTopMenu45}
  • \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withStyles(styles, { withTheme: true })(Navbar);","import React, { Component } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport classNames from 'classnames'\r\n\r\nimport Drawer from '@material-ui/core/Drawer'\r\nimport List from '@material-ui/core/List'\r\nimport ListItem from '@material-ui/core/ListItem'\r\nimport ListSubheader from '@material-ui/core/ListSubheader'\r\nimport ListItemText from '@material-ui/core/ListItemText'\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\r\nimport Divider from '@material-ui/core/Divider'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport Collapse from '@material-ui/core/Collapse'\r\nimport Button from '@material-ui/core/Button'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport { withStyles } from '@material-ui/core/styles'\r\n\r\nimport {\r\n COMPANY,\r\n COCKPIT,\r\n ACCOUNT,\r\n ACCOUNTBALANCEHISTORY,\r\n REPORTS,\r\n ACCOUNTSTATEMENT,\r\n POSSTATEMENT,\r\n BANK,\r\n BANKBRANCH,\r\n BANKACCOUNT,\r\n BANKCREDENTIAL,\r\n BANKFTPCREDENTIAL,\r\n COUNTRY,\r\n CITY,\r\n DISTRICT,\r\n CURRENCY,\r\n USER,\r\n PERMISSION,\r\n ROLE,\r\n LANGUAGE,\r\n RESOURCETYPE,\r\n RESOURCE,\r\n BANKACCOUNTUSER,\r\n COMPANYUSER,\r\n USERPERMISSION,\r\n ROLEPERMISSION,\r\n NOTIFICATION,\r\n INVOICE,\r\n PARTNER,\r\n ADD_NEW_BANK,\r\n PROFILE,\r\n ADD_NEW_BANKACCOUNT,\r\n ADD_NEW_BANKBRANCH,\r\n ADD_NEW_CURRENCY,\r\n ADD_NEW_PERMISSION,\r\n ADD_NEW_USER,\r\n ADD_NEW_ROLE,\r\n ADD_NEW_COMPANY,\r\n ADD_NEW_BANKCREDENTIAL,\r\n ADD_NEW_BANKFTPCREDENTIAL,\r\n PAYMENT,\r\n ADD_NEW_COMPANYUSER,\r\n ADD_NEW_USERPERMISSION,\r\n ADD_NEW_BANKACCOUNTUSER,\r\n ADD_NEW_ROLEPERMISSION,\r\n ADD_NEW_NOTIFICATION,\r\n ADD_NEW_INVOICE,\r\n VALORDATE,\r\n ADD_MULTI_USER,\r\n ADD_NEW_PARTNER,\r\n BALANCEANALYSIS,\r\n} from '../routes/paths'\r\n\r\nimport { userService, resourceService, cookieService } from '../service'\r\n\r\nimport '../styles/style.css'\r\n\r\nconst drawerWidth = 240\r\n\r\nexport interface ISidebarState {\r\n open: boolean\r\n submenuCompany: boolean\r\n submenuUser: boolean\r\n submenuBank: boolean\r\n submenuDefinition: boolean\r\n submenuReporting: boolean\r\n sidebarDown: boolean\r\n confirmStatus: boolean\r\n permissionList: any\r\n isPosStatement: boolean\r\n isAccounting: boolean\r\n isReporting: boolean\r\n isJustStatement: boolean\r\n isExcelAndPdfExport: boolean\r\n userId: number\r\n addMenu: boolean\r\n resources: any\r\n loading: boolean\r\n}\r\n\r\nexport interface ISidebarProps {\r\n classes: any\r\n drawerOpen: boolean\r\n}\r\n\r\nconst styles: any = (theme: any) => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n toolbar: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n padding: '0 20px',\r\n ...theme.mixins.toolbar,\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: 'nowrap',\r\n 'border-right': 0,\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n appBarSpacer: theme.mixins.toolbar,\r\n drawerClose: {\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: 'hidden',\r\n width: theme.spacing.unit * 7 + 1,\r\n [theme.breakpoints.up('sm')]: {\r\n width: theme.spacing.unit * 9 + 1,\r\n },\r\n },\r\n sidebarOpen: {\r\n marginLeft: '240px !important',\r\n transition: theme.transitions.create('margin-left', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n sidebarClose: {\r\n marginLeft: '73px !important',\r\n transition: theme.transitions.create('margin-left', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n NavbarLeft: {\r\n marginLeft: 50,\r\n },\r\n subheader: {\r\n textTransform: 'uppercase',\r\n padding: '0 10px',\r\n position: 'static',\r\n },\r\n hide: {\r\n display: 'none !important',\r\n },\r\n show: {\r\n display: 'block !important',\r\n },\r\n drawerButtonOpen: {\r\n marginLeft: '180px !important',\r\n },\r\n drawerButtonClose: {\r\n marginLeft: '5px !important',\r\n },\r\n})\r\n\r\nconst companyView = (props: any) => \r\nconst bankView = (props: any) => \r\nconst bankBranchView = (props: any) => \r\nconst bankAccountView = (props: any) => \r\nconst bankCredentialView = (props: any) => (\r\n \r\n)\r\nconst bankFTPCredentialView = (props: any) => (\r\n \r\n)\r\nconst countryView = (props: any) => \r\nconst cityView = (props: any) => \r\nconst districtView = (props: any) => \r\nconst currencyView = (props: any) => \r\nconst cockpitView = (props: any) => \r\nconst accountView = (props: any) => \r\nconst balanceHistoryView = (props: any) => (\r\n \r\n)\r\nconst accountStatementView = (props: any) => (\r\n \r\n)\r\nconst posStatementView = (props: any) => \r\nconst valorDateView = (props: any) => \r\nconst balanceAnalysisView = (props: any) => (\r\n \r\n)\r\nconst userView = (props: any) => \r\nconst multiUserView = (props: any) => \r\nconst permissionView = (props: any) => \r\nconst roleView = (props: any) => \r\nconst languageView = (props: any) => \r\nconst resoruceTypeView = (props: any) => \r\nconst resoruceView = (props: any) => \r\nconst reportsView = (props: any) => \r\nconst bankAccountUserView = (props: any) => (\r\n \r\n)\r\nconst companyUserView = (props: any) => \r\nconst userPermissionView = (props: any) => (\r\n \r\n)\r\nconst rolePermissionView = (props: any) => (\r\n \r\n)\r\nconst notificationView = (props: any) => \r\nconst invoiceView = (props: any) => \r\nconst partnerView = (props: any) => \r\n\r\nclass Sidebar extends Component {\r\n public readonly state: ISidebarState\r\n public readonly props: ISidebarProps\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n open: true,\r\n submenuCompany: false,\r\n submenuUser: false,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n sidebarDown: false,\r\n confirmStatus: false,\r\n permissionList: [],\r\n isPosStatement: false,\r\n isAccounting: false,\r\n isReporting: false,\r\n isJustStatement: false,\r\n isExcelAndPdfExport: false,\r\n userId: 0,\r\n addMenu: false,\r\n resources: [],\r\n loading: true,\r\n }\r\n\r\n this.handleDrawerOpen = this.handleDrawerOpen.bind(this)\r\n this.handleClick = this.handleClick.bind(this)\r\n this.handleSubmenuCompanyClick = this.handleSubmenuCompanyClick.bind(this)\r\n this.handleSubmenuUserClick = this.handleSubmenuUserClick.bind(this)\r\n this.handleSubmenuBankClick = this.handleSubmenuBankClick.bind(this)\r\n this.handleSubmenuDefinitionClick =\r\n this.handleSubmenuDefinitionClick.bind(this)\r\n this.handleSubmenuReportingClick =\r\n this.handleSubmenuReportingClick.bind(this)\r\n\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this)\r\n this.onConfirmClose = this.onConfirmClose.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n }\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN'\r\n\r\n componentWillMount() {\r\n this.getPermisisons()\r\n }\r\n\r\n private async getPermisisons() {\r\n const { data } = await userService.permission()\r\n /*console.log(data)*/\r\n this.setState({\r\n permissionList: data.unauthorizedPermissions,\r\n userId: data.userId,\r\n isPosStatement: data.isPosStatement,\r\n isAccounting: data.isAccounting,\r\n isReporting: data.isReporting,\r\n isJustStatement: data.isJustStatement,\r\n isExcelAndPdfExport: data.isExcelAndPdfExport,\r\n })\r\n\r\n await this.getResources()\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME)\r\n const { data } = await resourceService.language(resourceLanguage)\r\n var resources: any = {}\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value\r\n })\r\n\r\n this.setState({ resources: resources, loading: false })\r\n }\r\n\r\n handleDrawerOpen() {\r\n this.setState({ open: !this.state.open })\r\n }\r\n\r\n addMenuClose() {\r\n this.setState({ addMenu: !this.state.addMenu })\r\n }\r\n\r\n handleClick() {\r\n this.setState((state) => ({ sidebarDown: !this.state.sidebarDown }))\r\n }\r\n\r\n handleSubmenuCompanyClick() {\r\n this.setState({\r\n submenuCompany: !this.state.submenuCompany,\r\n submenuUser: false,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n })\r\n }\r\n\r\n handleSubmenuUserClick() {\r\n this.setState({\r\n submenuUser: !this.state.submenuUser,\r\n submenuCompany: false,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n })\r\n }\r\n\r\n handleSubmenuBankClick() {\r\n this.setState({\r\n submenuBank: !this.state.submenuBank,\r\n submenuUser: false,\r\n submenuCompany: false,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n })\r\n }\r\n\r\n handleSubmenuDefinitionClick() {\r\n this.setState({\r\n submenuDefinition: !this.state.submenuDefinition,\r\n submenuUser: false,\r\n submenuCompany: false,\r\n submenuBank: false,\r\n submenuReporting: false,\r\n })\r\n }\r\n\r\n handleSubmenuReportingClick() {\r\n this.setState({\r\n submenuReporting: !this.state.submenuReporting,\r\n submenuDefinition: false,\r\n submenuUser: false,\r\n submenuCompany: false,\r\n submenuBank: false,\r\n })\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false })\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false })\r\n }\r\n\r\n private handleClose(page?: string) {\r\n if (page === 'Company' && this.state.open) {\r\n this.setState({\r\n submenuCompany: true,\r\n submenuUser: false,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n })\r\n } else if (page === 'User' && this.state.open) {\r\n this.setState({\r\n submenuCompany: false,\r\n submenuUser: true,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n })\r\n } else if (page === 'Bank' && this.state.open) {\r\n this.setState({\r\n submenuCompany: false,\r\n submenuUser: false,\r\n submenuBank: true,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n })\r\n } else if (page === 'Definition' && this.state.open) {\r\n this.setState({\r\n submenuCompany: false,\r\n submenuUser: false,\r\n submenuBank: false,\r\n submenuDefinition: true,\r\n submenuReporting: false,\r\n })\r\n } else if (page === 'Reporting' && this.state.open) {\r\n this.setState({\r\n submenuCompany: false,\r\n submenuUser: false,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n submenuReporting: true,\r\n })\r\n } else {\r\n this.setState({\r\n submenuCompany: false,\r\n submenuUser: false,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n submenuReporting: false,\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props\r\n const {\r\n permissionList,\r\n isPosStatement,\r\n isAccounting,\r\n isReporting,\r\n isJustStatement,\r\n resources,\r\n } = this.state\r\n\r\n return (\r\n
\r\n \r\n {\r\n \r\n this.setState({\r\n open: !this.state.open,\r\n submenuCompany: false,\r\n submenuUser: false,\r\n submenuBank: false,\r\n submenuDefinition: false,\r\n })\r\n }\r\n className={classNames(classes.drawerButton, {\r\n [classes.drawerButtonOpen]: this.state.open,\r\n [classes.drawerButtonClose]: !this.state.open,\r\n })}\r\n >\r\n \r\n \r\n \r\n }\r\n\r\n {this.state.userId !== 21 ? (\r\n permissionList.indexOf('TopMenu.PaymentOperations') != -1 ? null : (\r\n this.addMenuClose()}\r\n className={classNames({\r\n [classes.sidebarOpen]: this.state.open,\r\n [classes.sidebarClose]: !this.state.open,\r\n })}\r\n >\r\n \r\n {resources.MenuTopMenu1} +\r\n \r\n \r\n {permissionList.indexOf('Bank.CreateBank') != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_1}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('BankBranch.CreateBankBranch') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_2}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('BankAccount.CreateBankAccount') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_3}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('Currency.CreateCurrency') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_4}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf(\r\n 'BankCredential.CreateBankCredential'\r\n ) != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_5}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf(\r\n 'BankFTPCredential.CreateBankFTPCredential'\r\n ) != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_15}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('Company.CreateCompany') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_6}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('User.CreateUser') != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_7}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('Role.CreateRole') != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_8}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('Permission.CreatePermission') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_9}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf(\r\n 'RolePermission.CreateRolePermission'\r\n ) != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_10}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('CompanyUser.CreateCompanyUser') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_11}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf(\r\n 'UserPermission.CreateUserPermission'\r\n ) != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_12}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf(\r\n 'BankAccountUser.CreateBankAccountUser'\r\n ) != -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_13}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('Notification.CreateNotification') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_14}\r\n \r\n
  • \r\n )}\r\n {permissionList.indexOf('Partner.CreatePartner') !=\r\n -1 ? null : (\r\n
  • \r\n \r\n \r\n
    \r\n {resources.MenuTopMenu1_16}\r\n \r\n
  • \r\n )}\r\n \r\n \r\n )\r\n ) : null}\r\n\r\n \r\n \r\n {this.state.loading ? (\r\n \r\n ) : (\r\n
    \r\n \r\n \r\n {resources.MenuLeftmenuHeader1}\r\n \r\n\r\n this.handleClose()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {isJustStatement ? null : (\r\n <>\r\n this.handleClose()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n this.handleClose()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n this.handleClose()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {!isPosStatement ? null : (\r\n <>\r\n this.handleClose()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {!isAccounting ? null : (\r\n <>\r\n this.handleClose()}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {!isReporting ? null : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {this.state.submenuReporting ? '<' : '>'}\r\n \r\n \r\n \r\n this.handleClose('Reporting')}\r\n >\r\n \r\n \r\n this.handleClose('Reporting')}\r\n >\r\n \r\n \r\n this.handleClose('Reporting')}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {permissionList.indexOf('Administration.Label') != -1 ? null : (\r\n <>\r\n \r\n \r\n \r\n {resources.MenuLeftmenuHeader2}\r\n \r\n {permissionList.indexOf(\r\n 'Administration.CompanyOperations'\r\n ) != -1 ? null : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {this.state.submenuCompany ? '<' : '>'}\r\n \r\n \r\n \r\n Firma İşlemleri\r\n \r\n \r\n {permissionList.indexOf(\r\n 'Company.GetCompanies.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Company')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'CompanyUser.GetCompanyUsers.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Company')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'Partner.GetPartners.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Company')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'Invoice.GetInvoices.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Company')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'Country.GetCountries.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Company')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf('City.GetCities.Menu') !=\r\n -1 ? null : (\r\n this.handleClose('Company')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'District.GetDistricts.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Company')}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n\r\n {permissionList.indexOf('Administration.UserOperations') !=\r\n -1 ? null : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {this.state.submenuUser ? '<' : '>'}\r\n \r\n \r\n \r\n Kullanıcı İşlemleri\r\n \r\n \r\n {permissionList.indexOf('User.GetUsers.Menu') !=\r\n -1 ? null : (\r\n this.handleClose('User')}\r\n >\r\n \r\n \r\n )}\r\n\r\n {/*permissionList.indexOf('UserPermission.GetUserPermissions.Menu') != -1 ? null :\r\n this.handleClose(\"User\")}>\r\n \r\n \r\n kaan yorum\r\n */}\r\n\r\n {/*{permissionList.indexOf('User.CreateMultipleUser.Menu') != -1 ? null :\r\n this.handleClose(\"User\")}>\r\n \r\n \r\n }*/}\r\n {permissionList.indexOf('Role.GetRoles.Menu') !=\r\n -1 ? null : (\r\n this.handleClose('User')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'RolePermission.GetRolePermissions.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('User')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'Permission.GetPermissions.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('User')}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n\r\n {permissionList.indexOf('Administration.BankOperations') !=\r\n -1 ? null : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {this.state.submenuBank ? '<' : '>'}\r\n \r\n \r\n \r\n Banka İşlemleri\r\n \r\n \r\n {permissionList.indexOf('Bank.GetBanks.Menu') !=\r\n -1 ? null : (\r\n this.handleClose('Bank')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'BankBranch.GetBankBranches.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Bank')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'BankAccount.GetBankAccounts.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Bank')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'BankAccountUser.GetBankAccountUsers.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Bank')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'BankCredential.GetBankCredentials.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Bank')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'BankFTPCredential.GetBankFTPCredentials.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Bank')}\r\n >\r\n \r\n \r\n )}\r\n {/*\r\n {permissionList.indexOf('Notification.GetNotifications.Menu') != -1 ? null :\r\n this.handleClose(\"Bank\")}>\r\n \r\n \r\n }*/}\r\n {permissionList.indexOf(\r\n 'Currency.GetCurrencies.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Bank')}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n\r\n {permissionList.indexOf(\r\n 'Administration.DefinitionOperations'\r\n ) != -1 ? null : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {this.state.submenuDefinition ? '<' : '>'}\r\n \r\n \r\n \r\n Tanım İşlemleri\r\n \r\n \r\n {permissionList.indexOf(\r\n 'Language.GetLanguages.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Definition')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'ResourceType.GetResourceTypes.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Definition')}\r\n >\r\n \r\n \r\n )}\r\n {permissionList.indexOf(\r\n 'Resource.GetResources.Menu'\r\n ) != -1 ? null : (\r\n this.handleClose('Definition')}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withStyles(styles, { withTheme: true })(Sidebar)\r\n","\r\nimport React from 'react';\r\nimport classNames from 'classnames';\r\nimport Select from 'react-select';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport NoSsr from '@material-ui/core/NoSsr';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Chip from '@material-ui/core/Chip';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { emphasize } from '@material-ui/core/styles/colorManipulator';\r\n\r\nconst styles = (theme: any) => ({\r\n root: {\r\n flexGrow: 1,\r\n height: 250\r\n },\r\n input: {\r\n display: 'flex',\r\n padding: 0,\r\n },\r\n valueContainer: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n flex: 1,\r\n alignItems: 'center',\r\n overflow: 'hidden',\r\n },\r\n chip: {\r\n margin: `${theme.spacing.unit / 2}px ${theme.spacing.unit / 4}px`,\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === 'light' ? theme.palette.grey[300] : theme.palette.grey[700],\r\n 0.08,\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: `${theme.spacing.unit}px ${theme.spacing.unit * 2}px`,\r\n },\r\n singleValue: {\r\n fontSize: 13,\r\n },\r\n placeholder: {\r\n position: 'absolute',\r\n left: 2,\r\n fontSize: 13,\r\n },\r\n paper: {\r\n position: 'absolute',\r\n zIndex: 9,\r\n marginTop: theme.spacing.unit,\r\n left: 0,\r\n right: 0,\r\n border: '1px solid #e6f0fe'\r\n },\r\n divider: {\r\n height: theme.spacing.unit * 2,\r\n },\r\n});\r\n\r\nfunction NoOptionsMessage(props: any) {\r\n return (\r\n \r\n Kayıt bulunamadı!\r\n {console.log(props)}\r\n \r\n );\r\n}\r\n\r\nfunction inputComponent({ inputRef, ...props }: { inputRef: any }) {\r\n return
    ;\r\n}\r\n\r\nfunction Control(props: any) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction Option(props: any) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nfunction Placeholder(props: any) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nfunction SingleValue(props: any) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nfunction ValueContainer(props: any) {\r\n return
    {props.children}
    ;\r\n}\r\n\r\nfunction MultiValue(props: any) {\r\n return (\r\n }\r\n />\r\n );\r\n}\r\n\r\nfunction Menu(props: any) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nconst components = {\r\n Control,\r\n Menu,\r\n MultiValue,\r\n NoOptionsMessage,\r\n Option,\r\n Placeholder,\r\n SingleValue,\r\n ValueContainer,\r\n};\r\n\r\ninterface IntegrationReactSelectProps {\r\n placeholder: string;\r\n onChange: (val: any) => void;\r\n options: [];\r\n labelName: string;\r\n valueKey: string;\r\n theme: any,\r\n classes: any;\r\n value?: any;\r\n disabled?: boolean;\r\n}\r\n\r\nclass IntegrationReactSelect extends React.Component {\r\n public props: IntegrationReactSelectProps;\r\n public state: any;\r\n\r\n constructor(props: IntegrationReactSelectProps) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n single: this.props.value ? this.props.value : null,\r\n multi: null,\r\n };\r\n }\r\n\r\n handleChange = (name: any) => (value: any) => {\r\n this.props.onChange(value);\r\n this.setState({\r\n [name]: value,\r\n });\r\n };\r\n\r\n render() {\r\n const { classes, theme, placeholder, labelName, valueKey, options, disabled } = this.props;\r\n\r\n const selectStyles = {\r\n input: (base: any) => ({\r\n ...base,\r\n color: theme.palette.text.primary,\r\n '& input': {\r\n font: 'inherit',\r\n },\r\n }),\r\n };\r\n\r\n return (\r\n
    \r\n \r\n option[labelName]}\r\n getOptionValue={(option: any) => option[valueKey]}\r\n value={this.props.value ? this.props.value : this.state.single}\r\n onChange={this.handleChange('single')}\r\n placeholder={placeholder}\r\n isClearable\r\n className=\"searchSelect\"\r\n />\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withStyles(styles as any, { withTheme: true })(IntegrationReactSelect);","import React, { Component } from 'react';\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nexport interface IAlertProps{\r\n type: any;\r\n message: string;\r\n}\r\n\r\nexport interface IAlertState{\r\n isOpen: boolean;\r\n}\r\n\r\nexport default class Alert extends Component {\r\n public readonly props: IAlertProps;\r\n public readonly state: IAlertState;\r\n\r\n constructor(props: any){\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n isOpen: true\r\n }\r\n }\r\n\r\n render() {\r\n const { type, message } = this.props;\r\n const { isOpen } = this.state;\r\n\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","function isEmpty(str: string) {\r\n return (!str || 0 === str.length || \"0\" === str);\r\n}\r\n\r\nfunction emailValidation(email: string) {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\r\n}\r\n\r\nfunction passwordValidation(password: string, title: string){\r\n const symbol = '*|,:<>[]{}`;()@&$#%!+-\"/';\r\n var SymbolControl = false;\r\n for (var i = 0; i < password.length; i++) {\r\n if (symbol.indexOf((password).charAt(i)) != -1) {\r\n SymbolControl = true;\r\n }\r\n }\r\n\r\n if ((password).search(/[a-z]/) < 0)\r\n return title + \" en az bir Küçük harf içermelidir.\";\r\n else if ((password).search(/[A-Z]/) < 0)\r\n return title + \" en az bir Büyük harf içermelidir.\";\r\n else if ((password).search(/[0-9]/) < 0)\r\n return title + \" en az bir rakam içermelidir.\";\r\n else if (SymbolControl === false)\r\n return title + \" en az bir özel karakter içermelidir.\";\r\n else return true;\r\n}\r\n\r\nexport const validate = (name: string, content: string, validations: any): (string | boolean) => {\r\n\r\n if(validations.indexOf('empty') !== -1){\r\n\r\n if(isEmpty(content) || content===\"0\") return name + \" alanını boş geçemezsiniz!\";\r\n\r\n }\r\n\r\n if(validations.indexOf('email') !== -1){\r\n\r\n if(!emailValidation(content)) return \"Geçersiz bir e-posta adresi girdiniz!\";\r\n\r\n }\r\n\r\n if(validations.indexOf('password') !== -1){\r\n\r\n if(passwordValidation(content, name) !== true) return passwordValidation(content, name);\r\n\r\n }\r\n\r\n if(validations.indexOf('phone') !== -1){\r\n if(!content.match(/^\\d{12}$/g)) return \"Geçerli bir \" + name + \" giriniz!\";\r\n }\r\n\r\n return false;\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { NavLink, Redirect } from 'react-router-dom';\r\n\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Icon from '@material-ui/core/Icon';\r\n\r\nimport CustomSelect from '../layout/CustomSelect';\r\nimport Alert from '../layout/Alert';\r\nimport { registerService, locationService, userService } from '../../service';\r\n\r\nimport {HOME} from \"../../routes/paths\";\r\n\r\nimport {validate} from \"../../helpers/validators\";\r\n\r\nexport interface IRegisterFormState {\r\n companyName: string;\r\n companyNameError: string | boolean;\r\n personal: any;\r\n personalValue: string;\r\n personalError: string | boolean;\r\n countryId: number;\r\n countryList: [];\r\n countryError: string | boolean;\r\n countryPhoneCode: number;\r\n phone: string;\r\n phoneError: string | boolean;\r\n nameSurname: string;\r\n nameSurnameError: string | boolean;\r\n email: string;\r\n emailError: string | boolean;\r\n password: string;\r\n passwordError: string | boolean;\r\n passwordAgain: string;\r\n passwordAgainError: string | boolean;\r\n discountCode: string;\r\n aggreement: boolean;\r\n aggreementError: string | boolean;\r\n clarificationText: boolean;\r\n clarificationTextError: string | boolean;\r\n explicitConsentText: boolean;\r\n showPassword: boolean;\r\n errorMessage: string;\r\n isToken: boolean;\r\n tokenParams: any;\r\n isLogin: boolean; \r\n clientType: string;\r\n partnerCompanyCode: string;\r\n}\r\n\r\nexport interface IRegisterFormProps {\r\n classes: any;\r\n params: string;\r\n}\r\n\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n },\r\n});\r\n\r\nclass RegisterForm extends Component {\r\n public readonly state: IRegisterFormState;\r\n public readonly props: IRegisterFormProps;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n companyName: \"\",\r\n companyNameError: false,\r\n countryId: 0,\r\n countryList: [],\r\n countryError: false,\r\n countryPhoneCode: 0,\r\n phone: \"\",\r\n phoneError: false,\r\n nameSurname: \"\",\r\n nameSurnameError: false,\r\n email: \"\",\r\n emailError: false,\r\n password: \"\",\r\n passwordError: false,\r\n passwordAgain: \"\",\r\n passwordAgainError: false,\r\n discountCode: \"\",\r\n aggreement: false,\r\n aggreementError: false,\r\n clarificationText: false,\r\n clarificationTextError: false,\r\n explicitConsentText: false,\r\n showPassword: false,\r\n personalValue: \"\",\r\n personal: [\r\n {\r\n \"personalValue\": \"1-5 Kişi\"\r\n },\r\n {\r\n \"personalValue\": \"6-10 Kişi\"\r\n },\r\n {\r\n \"personalValue\": \"11-25 Kişi\"\r\n },\r\n {\r\n \"personalValue\": \"26-50 Kişi\"\r\n },\r\n {\r\n \"personalValue\": \"51-100 Kişi\"\r\n },\r\n {\r\n \"personalValue\": \"100+ Kişi\"\r\n }\r\n ],\r\n personalError: false,\r\n errorMessage: \"\",\r\n isToken: false,\r\n tokenParams: [],\r\n isLogin: false, \r\n clientType: \"WEB\",\r\n partnerCompanyCode: \"0\",\r\n };\r\n\r\n this.onChangeCompanyName = this.onChangeCompanyName.bind(this);\r\n this.onChangePersonal = this.onChangePersonal.bind(this);\r\n this.onChangeCountry = this.onChangeCountry.bind(this);\r\n this.onChangePhone = this.onChangePhone.bind(this);\r\n this.onChangeNameSurname = this.onChangeNameSurname.bind(this);\r\n this.onChangeEmail = this.onChangeEmail.bind(this);\r\n this.onChangePassoword = this.onChangePassoword.bind(this);\r\n this.onChangePassowordAgain = this.onChangePassowordAgain.bind(this);\r\n this.onChangeDiscountCode = this.onChangeDiscountCode.bind(this);\r\n this.onChangeAggreement = this.onChangeAggreement.bind(this);\r\n this.onChangeClarificationText = this.onChangeClarificationText.bind(this);\r\n this.onChangeExplicitConsentText = this.onChangeExplicitConsentText.bind(this);\r\n this.handleClickShowPassword = this.handleClickShowPassword.bind(this);\r\n this.register = this.register.bind(this);\r\n this.complate = this.complate.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getCountries();\r\n }\r\n\r\n handleChange = (event: any) => {\r\n this.setState({ [event.target]: event.target });\r\n };\r\n\r\n handleClickShowPassword() {\r\n this.setState(state => ({ showPassword: !this.state.showPassword }));\r\n };\r\n\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCompanyName(e: ChangeEvent) {\r\n this.setState({ \r\n companyName: e.target.value,\r\n companyNameError: validate(\"Firma Adı\", e.target.value, [\"empty\"])\r\n });\r\n }\r\n\r\n private onChangePersonal(val: any) {\r\n if (val) {\r\n this.setState({ \r\n personalValue: val.personalValue,\r\n personalError: validate(\"Çalışan Sayısı\", val.personalValue, [\"empty\"])\r\n });\r\n }\r\n }\r\n\r\n private onChangeCountry(val: any) {\r\n if (val) {\r\n const countryId = val;\r\n const countryPhoneCode = Number(val.countryPhoneCode);\r\n this.setState({ \r\n countryId, \r\n countryPhoneCode, \r\n phone: countryPhoneCode,\r\n countryError: validate(\"Ülke\", val.id, [\"empty\"] )\r\n });\r\n }\r\n }\r\n\r\n private onChangePhone(e: ChangeEvent) {\r\n this.setState({ \r\n phone: e.target.value,\r\n phoneError: validate(\"Telefon\", e.target.value, [\"empty\", \"phone\"])\r\n });\r\n }\r\n\r\n private onChangeNameSurname(e: ChangeEvent) {\r\n this.setState({ \r\n nameSurname: e.target.value, \r\n nameSurnameError: validate(\"Ad Soyad\", e.target.value, [\"empty\"]) \r\n });\r\n }\r\n\r\n private onChangeEmail(e: ChangeEvent) {\r\n this.setState({ \r\n email: e.target.value,\r\n emailError: validate(\"E-posta Adresi\", e.target.value, [\"empty\", \"email\"])\r\n });\r\n }\r\n\r\n private onChangePassoword(e: ChangeEvent) {\r\n this.setState({ \r\n password: e.target.value,\r\n passwordError: validate(\"Şifre\", e.target.value, [\"empty\", \"password\"])\r\n });\r\n }\r\n\r\n private onChangePassowordAgain(e: ChangeEvent) {\r\n this.setState({ \r\n passwordAgain: e.target.value,\r\n passwordAgainError: validate(\"Şifre Tekrar\", e.target.value, [\"empty\", \"password\"])\r\n });\r\n }\r\n\r\n private onChangeDiscountCode(e: ChangeEvent) {\r\n this.setState({ discountCode: e.target.value });\r\n }\r\n\r\n private onChangeAggreement(e: ChangeEvent) {\r\n this.setState({ aggreement: e.target.checked });\r\n e.target.checked ? window.open(\"https://www.finstant.co/legal/Finstant_Kullanici_Sozlesmesi.pdf\", \"_blank\") : null\r\n }\r\n\r\n private onChangeClarificationText(e: ChangeEvent) {\r\n this.setState({ clarificationText: e.target.checked });\r\n e.target.checked ? window.open(\"https://www.finstant.co/legal/Finstant_KVKK_Aydinlatma_Metni.pdf\", \"_blank\") : null\r\n }\r\n\r\n private onChangeExplicitConsentText(e: ChangeEvent) {\r\n this.setState({ explicitConsentText: e.target.checked });\r\n e.target.checked ? window.open(\"https://finstant.co/Img/KVKK.pdf\", \"_blank\") : null\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async getCountries(useDefault: boolean = true) {\r\n const { data } = await locationService.getCountries();\r\n\r\n const state = {\r\n countryList: data.countries,\r\n countryId: useDefault ? data.countries[0].id : this.state.countryId\r\n };\r\n\r\n this.setState(state);\r\n \r\n this.getToken();\r\n }\r\n\r\n private async getToken(){\r\n const {params} = this.props;\r\n\r\n const {data, isSuccess, errorCode, errorMessage} = await userService.getUserByToken(params);\r\n\r\n if(isSuccess){\r\n const country : any = await this.state.countryList.find((item: any) => item.id === data.countryId);\r\n\r\n await this.setState({\r\n isToken: isSuccess, \r\n tokenParams: data,\r\n countryId: country,\r\n countryPhoneCode: country.countryPhoneCode,\r\n phone: country.countryPhoneCode,\r\n });\r\n \r\n }else{\r\n this.setState({errorMessage});\r\n }\r\n \r\n }\r\n\r\n\r\n private async register() {\r\n const { companyName, personal, countryId, phone, nameSurname, email, password, discountCode, aggreement } = this.state;\r\n\r\n const model = {\r\n companyName,\r\n personal,\r\n countryId,\r\n phone,\r\n nameSurname,\r\n email,\r\n password,\r\n discountCode,\r\n aggreement\r\n }\r\n \r\n this.createUser(model);\r\n\r\n }\r\n\r\n private async complate() {\r\n\r\n const { phone, phoneError, nameSurname, nameSurnameError, email, emailError, password, passwordError, passwordAgain, passwordAgainError, personalValue, personalError, aggreement, clarificationText, explicitConsentText } = this.state;\r\n\r\n if(aggreement === false){\r\n this.setState({aggreementError: \"Kullanıcı sözleşmesini onaylamanız gerekiyor!\"});\r\n }\r\n else { this.setState({aggreementError: false}); }\r\n\r\n if(clarificationText === false){\r\n this.setState({clarificationTextError: \"Aydınlatma metnini onaylamanız gerekiyor!\"});\r\n }\r\n else { this.setState({clarificationTextError: false}); }\r\n\r\n if(password !== passwordAgain){\r\n this.setState({passwordAgainError: \"Girdiğiniz şifreler birbiri ile uyuşmuyor!\"});\r\n }else{\r\n this.setState({\r\n passwordError: validate(\"Şifre\", password, [\"empty\", \"password\"]),\r\n passwordAgainError: validate(\"Şifre Tekrar\", passwordAgain, [\"empty\", \"password\"])\r\n });\r\n }\r\n\r\n this.setState({\r\n personalError: validate(\"Çalışan Kişi\", personalValue, [\"empty\"]),\r\n phoneError: validate(\"Telefon\", phone, [\"empty\", \"phone\"]),\r\n nameSurnameError: validate(\"Ad Soyad\", nameSurname, [\"empty\"]),\r\n emailError: validate(\"E-posta Adresi\", email, [\"empty\", \"email\"])\r\n });\r\n\r\n if(phoneError === false && nameSurnameError === false && emailError === false && passwordError === false && passwordAgainError === false && personalError === false && aggreement !== false && clarificationText !== false){\r\n\r\n const model = {\r\n mobilePhoneNumber: phone,\r\n nameSurname,\r\n emailAddress: email,\r\n password,\r\n employeeNumber: personalValue, \r\n isKullaniciSozlesmesiAccepted: aggreement,\r\n isAydinlatmaMetniAccepted: clarificationText,\r\n isAcikRizaMetniAccepted: explicitConsentText,\r\n token: this.props.params\r\n }\r\n \r\n this.complateUser(model);\r\n }\r\n\r\n }\r\n\r\n private async createUser(model: any) {\r\n await registerService.create(model);\r\n this.setState({ isSuccess: true });\r\n }\r\n\r\n private async complateUser(model: any) {\r\n const {isSuccess, errorMessage} = await userService.registrationComplate(model);\r\n if(isSuccess){\r\n const {password, email, clientType, partnerCompanyCode} = this.state;\r\n const response = await userService.login({ password, emailAddress: email, clientType, partnerCompanyCode });\r\n if (response.isSuccess) this.setState({ isLogin: true });\r\n }else{\r\n this.setState({errorMessage});\r\n }\r\n }\r\n\r\n \r\n\r\n private redirectToHome() {\r\n if (this.state.isLogin) return \r\n }\r\n\r\n\r\n private renderCompanyName() {\r\n const { companyName, companyNameError, isToken, tokenParams } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderPersonal() {\r\n const { personal, personalValue, personalError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {personalError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderCountry() {\r\n const { countryList, countryId, countryError, isToken, tokenParams } = this.state;\r\n\r\n return (\r\n \r\n \r\n {countryError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderPhone() {\r\n const { phone, phoneError, countryPhoneCode } = this.state;\r\n\r\n return (\r\n \r\n \r\n { countryPhoneCode !== 0 ? : null}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderNameSurname() {\r\n const { nameSurname, nameSurnameError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderEmail() {\r\n const { email, emailError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderPassword() {\r\n const { password, passwordError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n\r\n private renderPasswordAgain() {\r\n const { passwordAgain, passwordAgainError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n\r\n private renderDiscountCode() {\r\n const { discountCode } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderAggreement() {\r\n const { aggreement, aggreementError, } = this.state;\r\n\r\n return (\r\n <>\r\n \r\n }\r\n label=\"Kullanıcı sözleşmesini okudum, anladım ve onaylıyorum.\"\r\n className=\"checkbox\"\r\n />\r\n {aggreementError !== false ? aggreementError : null}\r\n \r\n )\r\n }\r\n\r\n private renderClarificationText() {\r\n const { clarificationText, clarificationTextError } = this.state;\r\n\r\n return (\r\n <>\r\n \r\n }\r\n label=\"Aydınlatma metnini okudum, anladım ve onaylıyorum.\"\r\n className=\"checkbox\"\r\n />\r\n {clarificationTextError !== false ? clarificationTextError : null}\r\n \r\n )\r\n }\r\n\r\n private renderExplicitConsentText() {\r\n const { explicitConsentText } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label=\"Açık rıza metnini okudum, anladım ve onaylıyorum.\"\r\n className=\"checkbox\"\r\n />\r\n )\r\n }\r\n\r\n\r\n\r\n\r\n public render() {\r\n\r\n return (\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n {this.redirectToHome()}\r\n {this.state.errorMessage !== \"\" ? : null}\r\n\r\n
    \r\n

    Banka Hesap Yönetimi

    \r\n

    Tüm bankalardaki bakiyelerinizi, hesap ve pos hareketlerinizi tek bir uygulamadan anlık olarak görüntülemek hiç bu kadar kolay olmamıştı.

    \r\n
    \r\n\r\n\r\n
    \r\n {/*\r\n \r\n
      \r\n
    • English
    • \r\n
    • Türkçe
    • \r\n
    \r\n
    \r\n Yardım\r\n İletişim*/}\r\n
    \r\n\r\n
    \r\n \r\n \r\n

    finstant'a kayıt ol

    \r\n

    Hesabınıza sadece bir adım uzaktasınız.

    \r\n\r\n {this.renderCompanyName()}\r\n {this.renderPersonal()}\r\n {this.renderCountry()}\r\n {this.renderPhone()}\r\n {this.renderNameSurname()}\r\n {this.renderEmail()}\r\n {this.renderPassword()}\r\n {this.renderPasswordAgain()}\r\n {this.renderDiscountCode()}\r\n {this.renderAggreement()}\r\n {this.state.isToken ? this.renderClarificationText() : null}\r\n\r\n \r\n\r\n

    Zaten bir hesabım var. Giriş yapın

    \r\n
    \r\n\r\n

    Finstant © 2021

    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default withStyles(styles)(RegisterForm);","import React, { Component } from 'react'\r\nimport RegisterForm from './RegisterForm';\r\n\r\nexport default class Register extends Component {\r\n public readonly props: any;\r\n\r\n constructor(props: any){\r\n super(props);\r\n\r\n this.props = props;\r\n }\r\n\r\n render() {\r\n let params = this.props.location.search.replace(\"?\",\"\").split(\"=\");\r\n\r\n return ()\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { withStyles } from '@material-ui/core/styles'\r\n\r\nconst styles: any = (theme: any) => ({\r\n appBarSpacer: theme.mixins.toolbar,\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing.unit * 3,\r\n height: '100vh',\r\n overflow: 'auto',\r\n },\r\n});\r\n\r\n\r\nconst Wrapper = (props: any) => (\r\n <>\r\n
    \r\n
    \r\n {props.children}\r\n
    \r\n \r\n);\r\n\r\nexport default withStyles(styles, { withTheme: true })(Wrapper);","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from '@material-ui/core/Paper'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from '@material-ui/core/Table'\r\nimport TableHead from '@material-ui/core/TableHead'\r\nimport TableBody from '@material-ui/core/TableBody'\r\nimport TableRow from '@material-ui/core/TableRow'\r\nimport TableCell from '@material-ui/core/TableCell'\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport {\r\n ADD_NEW_COMPANY,\r\n EDIT_COMPANY,\r\n EDIT_CONSENT_AGREEMENT,\r\n EDIT_CONSENT_RENEWAL,\r\n EDIT_CONSENT_CANCEL,\r\n} from '../../routes/paths'\r\n\r\nimport {\r\n companyService,\r\n userService,\r\n cookieService,\r\n resourceService,\r\n} from '../../service'\r\n\r\ninterface ICompanyListState {\r\n list: []\r\n loading: boolean\r\n totalCount: number\r\n searchTotalCount: number\r\n isActive: boolean\r\n resources: any\r\n\r\n //Paging\r\n sortType: string\r\n searchText: string\r\n currentPage: number\r\n selectedRow: number\r\n orderBy: number\r\n\r\n //Confirm\r\n confirmStatus: boolean\r\n deleteConfirm: boolean\r\n confirmMessage: string\r\n confirmTitle: string\r\n confirmIcon: string\r\n confirmType: string\r\n\r\n //Permission\r\n userId: number\r\n access: string\r\n permissionList: any\r\n addNewCompany: boolean\r\n addNewButton: boolean\r\n updateButton: boolean\r\n deleteButton: boolean\r\n isExcelAndPdfExport: boolean\r\n}\r\n\r\nexport default class CompanyList extends Component {\r\n public readonly props: any\r\n public readonly state: ICompanyListState\r\n private deleteConfirmId: number | null\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN'\r\n\r\n constructor(props: any) {\r\n super(props)\r\n this.props = props\r\n this.deleteConfirmId = null\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: 'asc',\r\n searchText: '',\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: 'Firma silmek istediginize emin misiniz?',\r\n confirmTitle: 'Firma Sil',\r\n confirmIcon: 'far fa-trash-alt',\r\n confirmType: 'yes/no',\r\n\r\n //Permission\r\n userId: 0,\r\n access: '',\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewCompany: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this)\r\n this.handleSort = this.handleSort.bind(this)\r\n this.handleSearch = this.handleSearch.bind(this)\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this)\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this)\r\n this.onConfirmClose = this.onConfirmClose.bind(this)\r\n this.onChangeStatus = this.onChangeStatus.bind(this)\r\n this.permissionNot = this.permissionNot.bind(this)\r\n this.getExportExcel = this.getExportExcel.bind(this)\r\n this.addNewCompany = this.addNewCompany.bind(this)\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl()\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission()\r\n this.setState({\r\n permissionList: data.unauthorizedPermissions,\r\n isExcelAndPdfExport: data.isExcelAndPdfExport,\r\n userId: data.userId,\r\n })\r\n this.getCompanies(\r\n '',\r\n this.state.currentPage,\r\n this.state.selectedRow,\r\n this.state.orderBy,\r\n this.state.isActive\r\n )\r\n this.renderAccessProcess()\r\n\r\n this.state.permissionList.indexOf('Company.CreateCompany') == -1\r\n ? this.setState({ addNewButton: true })\r\n : this.setState({ access: 'close' })\r\n\r\n this.state.userId === 21 ? this.setState({ access: 'popup' }) : null\r\n\r\n this.getResources()\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME)\r\n const { data } = await resourceService.language(resourceLanguage)\r\n var resources: any = {}\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value\r\n })\r\n\r\n this.setState({ resources: resources })\r\n }\r\n\r\n private async getCompanies(\r\n searchText: string,\r\n pageNumber: number,\r\n rowPerPage: number,\r\n orderBy: number = this.state.orderBy,\r\n isActive: boolean\r\n ) {\r\n const { data } = await companyService.get(\r\n searchText,\r\n pageNumber,\r\n rowPerPage,\r\n orderBy,\r\n isActive\r\n )\r\n this.setState({\r\n list: data.companies,\r\n loading: false,\r\n totalCount: data.totalCount,\r\n searchTotalCount: data.searchTotalCount,\r\n })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await companyService.download(\r\n this.state.searchText,\r\n this.state.isActive\r\n )\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({\r\n confirmMessage: 'Bu işlem için erişim yetkiniz bulunmuyor!',\r\n confirmTitle: 'Erişim Uyarısı',\r\n confirmIcon: 'fas fa-lock',\r\n confirmType: 'ok',\r\n confirmStatus: true,\r\n })\r\n }\r\n\r\n public async removeCompany() {\r\n if (this.deleteConfirmId) {\r\n await companyService.delete(this.deleteConfirmId)\r\n this.setState({\r\n list: this.state.list.filter(\r\n (company: any) => company.id !== this.deleteConfirmId\r\n ),\r\n })\r\n this.getCompanies(\r\n this.state.searchText,\r\n this.state.currentPage,\r\n this.state.selectedRow,\r\n this.state.orderBy,\r\n this.state.isActive\r\n )\r\n }\r\n }\r\n\r\n private addNewCompany() {\r\n const { access } = this.state\r\n if (access === 'popup') {\r\n this.setState({ confirmStatus: true })\r\n } else if (access === 'close') {\r\n this.setState({ addNewCompany: false })\r\n } else {\r\n this.setState({ addNewCompany: true })\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state\r\n\r\n if (\r\n permissionList.indexOf('Company.UpdateCompany') != -1 &&\r\n permissionList.indexOf('Company.DeleteCompany') != -1\r\n ) {\r\n this.setState({ access: 'close' })\r\n } else if (userId === 21) {\r\n this.setState({ access: 'popup' })\r\n } else {\r\n if (permissionList.indexOf('Company.UpdateCompany') == -1) {\r\n this.setState({ updateButton: true })\r\n }\r\n if (permissionList.indexOf('Company.DeleteCompany') == -1) {\r\n this.setState({ deleteButton: true })\r\n }\r\n this.setState({ access: 'show' })\r\n }\r\n }\r\n\r\n private handleRemoveCompany(id: number) {\r\n this.deleteConfirmId = id\r\n this.setState({ confirmStatus: true })\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page })\r\n this.getCompanies(\r\n this.state.searchText,\r\n page,\r\n this.state.selectedRow,\r\n this.state.orderBy,\r\n this.state.isActive\r\n )\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy })\r\n this.getCompanies(\r\n this.state.searchText,\r\n this.state.currentPage,\r\n this.state.selectedRow,\r\n orderBy,\r\n this.state.isActive\r\n )\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value })\r\n this.getCompanies(\r\n value,\r\n this.state.currentPage,\r\n this.state.selectedRow,\r\n this.state.orderBy,\r\n this.state.isActive\r\n )\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false })\r\n this.deleteConfirmId = null\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false })\r\n this.removeCompany()\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value)\r\n this.setState({ selectedRow })\r\n this.getCompanies(\r\n this.state.searchText,\r\n this.state.currentPage,\r\n selectedRow,\r\n this.state.orderBy,\r\n this.state.isActive\r\n )\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked })\r\n this.getCompanies(\r\n this.state.searchText,\r\n this.state.currentPage,\r\n this.state.selectedRow,\r\n this.state.orderBy,\r\n e.target.checked\r\n )\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state\r\n let pageCount = 1\r\n let pages = []\r\n searchTotalCount <= selectedRow\r\n ? (pageCount = 1)\r\n : (pageCount = searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) => (\r\n
    \r\n {currentPage + 1 === page ? (\r\n this.handleChangePage(null, page - 1)}\r\n style={{ color: '#408af8' }}\r\n >\r\n {page}\r\n \r\n ) : (\r\n this.handleChangePage(null, page - 1)}>{page}\r\n )}\r\n
    \r\n ))\r\n\r\n return listItems\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1}{' '}\r\n \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}>\r\n {' '}\r\n {this.state.resources.MenuOperationmenu1_2}\r\n
    • \r\n
    \r\n \r\n )\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n )\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive, resources } = this.state\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? resources.LabelStatus1 : resources.LabelStatus2}\r\n className='isActiveLabel'\r\n />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList, resources } = this.state\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}\r\n >\r\n \r\n Kullanıcı Limiti\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}\r\n >\r\n \r\n IP Adresi\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Bitiş Tarihi\r\n \r\n \r\n this.handleSort(orderBy === 25 ? 26 : 25)}\r\n >\r\n \r\n Lisans Sayısı\r\n \r\n \r\n this.handleSort(orderBy === 23 ? 24 : 23)}\r\n >\r\n \r\n Vergi Numarası\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Çalışan Sayısı\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n Ülke\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Şehir\r\n \r\n \r\n this.handleSort(orderBy === 17 ? 18 : 17)}>\r\n \r\n İlçe\r\n \r\n \r\n this.handleSort(orderBy === 19 ? 20 : 19)}>\r\n \r\n Adres\r\n \r\n \r\n this.handleSort(orderBy === 21 ? 22 : 21)}>\r\n \r\n İş Ortağı Adı\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)}\r\n className='statusArea'\r\n >\r\n \r\n {resources.ListLabelStatus}\r\n \r\n \r\n {permissionList.indexOf('Company.UpdateCompany') != -1 &&\r\n permissionList.indexOf('Company.DeleteCompany') != -1 ? null : (\r\n \r\n )}\r\n \r\n )\r\n }\r\n\r\n render() {\r\n const {\r\n addNewCompany,\r\n addNewButton,\r\n list,\r\n loading,\r\n currentPage,\r\n searchText,\r\n totalCount,\r\n searchTotalCount,\r\n confirmStatus,\r\n selectedRow,\r\n access,\r\n updateButton,\r\n deleteButton,\r\n isExcelAndPdfExport,\r\n resources,\r\n } = this.state\r\n return (\r\n <>\r\n \r\n \r\n\r\n {addNewCompany && }\r\n \r\n \r\n \r\n {resources.MenuLeftmenu1_6_1} {resources.LabelList}\r\n \r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {loading && }\r\n\r\n
    \r\n \r\n {this.renderRowHeaders()}\r\n \r\n {list.map((company: any) => (\r\n \r\n \r\n {company.companyName}\r\n \r\n \r\n {company.userLimit}\r\n \r\n \r\n {company.ipAddress}\r\n \r\n \r\n {company.expireDate.substring(0, 10)}\r\n \r\n \r\n {company.licenseLimitOfIBAN}\r\n \r\n \r\n {company.vatNumber}\r\n \r\n \r\n {company.employeeNumber}\r\n \r\n \r\n {company.countryName}\r\n \r\n \r\n {company.cityName}\r\n \r\n \r\n {company.districtName}\r\n \r\n \r\n {company.address}\r\n \r\n \r\n {company.partnerName}\r\n \r\n \r\n \r\n \r\n {access === 'close' ? null : (\r\n \r\n {access === 'popup' ? (\r\n <>\r\n this.permissionNot()}\r\n className='far fa-trash-alt'\r\n >\r\n this.permissionNot()}\r\n className='far fa-trash-alt'\r\n >\r\n this.permissionNot()}\r\n className='far fa-handshake'\r\n >\r\n this.permissionNot()}\r\n className='fas fa-redo-alt'\r\n >\r\n this.permissionNot()}\r\n className='fas fa-eject'\r\n >\r\n \r\n ) : null}\r\n {access === 'show' ? (\r\n <>\r\n {updateButton ? (\r\n \r\n \r\n \r\n ) : null}\r\n {deleteButton ? (\r\n \r\n this.handleRemoveCompany(company.id)\r\n }\r\n className='far fa-trash-alt'\r\n >\r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`\r\n }\r\n labelRowsPerPage='Görüntülenen Kayıt'\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n \r\n {'(' + totalCount + ' ' + resources.LabelPagination1 + ')'}\r\n \r\n
    \r\n {currentPage > 0 ? (\r\n \r\n this.handleChangePage(null, this.state.currentPage - 1)\r\n }\r\n >\r\n {resources.LabelPrevious}\r\n \r\n ) : null}\r\n {currentPage > 3 ? (\r\n <>\r\n this.handleChangePage(null, 0)}>1\r\n ...\r\n \r\n ) : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {currentPage + 1 <\r\n Math.floor(searchTotalCount / selectedRow) - 2 ? (\r\n ...\r\n ) : null}\r\n\r\n {currentPage + 1 < Math.ceil(searchTotalCount / selectedRow) - 2 ? (\r\n \r\n this.handleChangePage(\r\n null,\r\n Math.ceil(searchTotalCount / selectedRow - 1)\r\n )\r\n }\r\n >\r\n {Math.ceil(searchTotalCount / selectedRow)}\r\n \r\n ) : null}\r\n {currentPage + 1 < Math.ceil(searchTotalCount / selectedRow) ? (\r\n \r\n this.handleChangePage(null, this.state.currentPage + 1)\r\n }\r\n >\r\n {' '}\r\n {resources.LabelNext}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport CompanyList from './CompanyList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service'\r\n\r\ninterface ICompanyState {\r\n resources: any\r\n}\r\n\r\ninterface ICompanyProps {\r\n location: any,\r\n}\r\n\r\nexport default class Company extends Component {\r\n public readonly state: ICompanyState;\r\n public readonly props: ICompanyProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n (errorMessage.includes('Başarıyla')) ? : \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_6_1}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_6}
    • \r\n
    • {resources.MenuLeftmenu1_6_1}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n\r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport Typography from \"@material-ui/core/Typography\"\r\nimport { accountStatementsService } from '../../service';\r\n\r\ninterface IAccountStatementsState {\r\n list: [],\r\n loading: boolean;\r\n}\r\n\r\nexport default class AccountStatements extends Component {\r\n public readonly state: IAccountStatementsState;\r\n private timeout = 600000;\r\n private interval: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n list: [],\r\n loading: false,\r\n }\r\n\r\n this.getData = this.getData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.init();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.interval);\r\n }\r\n\r\n private async init() {\r\n this.setState({ loading: true });\r\n await this.getData();\r\n this.interval = setInterval(this.getData, this.timeout);\r\n }\r\n\r\n private async getData() {\r\n // this.setState({ loading: true });\r\n const { data } = await accountStatementsService.cockpit(\"\", \"\", 0, \"\", \"\", 30, 0, 0);\r\n this.setState({ list: data.accountStatements, loading: false })\r\n }\r\n\r\n private renderAmountConvert(amount: string) { \r\n if (amount === \"null\") return;\r\n\r\n if (amount == \"0\") {\r\n return \"0,00\";\r\n } \r\n\r\n let p = \"\";\r\n let isaretli = \"\"\r\n\r\n let sayi = amount.split(\".\");\r\n let net = sayi[0];\r\n let ondalik = sayi[1];\r\n\r\n net.indexOf(\"-\") != -1 ? isaretli = \"-\" : null\r\n net = net.replace(\"-\", \"\");\r\n\r\n ondalik == undefined ? ondalik = \"00\" : null\r\n ondalik.length == 1 ? ondalik += \"0\" : null\r\n\r\n let tersSayi = ((net.split(\"\")).reverse()).join(\"\");\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += \".\"\r\n p += tersSayi.substr(i, 1);\r\n }\r\n\r\n\r\n return isaretli + (((p.split(\"\")).reverse()).join(\"\")) + \",\" + ondalik;\r\n }\r\n\r\n private renderTable() {\r\n const { list } = this.state;\r\n return \r\n \r\n \r\n Tarih\r\n Banka\r\n Açıklama\r\n Tutar\r\n Döviz\r\n Bakiye\r\n Tip\r\n \r\n \r\n \r\n {list.map((company: any) => (\r\n \r\n \r\n {company.transactionDate}\r\n \r\n {company.bankName}\r\n {company.description.trim()}\r\n {this.renderAmountConvert(String(company.amount))}\r\n {company.currencyCode}\r\n {String(company.balance)}\r\n \r\n {company.amount < 0 ? \"A\" : \"B\"}\r\n \r\n \r\n ))}\r\n \r\n
    \r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.loading ? : this.renderTable()}\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport { Link } from 'react-router-dom';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Typography from \"@material-ui/core/Typography\"\r\nimport Card from \"@material-ui/core/Card\"\r\nimport CardContent from \"@material-ui/core/CardContent\"\r\nimport { accountBalancesService } from '../../service';\r\nimport { withStyles } from '@material-ui/core/';\r\nimport Carousel from 'react-multi-carousel';\r\nimport 'react-multi-carousel/lib/styles.css';\r\n\r\ninterface IAccountBalancesState {\r\n list: [],\r\n itemCount: number,\r\n loading: boolean\r\n}\r\n\r\nconst style = (theme: any) => ({\r\n wrapper: {\r\n display: \"flex\",\r\n alignItems: \"top\",\r\n justifyContent: \"space-between\"\r\n },\r\n content: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\"\r\n },\r\n text: {\r\n color: '#6e9bc7'\r\n },\r\n paper: {\r\n marginBottom: \"30px\"\r\n }\r\n})\r\n\r\nclass AccountBalances extends Component {\r\n public readonly state: IAccountBalancesState;\r\n public readonly props: any;\r\n\r\n private interval: any;\r\n\r\n private timeout = 600000;\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n list: [],\r\n itemCount: 1,\r\n loading: false\r\n }\r\n\r\n this.getData = this.getData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.init();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.interval);\r\n }\r\n\r\n private async init() {\r\n this.setState({ loading: true });\r\n await this.getData();\r\n this.interval = setInterval(this.getData, this.timeout);\r\n }\r\n\r\n private async getData() {\r\n const { data } = await accountBalancesService.getTotals();\r\n this.setState({ list: data.accountBalanceTotalItems, itemCount: data.accountBalanceTotalItems.length, loading: false });\r\n }\r\n\r\n private renderAmountConvert(amount: string) {\r\n if (amount == \"0\") {\r\n return \"0,00\";\r\n }\r\n\r\n let p = \"\";\r\n let isaretli = \"\"\r\n\r\n let sayi = amount.split(\".\");\r\n let net = sayi[0];\r\n let ondalik = sayi[1];\r\n\r\n net.indexOf(\"-\") != -1 ? isaretli = \"-\" : null\r\n net = net.replace(\"-\", \"\");\r\n\r\n ondalik == undefined ? ondalik = \"00\" : null\r\n ondalik.length == 1 ? ondalik += \"0\" : null\r\n\r\n let tersSayi = ((net.split(\"\")).reverse()).join(\"\");\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += \".\"\r\n p += tersSayi.substr(i, 1);\r\n }\r\n\r\n\r\n return isaretli + (((p.split(\"\")).reverse()).join(\"\")) + \",\" + ondalik;\r\n }\r\n\r\n private renderCards() {\r\n const { list } = this.state;\r\n const { classes } = this.props;\r\n return list.map((balance: any) => (\r\n \r\n \r\n
    \r\n {balance.currencyCode}\r\n {balance.currencyName} \r\n
    \r\n {this.renderAmountConvert(String(balance.balance))}\r\n
    \r\n
    \r\n ))\r\n }\r\n\r\n private renderCarousel() {\r\n const { itemCount } = this.state;\r\n\r\n const responsive = {\r\n superLargeDesktop: {\r\n // the naming can be any, depends on you.\r\n breakpoint: { max: 4000, min: 3000 },\r\n items: itemCount > 5 ? 5 : itemCount,\r\n },\r\n desktop: {\r\n breakpoint: { max: 3000, min: 1024 },\r\n items: itemCount > 3 ? 3 : itemCount,\r\n },\r\n tablet: {\r\n breakpoint: { max: 1024, min: 464 },\r\n items: itemCount > 1 ? 2 : 1,\r\n },\r\n mobile: {\r\n breakpoint: { max: 464, min: 0 },\r\n items: 1,\r\n },\r\n };\r\n\r\n return (\r\n \r\n {this.renderCards()}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return this.state.itemCount > 0 ? (\r\n
    \r\n {this.state.loading ? :
    {this.renderCarousel()}
    }\r\n
    \r\n ) : null\r\n }\r\n}\r\n\r\n\r\nexport default withStyles(style)(AccountBalances);\r\n","export type CurrencyId =\r\n | 1\r\n | 2\r\n | 3\r\n | 4\r\n | 5\r\n | 6\r\n | 7\r\n | 8\r\n | 9\r\n | 10\r\n | 11\r\n | 12\r\n | 13\r\n | 14\r\n | 15\r\n | 16\r\n | 17\r\n | 18\r\n | 19\r\n | 20\r\n | 24\r\nexport type CurrencySymbol = '₺' | '£' | '$' | '€' | ''\r\nexport type CurrencyCode =\r\n | 'TRY'\r\n | 'GBP'\r\n | 'USD'\r\n | 'EUR'\r\n | 'AUD'\r\n | 'CAD'\r\n | 'RUB'\r\n | 'CHF'\r\n | 'NOK'\r\n | 'SEK'\r\n | 'DKK'\r\n | 'JPY'\r\n | 'KWD'\r\n | 'BGN'\r\n | 'RON'\r\n | 'CNY'\r\n | 'PKR'\r\n | 'QAR'\r\n | 'SAR'\r\n | 'IRR'\r\n | 'AED'\r\n\r\nexport const currencyList: {\r\n id: CurrencyId\r\n symbol: CurrencySymbol\r\n code: CurrencyCode\r\n}[] = [\r\n { id: 1, symbol: '₺', code: 'TRY' },\r\n { id: 2, symbol: '£', code: 'GBP' },\r\n { id: 3, symbol: '$', code: 'USD' },\r\n { id: 4, symbol: '€', code: 'EUR' },\r\n { id: 5, symbol: '', code: 'AUD' },\r\n { id: 6, symbol: '', code: 'CAD' },\r\n { id: 7, symbol: '', code: 'RUB' },\r\n { id: 8, symbol: '', code: 'CHF' },\r\n { id: 9, symbol: '', code: 'NOK' },\r\n { id: 10, symbol: '', code: 'SEK' },\r\n { id: 11, symbol: '', code: 'DKK' },\r\n { id: 12, symbol: '', code: 'JPY' },\r\n { id: 13, symbol: '', code: 'KWD' },\r\n { id: 14, symbol: '', code: 'BGN' },\r\n { id: 15, symbol: '', code: 'RON' },\r\n { id: 16, symbol: '', code: 'CNY' },\r\n { id: 17, symbol: '', code: 'PKR' },\r\n { id: 18, symbol: '', code: 'QAR' },\r\n { id: 19, symbol: '', code: 'SAR' },\r\n { id: 20, symbol: '', code: 'IRR' },\r\n { id: 24, symbol: '', code: 'AED' },\r\n]\r\n\r\nexport const priceFormatter = (\r\n price: number,\r\n currencyId: CurrencyId = 1,\r\n withNoSymbol = false\r\n): string => {\r\n const currentItem = currencyList.find((item) => item.id === currencyId)!\r\n const currencySymbol: CurrencySymbol | CurrencyCode =\r\n currentItem.symbol || currentItem.code\r\n\r\n let [flatPart, decimalPart] = `${Number(price).toFixed(2)}`.split('.')\r\n const reversedPrice = flatPart.split('').reverse()\r\n\r\n if (!decimalPart) decimalPart = '00'\r\n if (decimalPart.length === 1) decimalPart = `${decimalPart}0`\r\n\r\n const withThousand = reversedPrice\r\n .map((number, index) => {\r\n const order = index + 1\r\n\r\n // we don't want to add \".\" when it's last number of the flatPart.\r\n if (order % 3 === 0 && order !== flatPart.length) {\r\n return `.${number}`\r\n } else {\r\n return number\r\n }\r\n })\r\n .reverse()\r\n .join('')\r\n\r\n if (withNoSymbol) {\r\n return `${withThousand},${decimalPart}`\r\n }\r\n\r\n return `${withThousand},${decimalPart} ${currencySymbol}`\r\n}\r\n","import React, { Component } from 'react'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport AccountStatements from './AccountStatements'\r\nimport AccountBalances from './AccountBalances'\r\nimport ArrowBack from '@material-ui/icons/ArrowBack'\r\n// import memoize from 'lodash.memoize'\r\n\r\nimport PieChart, {\r\n Series as PieSeries,\r\n Label as PieLabel,\r\n Connector as PieConnector,\r\n Size as PieSize,\r\n Export as PieExport,\r\n Margin as PieMargin,\r\n Legend as PieLegend,\r\n Tooltip as PieTooltip,\r\n Title as PieTitle,\r\n Subtitle as PieSubtitle,\r\n HoverStyle as PieHoverStyle,\r\n} from 'devextreme-react/pie-chart'\r\n\r\nimport {\r\n Chart,\r\n Series,\r\n Legend,\r\n ValueAxis,\r\n Tooltip,\r\n SeriesTemplate,\r\n CommonSeriesSettings,\r\n} from 'devextreme-react/chart'\r\n\r\nimport { CurrencyId, priceFormatter } from '../../helpers/priceFormatter'\r\nimport { accountBalancesService, posStatementsService } from '../../service'\r\nimport { Button, CircularProgress } from '@material-ui/core'\r\nimport { ArgumentAxis } from 'devextreme-react/polar-chart'\r\n\r\ninterface PointInfo {\r\n argumentText: string\r\n value: number\r\n percentText: string\r\n}\r\n\r\ninterface AccountBalancesByBank {\r\n balance: number\r\n currencyId: number\r\n bankName: string\r\n}\r\n\r\ninterface BalanceTotal {\r\n balance: number\r\n currencyId: number\r\n currencyCode: string\r\n currencyName: string\r\n}\r\n\r\ninterface AccountBalanceByCompany {\r\n balance: number\r\n companyId: number\r\n companyName: string\r\n currencyId: number\r\n currencyCode: string\r\n currencyName: string\r\n}\r\n\r\ninterface AccountBalance {\r\n balance: number\r\n bankId: number\r\n bankName: string\r\n bankAccountName: string\r\n bankBranchCode: string\r\n bankAccountNo: string\r\n iban: string\r\n updateDateTime: string\r\n}\r\n\r\ninterface ValorDate {\r\n companyName: string\r\n bankName: string\r\n isyeri: string\r\n iban: string\r\n netTutar: number\r\n currencyId: CurrencyId\r\n valorTarihi: string\r\n}\r\n\r\ninterface MainDrillDownData {\r\n level: number\r\n content: any[]\r\n argumentField: string\r\n valueField: string\r\n currencyId: CurrencyId\r\n}\r\n\r\ninterface ValorDrillDownData {\r\n level: number\r\n content: ValorDate[]\r\n argumentField: string\r\n valueField: string\r\n companyName: string\r\n}\r\n\r\ninterface State {\r\n loading: boolean\r\n banks: AccountBalancesByBank[]\r\n balanceTotals: BalanceTotal[]\r\n accountBalances: AccountBalance[]\r\n companies: AccountBalanceByCompany[]\r\n mainDrillDownLoading: boolean\r\n valorDrillDownLoading: boolean\r\n valorDates: ValorDate[]\r\n mainDrillDownData: MainDrillDownData\r\n // 4 tane seviye var o nedenle ilk üç tanesi için önceki data'larını saklamalıyız.\r\n mainDrillDownPreviousData: {\r\n 0: MainDrillDownData | null\r\n 1: MainDrillDownData | null\r\n 2: MainDrillDownData | null\r\n }\r\n valorDrillDownData: ValorDrillDownData\r\n valorDrillDownPreviousData: {\r\n 0: ValorDrillDownData | null\r\n 1: ValorDrillDownData | null\r\n }\r\n}\r\n\r\ninterface Props {\r\n history: any\r\n match: any\r\n}\r\n\r\nconst mainDrillDownColors = ['#BCEAD5', '#B8E8FC', '#BCCEF8', '#9ED2C6']\r\n\r\nconst classes: { [key: string]: React.CSSProperties } = {\r\n centeredLoading: {\r\n display: 'grid',\r\n height: '100%',\r\n placeItems: 'center',\r\n },\r\n card: {\r\n border: '1px solid #ccc',\r\n borderRadius: '8px',\r\n },\r\n pieChart: {\r\n paddingBottom: '50px',\r\n height: '450px',\r\n },\r\n drillChart: {\r\n marginTop: '-32px',\r\n height: '420px',\r\n },\r\n drillChartContainer: {\r\n height: '450px',\r\n padding: '16px 24px 0',\r\n },\r\n buttonInvisible: {\r\n opacity: 0,\r\n pointerEvents: 'none',\r\n },\r\n iconButton: {\r\n display: 'flex',\r\n gap: '12px',\r\n },\r\n}\r\n\r\nexport default class Cockpit extends React.Component {\r\n public props: Props\r\n public state: State\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n loading: false,\r\n banks: [],\r\n balanceTotals: [],\r\n companies: [],\r\n accountBalances: [],\r\n valorDates: [],\r\n mainDrillDownLoading: false,\r\n valorDrillDownLoading: false,\r\n mainDrillDownData: {\r\n level: 0,\r\n content: [],\r\n argumentField: 'currencyCode',\r\n valueField: 'balance',\r\n currencyId: 1,\r\n },\r\n mainDrillDownPreviousData: { 0: null, 1: null, 2: null },\r\n valorDrillDownData: {\r\n level: 0,\r\n content: [],\r\n argumentField: 'companyName',\r\n valueField: 'netTutar',\r\n companyName: '',\r\n },\r\n valorDrillDownPreviousData: { 0: null, 1: null },\r\n }\r\n\r\n this.getBanks = this.getBanks.bind(this)\r\n this.getBalanceTotals = this.getBalanceTotals.bind(this)\r\n this.getCompanies = this.getCompanies.bind(this)\r\n this.getAccountBalances = this.getAccountBalances.bind(this)\r\n this.getValorDates = this.getValorDates.bind(this)\r\n this.concatenateSameFields = this.concatenateSameFields.bind(this)\r\n this.renderDoughnutChart = this.renderDoughnutChart.bind(this)\r\n this.renderMainDrillDownChart = this.renderMainDrillDownChart.bind(this)\r\n this.renderValorDrillDownChart = this.renderValorDrillDownChart.bind(this)\r\n }\r\n\r\n componentWillMount(): void {\r\n this.getBanks()\r\n this.getBalanceTotals()\r\n this.getValorDates()\r\n }\r\n\r\n // concatenateSameFields = memoize(\r\n // (list: any[], sameFieldName: string, balanceFieldName: string) => {\r\n // let trimmedList: any[] = []\r\n // let loopedFieldValues: any[] = []\r\n\r\n // console.log('isRendered')\r\n\r\n // for (let i = 0; i < list.length; i++) {\r\n // const currentSameFieldValue = list[i][sameFieldName]\r\n // const currentBalanceFieldValue = list[i][balanceFieldName]\r\n\r\n // if (loopedFieldValues.includes(currentSameFieldValue)) {\r\n // trimmedList = trimmedList.map((item) => {\r\n // if (item[sameFieldName] === currentSameFieldValue) {\r\n // return {\r\n // ...item,\r\n // [balanceFieldName]:\r\n // item[balanceFieldName] + currentBalanceFieldValue,\r\n // }\r\n // } else {\r\n // return item\r\n // }\r\n // })\r\n // } else {\r\n // loopedFieldValues.push(currentSameFieldValue)\r\n // trimmedList.push(list[i])\r\n // }\r\n // }\r\n\r\n // return trimmedList\r\n // },\r\n // (...args) =>\r\n // `concatenateSameFields_${JSON.stringify(args[0])}_${args[1]}_${args[2]}`\r\n // )\r\n\r\n concatenateSameFields(\r\n list: any[],\r\n sameFieldName: string,\r\n balanceFieldName: string\r\n ) {\r\n let trimmedList: any[] = []\r\n let loopedFieldValues: any[] = []\r\n\r\n for (let i = 0; i < list.length; i++) {\r\n const currentSameFieldValue = list[i][sameFieldName]\r\n const currentBalanceFieldValue = list[i][balanceFieldName]\r\n\r\n if (loopedFieldValues.includes(currentSameFieldValue)) {\r\n trimmedList = trimmedList.map((item) => {\r\n if (item[sameFieldName] === currentSameFieldValue) {\r\n return {\r\n ...item,\r\n [balanceFieldName]:\r\n item[balanceFieldName] + currentBalanceFieldValue,\r\n }\r\n } else {\r\n return item\r\n }\r\n })\r\n } else {\r\n loopedFieldValues.push(currentSameFieldValue)\r\n trimmedList.push(list[i])\r\n }\r\n }\r\n\r\n return trimmedList\r\n }\r\n\r\n async getBanks() {\r\n this.setState({ loading: true })\r\n const response = await accountBalancesService.getAccountBalanceTotalsByBank(\r\n 0\r\n )\r\n if (response.isSuccess) {\r\n this.setState({\r\n banks: response.data.accountBalanceTotalByBankItem,\r\n loading: false,\r\n })\r\n }\r\n }\r\n\r\n async getBalanceTotals() {\r\n this.setState({ loading: true })\r\n const response = await accountBalancesService.getTotals()\r\n\r\n if (response.isSuccess) {\r\n const balanceTotals = response.data.accountBalanceTotalItems\r\n\r\n this.setState({\r\n mainDrillDownData: {\r\n ...this.state.mainDrillDownData,\r\n content: balanceTotals,\r\n },\r\n balanceTotals,\r\n loading: false,\r\n })\r\n }\r\n }\r\n\r\n async getCompanies(currencyId: number) {\r\n const response =\r\n await accountBalancesService.getAccountBalanceTotalsByCompany(currencyId)\r\n if (response.isSuccess)\r\n this.setState({\r\n companies: response.data.accountBalanceTotalByCompanyItem,\r\n })\r\n return response.data.accountBalanceTotalByCompanyItem\r\n }\r\n\r\n async getAccountBalances(currencyId: number, companyId: number) {\r\n const response = await accountBalancesService.getAccountBalancesByCompanyId(\r\n currencyId,\r\n companyId\r\n )\r\n\r\n if (response.isSuccess) {\r\n const accountBalances = response.data.accountBalances as AccountBalance[]\r\n\r\n this.setState({\r\n accountBalances,\r\n })\r\n\r\n // let trimmedAccountBalances: AccountBalance[] = []\r\n // let loopedBankIds: number[] = []\r\n\r\n // for (let i = 0; i < accountBalances.length; i++) {\r\n // const currentBankId = accountBalances[i].bankId\r\n // const currentBalance = accountBalances[i].balance\r\n\r\n // if (loopedBankIds.includes(currentBankId)) {\r\n // trimmedAccountBalances.map((item) => {\r\n // const { balance, bankId } = item\r\n // if (bankId === currentBankId) {\r\n // return { ...item, balance: balance + currentBalance }\r\n // }\r\n // })\r\n // } else {\r\n // loopedBankIds.push(currentBankId)\r\n // trimmedAccountBalances.push(accountBalances[i])\r\n // }\r\n // }\r\n\r\n // return trimmedAccountBalances\r\n\r\n return this.concatenateSameFields(\r\n accountBalances,\r\n 'bankId',\r\n 'balance'\r\n ) as AccountBalance[]\r\n }\r\n }\r\n\r\n async getValorDates() {\r\n this.setState({ loading: true })\r\n\r\n const model = {\r\n searchText: '',\r\n pagingParameters: {\r\n rowsPerPage: 999,\r\n pageNumber: 0,\r\n orderBy: 0,\r\n },\r\n }\r\n\r\n const response = await posStatementsService.valorDate(model)\r\n\r\n if (response.isSuccess) {\r\n const valorDates = response.data\r\n .posStatementTotalByValorDateItem as ValorDate[]\r\n\r\n this.setState({\r\n valorDates,\r\n loading: false,\r\n })\r\n\r\n const trimmedValorDates = this.concatenateSameFields(\r\n valorDates,\r\n 'companyName',\r\n 'netTutar'\r\n )\r\n\r\n this.setState({\r\n valorDates,\r\n loading: false,\r\n valorDrillDownData: {\r\n ...this.state.valorDrillDownData,\r\n content: trimmedValorDates,\r\n },\r\n })\r\n }\r\n }\r\n\r\n renderDoughnutChart(currencyId: CurrencyId, banks: AccountBalancesByBank[]) {\r\n const customizeTooltip = (pointInfo: PointInfo) => {\r\n const { argumentText, value } = pointInfo\r\n\r\n return {\r\n html: `\r\n
    \r\n
    ${argumentText}
    \r\n
    ${priceFormatter(value, currencyId)}
    \r\n
    \r\n `,\r\n fontColor: '#222',\r\n }\r\n }\r\n\r\n const onPointClick = (e: any) => {\r\n e.target.select()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n priceFormatter(pointInfo.value, currencyId)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n renderMainDrillDownChart() {\r\n const { level, argumentField, valueField, content, currencyId } =\r\n this.state.mainDrillDownData\r\n\r\n //console.log('mainDrillDownData', this.state.mainDrillDownData)\r\n\r\n const customizePoint = () => {\r\n return {\r\n color: mainDrillDownColors[level],\r\n hoverStyle:\r\n level === 3\r\n ? {\r\n hatching: 'none',\r\n }\r\n : {},\r\n }\r\n }\r\n\r\n const onPointClick = async (e: any) => {\r\n //console.log(e)\r\n\r\n if (level === 0) {\r\n const { currencyId } = e.target.data\r\n\r\n this.setState({\r\n mainDrillDownLoading: true,\r\n })\r\n\r\n const companies = await this.getCompanies(currencyId)\r\n\r\n //console.log()\r\n\r\n this.setState({\r\n mainDrillDownLoading: false,\r\n mainDrillDownPreviousData: {\r\n ...this.state.mainDrillDownPreviousData,\r\n 0: this.state.mainDrillDownData,\r\n },\r\n mainDrillDownData: {\r\n ...this.state.mainDrillDownData,\r\n level: 1,\r\n argumentField: 'companyName',\r\n content: companies,\r\n currencyId,\r\n },\r\n })\r\n }\r\n\r\n if (level === 1) {\r\n const { companyId } = e.target.data\r\n\r\n this.setState({\r\n mainDrillDownLoading: true,\r\n })\r\n\r\n const accountBalances = await this.getAccountBalances(\r\n currencyId,\r\n companyId\r\n )\r\n\r\n this.setState({\r\n mainDrillDownLoading: false,\r\n mainDrillDownPreviousData: {\r\n ...this.state.mainDrillDownPreviousData,\r\n 1: this.state.mainDrillDownData,\r\n },\r\n mainDrillDownData: {\r\n ...this.state.mainDrillDownData,\r\n level: 2,\r\n argumentField: 'bankName',\r\n content: accountBalances,\r\n },\r\n })\r\n }\r\n\r\n if (level === 2) {\r\n const { accountBalances } = this.state\r\n\r\n this.setState({\r\n mainDrillDownLoading: true,\r\n })\r\n\r\n const { bankId } = e.target.data\r\n\r\n const currentBalances = accountBalances.filter(\r\n (item) => item.bankId === bankId\r\n )\r\n\r\n this.setState({\r\n mainDrillDownLoading: false,\r\n mainDrillDownPreviousData: {\r\n ...this.state.mainDrillDownPreviousData,\r\n 2: this.state.mainDrillDownData,\r\n },\r\n mainDrillDownData: {\r\n ...this.state.mainDrillDownData,\r\n level: 3,\r\n argumentField: 'bankAccountName',\r\n content: currentBalances,\r\n },\r\n })\r\n }\r\n }\r\n\r\n const customizeTooltip = (pointInfo: PointInfo) => {\r\n const { argumentText, value } = pointInfo\r\n\r\n //console.log(pointInfo)\r\n\r\n const { accountBalances } = this.state\r\n\r\n if (level === 3) {\r\n const currentBalance = accountBalances.find(\r\n ({ bankAccountName }) => bankAccountName === argumentText\r\n )!\r\n\r\n const { bankAccountNo, bankBranchCode, balance, iban, updateDateTime } =\r\n currentBalance\r\n\r\n return {\r\n html: `\r\n
    \r\n
    \r\n
    ${bankBranchCode} / ${bankAccountNo}
    \r\n
    ${iban}
    \r\n
    \r\n
    ${priceFormatter(\r\n balance,\r\n currencyId\r\n )}
    \r\n
    ${updateDateTime}
    \r\n
    \r\n `,\r\n }\r\n }\r\n\r\n return {\r\n html: `\r\n
    ${\r\n level === 0\r\n ? priceFormatter(value, 1, true)\r\n : priceFormatter(value, currencyId)\r\n }
    \r\n
    \r\n `,\r\n fontColor: '#222',\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {this.state.mainDrillDownLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n <>\r\n {\r\n this.setState({\r\n mainDrillDownData: (\r\n this.state.mainDrillDownPreviousData as {\r\n [key: number]: MainDrillDownData\r\n }\r\n )[level - 1],\r\n })\r\n }}\r\n >\r\n \r\n Geri Git\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n )\r\n }\r\n\r\n renderValorDrillDownChart() {\r\n const { level, argumentField, valueField, content } =\r\n this.state.valorDrillDownData\r\n\r\n //console.log('valorDrillDownData', this.state.valorDrillDownData)\r\n\r\n const customizePoint = () => {\r\n return {\r\n hoverStyle:\r\n level === 2\r\n ? {\r\n hatching: 'none',\r\n }\r\n : {},\r\n }\r\n }\r\n\r\n const onPointClick = async (e: any) => {\r\n //console.log(e)\r\n\r\n const targetData = e.target.data\r\n\r\n const { valorDates } = this.state\r\n\r\n if (level === 0) {\r\n const currentValorDates = valorDates.filter(\r\n ({ companyName }) => companyName === targetData.companyName\r\n )\r\n\r\n // burada da seçilen bankaya ait bankalar birden fazlaysa birleştiriliyor.\r\n const trimmedValorDates = this.concatenateSameFields(\r\n currentValorDates,\r\n 'bankName',\r\n 'netTutar'\r\n )\r\n\r\n this.setState({\r\n valorDrillDownPreviousData: {\r\n ...this.state.valorDrillDownPreviousData,\r\n 0: this.state.valorDrillDownData,\r\n },\r\n valorDrillDownData: {\r\n ...this.state.valorDrillDownData,\r\n level: 1,\r\n argumentField: 'bankName',\r\n content: trimmedValorDates,\r\n companyName: targetData.companyName,\r\n },\r\n })\r\n }\r\n\r\n if (level === 1) {\r\n const { companyName } = this.state.valorDrillDownData\r\n\r\n const currentValorDates = valorDates.filter(\r\n ({ companyName, bankName }) =>\r\n companyName === companyName && targetData.bankName\r\n )\r\n\r\n // burada da seçilen bankaya ait bankalar birden fazlaysa birleştiriliyor.\r\n const trimmedValorDates = this.concatenateSameFields(\r\n currentValorDates,\r\n 'isyeri',\r\n 'netTutar'\r\n )\r\n\r\n this.setState({\r\n valorDrillDownPreviousData: {\r\n ...this.state.valorDrillDownPreviousData,\r\n 1: this.state.valorDrillDownData,\r\n },\r\n valorDrillDownData: {\r\n ...this.state.valorDrillDownData,\r\n level: 2,\r\n argumentField: 'isyeri',\r\n content: trimmedValorDates,\r\n companyName: targetData.companyName,\r\n },\r\n })\r\n }\r\n }\r\n\r\n const customizeTooltip = (pointInfo: PointInfo) => {\r\n const { argumentText, value } = pointInfo\r\n\r\n //console.log(pointInfo)\r\n\r\n return {\r\n html: `\r\n
    ${priceFormatter(\r\n value\r\n )}
    \r\n
    \r\n `,\r\n fontColor: '#222',\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n this.setState({\r\n valorDrillDownData: (\r\n this.state.valorDrillDownPreviousData as {\r\n [key: number]: ValorDrillDownData\r\n }\r\n )[level - 1],\r\n })\r\n }}\r\n >\r\n \r\n Geri Git\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const { banks } = this.state\r\n\r\n const banksWithTRYCurrency = banks.filter(\r\n ({ currencyId }) => currencyId === 1\r\n )\r\n const banksWithGBPCurrency = banks.filter(\r\n ({ currencyId }) => currencyId === 2\r\n )\r\n const banksWithUSDCurrency = banks.filter(\r\n ({ currencyId }) => currencyId === 3\r\n )\r\n const banksWithEURCurrency = banks.filter(\r\n ({ currencyId }) => currencyId === 4\r\n )\r\n\r\n return (\r\n \r\n {this.state.loading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n
    \r\n {this.renderMainDrillDownChart()}\r\n
    \r\n
    \r\n {this.state.valorDates.length > 0 && (\r\n \r\n
    \r\n {this.renderValorDrillDownChart()}\r\n
    \r\n
    \r\n )}\r\n {banksWithTRYCurrency.length > 0 && (\r\n \r\n
    \r\n {this.renderDoughnutChart(1, banksWithTRYCurrency)}\r\n
    \r\n
    \r\n )}\r\n {banksWithGBPCurrency.length > 0 && (\r\n \r\n
    \r\n {this.renderDoughnutChart(2, banksWithGBPCurrency)}\r\n
    \r\n
    \r\n )}\r\n {banksWithUSDCurrency.length > 0 && (\r\n \r\n
    \r\n {this.renderDoughnutChart(3, banksWithUSDCurrency)}\r\n
    \r\n
    \r\n )}\r\n {banksWithEURCurrency.length > 0 && (\r\n \r\n
    \r\n {this.renderDoughnutChart(4, banksWithEURCurrency)}\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Wrapper from '../layout/Wrapper';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n\r\ninterface IDocumentationState {\r\n tab: number;\r\n}\r\n\r\n\r\nconst style = (theme: any) => ({\r\n wrapper: {\r\n display: \"flex\",\r\n },\r\n card: {\r\n margin: \"10px\",\r\n width: \"20%\",\r\n },\r\n content: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\"\r\n }\r\n})\r\n\r\n\r\n\r\nclass Documentation extends Component {\r\n public readonly state: IDocumentationState;\r\n public readonly props: any;\r\n\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n tab: 0\r\n }\r\n\r\n this.handleTabChange = this.handleTabChange.bind(this);\r\n }\r\n\r\n private handleTabChange(_: any, tab: number) {\r\n this.setState({ tab });\r\n }\r\n\r\n private onOpen($link: string) {\r\n window.open($link, '_blank');\r\n }\r\n\r\n private renderAllDocuments() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
    \r\n this.onOpen('http://www.finstant.co/downloads/FinstantClient.msi')}>\r\n \r\n
    \r\n \r\n indir\r\n Finstant Client\r\n
    \r\n
    \r\n
    \r\n this.onOpen('https://finstant.co/Img/KVKK.pdf')}>\r\n \r\n
    \r\n \r\n indir\r\n KVKK\r\n
    \r\n
    \r\n
    \r\n this.onOpen('https://finstant.co/Img/KVKK.pdf')}>\r\n \r\n
    \r\n \r\n indir\r\n Hizmet Sözleşmesi\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n }\r\n\r\n\r\n private renderSetupDocuments() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
    \r\n this.onOpen('http://www.finstant.co/downloads/FinstantClient.msi')}>\r\n \r\n
    \r\n \r\n indir\r\n Finstant Client\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n }\r\n\r\n\r\n private renderUsingDocuments() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
    \r\n this.onOpen('https://finstant.co/Img/KVKK.pdf')}>\r\n \r\n
    \r\n \r\n indir\r\n KVKK\r\n
    \r\n
    \r\n
    \r\n this.onOpen('https://finstant.co/Img/KVKK.pdf')}>\r\n \r\n
    \r\n \r\n indir\r\n Hizmet Sözleşmesi\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n }\r\n\r\n\r\n private renderBody() {\r\n const { tab } = this.state;\r\n\r\n if (tab === 0) return this.renderAllDocuments();\r\n else if (tab === 1) return this.renderSetupDocuments();\r\n else if (tab === 2) return this.renderUsingDocuments();\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • Dosyalar
    • \r\n
    • Anasayfa
    • \r\n
    • Dosyalar
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {this.renderBody()}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default withStyles(style)(Documentation);","//Company\r\n\r\nexport const companyNameValidator = (companyName: string): string => {\r\n if (companyName === '') return 'Şirket adı alanını boş geçemezsiniz!'\r\n else if (companyName.length < 6)\r\n return 'Şirket adı en az 6 karakter olabilir!'\r\n return ''\r\n}\r\n\r\nexport const userLimitedValidator = (userLimit: number): string => {\r\n if (userLimit < 1) return \"Kullanıcı limiti 0'dan büyük olmalıdır!\"\r\n return ''\r\n}\r\n\r\nexport const vatNumberValidator = (vatNumber: string): string => {\r\n if (vatNumber === '') return 'Vergi Numarası alanını boş geçemezsiniz!'\r\n else if (vatNumber.length < 10)\r\n return 'Vergi Numarası en az 10 karakter olabilir!'\r\n return ''\r\n}\r\n\r\nexport const expireDateValidator = (expireDate: string): string => {\r\n if (expireDate === '0000-00-00') return 'Lütfen bir tarih seçiniz!'\r\n return ''\r\n}\r\n\r\nexport const ipAddressValidator = (ipAddress: string): string => {\r\n if (ipAddress.length < 9 || ipAddress.length > 15)\r\n return 'Geçerli bir IP adresi giriniz!'\r\n return ''\r\n}\r\n\r\nexport const employeeValidator = (employeeValue: string): string => {\r\n if (employeeValue === '') return 'Çalışan sayısı seçmelisiniz!'\r\n return ''\r\n}\r\n\r\nexport const countryValidator = (countryId: number): string => {\r\n if (countryId === 0) return 'Ülke seçiniz!'\r\n return ''\r\n}\r\n\r\nexport const cityValidator = (cityId: number): string => {\r\n if (cityId === 0) return 'Şehir seçiniz!'\r\n return ''\r\n}\r\n\r\nexport const districtValidator = (districtId: number): string => {\r\n if (districtId === 0) return 'İlçe seçiniz!'\r\n return ''\r\n}\r\n\r\nexport const addressValidator = (address: string): string => {\r\n if (address === '') return 'Adres alanını boş geçemezsiniz!'\r\n else if (address.length < 15) return 'Adres alanı en az 15 karakter olabilir!'\r\n return ''\r\n}\r\n\r\n/*export const partnerValidator = (partnerId: number): string => {\r\n if (partnerId === 0) return 'İş Ortağı seçiniz!'\r\n return '';\r\n}*/\r\n\r\nexport const hhsValidator = (value: string): string => {\r\n if (value === '') return 'HHS alanını boş geçemezsiniz!'\r\n return ''\r\n}\r\n\r\nexport const consentDateValidator = (value: string): string => {\r\n if (value === '') return 'Tarihi alanını boş geçemezsiniz!'\r\n return ''\r\n}\r\n","export const sqlInjectValidator = (text: string): any => {\r\n\r\n const sqlInject = [\r\n ' or ',\r\n ' and ',\r\n ' OR ',\r\n ' AND ',\r\n 'where',\r\n 'WHERE',\r\n 'sql',\r\n 'SQL',\r\n 'CREATE',\r\n 'create',\r\n 'DELETE',\r\n 'delete',\r\n 'update',\r\n 'UPDATE',\r\n '\\'',\r\n '*',\r\n ' from ',\r\n ' FROM ',\r\n '\"',\r\n '%',\r\n ' join ',\r\n ' JOIN ',\r\n ' inner ',\r\n ' INNER ',\r\n ' count ',\r\n ' COUNT ',\r\n ' like ',\r\n ' LIKE ',\r\n '=',\r\n ' limit ',\r\n ' LIMIT ',\r\n ' id ',\r\n ' ID ',\r\n 'password',\r\n 'PASSWORD',\r\n 'select',\r\n 'SELECT'\r\n ];\r\n\r\n sqlInject.forEach(item => {\r\n if (text !== null) {\r\n text = text.replace(item, ''); \r\n } \r\n });\r\n\r\n return text;\r\n\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport moment from 'moment'\r\n\r\nimport { Snackbar } from '@material/react-snackbar'\r\nimport '@material/react-snackbar/dist/snackbar.css'\r\n\r\nimport { companyService, locationService } from '../../service'\r\nimport { COMPANY } from '../../routes/paths'\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport {\r\n companyNameValidator,\r\n vatNumberValidator,\r\n employeeValidator,\r\n countryValidator,\r\n cityValidator,\r\n districtValidator,\r\n addressValidator,\r\n} from '../../utils/company.validators'\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators'\r\n\r\nexport interface ICompanyFormState {\r\n companyName: string\r\n companyNameError: string\r\n vatNumber: string\r\n vatNumberError: string\r\n employee: any\r\n employeeNumber: string\r\n employeeError: string\r\n address: string\r\n addressError: string\r\n isActive: boolean\r\n countryList: []\r\n countryId: any\r\n countryError: string\r\n cityList: []\r\n cityId: any\r\n cityError: any\r\n districtList: []\r\n districtId: any\r\n districtError: string\r\n isEdit: boolean\r\n loading: boolean\r\n isSuccess: string\r\n errorCode: string\r\n errorMessage: string\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n width: '100%',\r\n height: '100%',\r\n },\r\n})\r\n\r\nexport interface ICompanyFormProps {\r\n classes: any\r\n}\r\n\r\nclass CompanyForm extends Component {\r\n public readonly state: ICompanyFormState\r\n public readonly props: any\r\n private form: any\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n companyName: '',\r\n companyNameError: '',\r\n vatNumber: '',\r\n vatNumberError: '',\r\n employee: [\r\n {\r\n employeeNumber: '1-5 Kişi',\r\n },\r\n {\r\n employeeNumber: '5-10 Kişi',\r\n },\r\n {\r\n employeeNumber: '10-25 Kişi',\r\n },\r\n {\r\n employeeNumber: '25-100 Kişi',\r\n },\r\n {\r\n employeeNumber: '100+ Kişi',\r\n },\r\n ],\r\n employeeNumber: '',\r\n employeeError: '',\r\n address: '',\r\n addressError: '',\r\n isActive: true,\r\n countryList: [],\r\n countryId: 0,\r\n countryError: '',\r\n cityList: [],\r\n cityId: 0,\r\n cityError: '',\r\n districtList: [],\r\n districtId: 0,\r\n districtError: '',\r\n isEdit: false,\r\n loading: true,\r\n isSuccess: '',\r\n errorCode: '',\r\n errorMessage: '',\r\n }\r\n\r\n this.onChangeCompanyName = this.onChangeCompanyName.bind(this)\r\n this.onChangeVatNumber = this.onChangeVatNumber.bind(this)\r\n this.onChangeEmployee = this.onChangeEmployee.bind(this)\r\n this.onChangeCountry = this.onChangeCountry.bind(this)\r\n this.onChangeCity = this.onChangeCity.bind(this)\r\n this.onChangeDistrict = this.onChangeDistrict.bind(this)\r\n this.onChangeAddress = this.onChangeAddress.bind(this)\r\n this.onChangeStatus = this.onChangeStatus.bind(this)\r\n this.cancel = this.cancel.bind(this)\r\n this.saveChanges = this.saveChanges.bind(this)\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.companyId) this.getEditableCompany()\r\n else {\r\n this.getCountries(0)\r\n this.setState({ loading: false })\r\n }\r\n\r\n this.form = React.createRef()\r\n }\r\n\r\n private async getEditableCompany() {\r\n const { data } = await companyService.getById(\r\n this.props.match.params.companyId\r\n )\r\n\r\n await this.getCountries(data.countryId)\r\n const state = {\r\n ...data,\r\n isEdit: true,\r\n expireDate: moment(data.expireDate).format('YYYY-MM-DD'),\r\n countryId: this.state.countryList.find(\r\n (item: any) => item.id === data.countryId\r\n ),\r\n cityId: this.state.cityList.find((item: any) => item.id === data.cityId),\r\n }\r\n\r\n this.setState({ ...state, loading: false })\r\n if (data.cityId) {\r\n await this.getDistricts(state.countryId.id, state.cityId.id)\r\n this.setState({\r\n districtId: this.state.districtList.find(\r\n (item: any) => item.id === data.districtId\r\n ),\r\n loading: false,\r\n })\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCompanyName(e: ChangeEvent) {\r\n this.setState({\r\n companyName: e.currentTarget.value,\r\n companyNameError: companyNameValidator(e.currentTarget.value),\r\n })\r\n }\r\n\r\n private onChangeVatNumber(e: ChangeEvent) {\r\n this.setState({\r\n vatNumber: e.currentTarget.value,\r\n vatNumberError: vatNumberValidator(e.currentTarget.value),\r\n })\r\n }\r\n\r\n private onChangeEmployee(val: any) {\r\n if (val) {\r\n this.setState({\r\n employeeNumber: val.employeeNumber,\r\n employeeError: employeeValidator(val),\r\n })\r\n }\r\n }\r\n\r\n private onChangeCountry(countryId: any) {\r\n this.setState({\r\n countryId,\r\n countryError: countryValidator(countryId),\r\n cityId: 0,\r\n districtId: 0,\r\n })\r\n this.getCities(countryId.id)\r\n }\r\n\r\n private onChangeCity(cityId: any) {\r\n this.setState({ cityId, cityError: cityValidator(cityId), districtId: 0 })\r\n this.getDistricts(this.state.countryId.id, cityId.id)\r\n }\r\n\r\n private onChangeDistrict(districtId: any) {\r\n this.setState({ districtId, districtError: districtValidator(districtId) })\r\n }\r\n\r\n private onChangeAddress(e: ChangeEvent) {\r\n this.setState({\r\n address: e.currentTarget.value,\r\n addressError: addressValidator(e.currentTarget.value),\r\n })\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.currentTarget.checked })\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(COMPANY)\r\n }\r\n\r\n private async getCountries(countryId?: number) {\r\n const { data } = await locationService.getCountries()\r\n\r\n const state = {\r\n countryId:\r\n this.state.countryId === 0 ? countryId : this.state.countryId.id,\r\n countryList: data.countries,\r\n loading: false,\r\n }\r\n\r\n this.setState(state)\r\n\r\n if (this.props.match.params.companyId) await this.getCities(state.countryId)\r\n }\r\n\r\n private async getCities(countryId: number) {\r\n const { data } = await locationService.getCities(countryId)\r\n\r\n const state = {\r\n cityList: data.cities,\r\n cityId: this.state.cityId === 0 ? 0 : this.state.cityId.id,\r\n }\r\n\r\n this.setState(state)\r\n\r\n if (this.props.match.params.companyId)\r\n await this.getDistricts(countryId, state.cityId)\r\n }\r\n\r\n private async getDistricts(countryId: number, cityId: number) {\r\n const { data } = await locationService.getDistricts(countryId, cityId)\r\n\r\n const state = {\r\n districtList: data.districts,\r\n districtId: this.state.districtId === 0 ? 0 : this.state.districtId.id,\r\n }\r\n\r\n this.setState(state)\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state\r\n return this.state.errorMessage !== '' ? (\r\n \r\n ) : null\r\n }\r\n\r\n private formValidation() {\r\n const {\r\n companyName,\r\n vatNumber,\r\n address,\r\n employeeNumber,\r\n countryId,\r\n cityId,\r\n districtId,\r\n } = this.state\r\n\r\n if (\r\n companyNameValidator(companyName) !== '' ||\r\n vatNumberValidator(vatNumber) !== '' ||\r\n employeeValidator(employeeNumber) !== '' ||\r\n countryValidator(countryId) !== '' ||\r\n cityValidator(cityId) !== '' ||\r\n districtValidator(districtId) !== '' ||\r\n addressValidator(address) !== '' /*||\r\n partnerValidator(partnerId) !== \"\"*/\r\n ) {\r\n this.setState({\r\n companyNameError: companyNameValidator(companyName),\r\n vatNumberError: vatNumberValidator(vatNumber),\r\n employeeError: employeeValidator(employeeNumber),\r\n countryError: countryValidator(countryId),\r\n cityError: cityValidator(cityId),\r\n districtError: districtValidator(districtId),\r\n addressError: addressValidator(address) /*,\r\n partnerError: partnerValidator(partnerId)*/,\r\n })\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: '', errorCode: '', errorMessage: '' })\r\n\r\n const {\r\n companyName,\r\n vatNumber,\r\n address,\r\n employeeNumber,\r\n countryId,\r\n cityId,\r\n districtId,\r\n isActive,\r\n isEdit,\r\n } = this.state\r\n\r\n if (this.formValidation()) {\r\n const model = {\r\n companyName: sqlInjectValidator(companyName),\r\n vatNumber: sqlInjectValidator(vatNumber),\r\n employeeNumber: sqlInjectValidator(employeeNumber),\r\n countryId: sqlInjectValidator(String(countryId.id)),\r\n cityId: sqlInjectValidator(String(cityId.id)),\r\n districtId: sqlInjectValidator(String(districtId.id)),\r\n address: sqlInjectValidator(address),\r\n isActive,\r\n }\r\n\r\n if (isEdit) await this.editCompany(model)\r\n else await this.createCompany(model)\r\n }\r\n }\r\n\r\n private async createCompany(model: any) {\r\n const data = await companyService.create(model)\r\n this.setState({\r\n isSuccess: data.isSuccess ? 'success' : 'error',\r\n errorCode: data.errorCode,\r\n errorMessage: data.errorMessage,\r\n })\r\n }\r\n\r\n private async editCompany(model: any) {\r\n const data = await companyService.update({\r\n ...model,\r\n id: this.props.match.params.companyId,\r\n })\r\n this.setState({\r\n isSuccess: data.isSuccess ? 'success' : 'error',\r\n errorCode: data.errorCode,\r\n errorMessage: data.errorMessage,\r\n })\r\n }\r\n\r\n private renderCompanyName() {\r\n const { companyName, companyNameError } = this.state\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n private renderVatNumber() {\r\n const { vatNumber, vatNumberError } = this.state\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n private renderEmployeeLimit() {\r\n const { employeeNumber, employee, employeeError } = this.state\r\n return (\r\n \r\n \r\n {employeeError}\r\n \r\n )\r\n }\r\n\r\n private renderCountries() {\r\n const { countryId, countryList, countryError } = this.state\r\n\r\n return (\r\n \r\n \r\n {countryError}\r\n \r\n )\r\n }\r\n\r\n private renderCities() {\r\n const { cityId, cityList, cityError, countryId } = this.state\r\n\r\n return (\r\n \r\n \r\n {cityError}\r\n \r\n )\r\n }\r\n\r\n private renderDistricts() {\r\n const { districtId, districtList, districtError } = this.state\r\n\r\n return (\r\n \r\n \r\n {districtError}\r\n \r\n )\r\n }\r\n\r\n private renderAddress() {\r\n const { address, addressError } = this.state\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? 'Aktif' : 'Pasif'}\r\n />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state\r\n if (isSuccess === 'error') this.renderMessage()\r\n\r\n return (\r\n \r\n {isSuccess === 'success' ? (\r\n \r\n ) : null}\r\n \r\n {loading && }\r\n {!loading && errorCode === '' ? (\r\n <>\r\n \r\n {this.state.isEdit ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n Firma {this.state.isEdit ? 'Düzenle' : 'Ekle'}\r\n \r\n

    \r\n {this.state.isEdit\r\n ? 'Bu ekrandan firma bilgilerini düzenleyebilirsiniz.'\r\n : 'Bu ekrandan sınırsız sayıda firma ekleme özgürlüğüne sahipsiniz.'}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n \r\n Firma {this.state.isEdit ? 'Düzenleme' : 'Ekleme'} Formu\r\n \r\n {this.renderCompanyName()}\r\n {this.renderVatNumber()}\r\n {this.renderEmployeeLimit()}\r\n {this.renderCountries()}\r\n {this.renderCities()}\r\n {this.renderDistricts()}\r\n {this.renderAddress()}\r\n\r\n {this.renderStatus()}\r\n\r\n \r\n KAYDET\r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n this.getErrorMessage()\r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\nexport default withStyles(styles)(CompanyForm)\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport moment from 'moment'\r\nimport 'moment/locale/tr'\r\n\r\nimport { Snackbar } from '@material/react-snackbar'\r\nimport '@material/react-snackbar/dist/snackbar.css'\r\n\r\nimport { COMPANY } from '../../routes/paths'\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport {\r\n employeeValidator,\r\n hhsValidator,\r\n consentDateValidator,\r\n} from '../../utils/company.validators'\r\nimport { Divider, FormControlLabel, Tooltip } from '@material-ui/core'\r\n\r\nmoment.locale('tr')\r\n\r\nconst dummyAccountData = [\r\n { account: 'Vadesiz TL Hesap 1', iban: 'TR08 0006 0000 0000 0000 0000 11' },\r\n { account: 'Vadesiz TL Hesap 2', iban: 'TR08 0006 0000 0000 0000 0000 12' },\r\n]\r\n\r\nconst sharedKnowledges = [\r\n { name: 'Temel Hesap Bilgisi', info: 'Açıklama metni buraya yazılacak...' },\r\n { name: 'Detaylı Hesap Bilgisi', info: 'Açıklama metni buraya yazılacak...' },\r\n {\r\n name: 'Temel Hesap Hareketleri',\r\n info: 'Açıklama metni buraya yazılacak...',\r\n },\r\n {\r\n name: 'Detaylı Hesap Hareketleri',\r\n info: 'Açıklama metni buraya yazılacak...',\r\n },\r\n { name: 'Hesap Bakiyesi', info: 'Açıklama metni buraya yazılacak...' },\r\n]\r\n\r\n// maksimum date olarak 6 ay sonrasından iki gün öncesini seçiyoruz.\r\nconst d = new Date()\r\nd.setMonth(d.getMonth() + 6)\r\nd.setDate(d.getDate() - 2)\r\nconst maxDate = d.toLocaleDateString('en-CA')\r\n\r\nexport interface ICompanyFormState {\r\n loading: boolean\r\n isSuccess: string\r\n errorCode: string\r\n errorMessage: string\r\n process: 'initial' | 'granted'\r\n hhsList: any\r\n hhsName: string\r\n hhsError: string\r\n consentDate: any\r\n consentDateError: string\r\n}\r\n\r\nexport interface ICompanyFormProps {\r\n classes: any\r\n}\r\n\r\nexport default class ConsentAgreementForm extends Component {\r\n public readonly state: ICompanyFormState\r\n public readonly props: any\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n loading: false,\r\n isSuccess: '',\r\n errorCode: '',\r\n errorMessage: '',\r\n process: 'initial',\r\n hhsList: [\r\n {\r\n name: 'HHS1',\r\n },\r\n {\r\n name: 'HHS2',\r\n },\r\n {\r\n name: 'HHS3',\r\n },\r\n ],\r\n hhsName: '',\r\n hhsError: '',\r\n consentDate: maxDate,\r\n consentDateError: '',\r\n }\r\n\r\n this.cancel = this.cancel.bind(this)\r\n this.grantPermission = this.grantPermission.bind(this)\r\n this.onChangeHHS = this.onChangeHHS.bind(this)\r\n this.onChangeConsentDate = this.onChangeConsentDate.bind(this)\r\n }\r\n\r\n componentWillMount() {\r\n this.props.match.params.companyId\r\n }\r\n\r\n /** VIEW RENDER */\r\n async cancel() {\r\n this.props.history.push(COMPANY)\r\n }\r\n\r\n formValidation() {\r\n const { hhsName, consentDate } = this.state\r\n\r\n if (\r\n hhsValidator(hhsName) !== '' ||\r\n consentDateValidator(consentDate) !== ''\r\n ) {\r\n this.setState({\r\n hhsError: hhsValidator(hhsName),\r\n consentDateError: consentDateValidator(consentDate),\r\n })\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n async grantPermission() {\r\n // this.setState({ isSuccess: '', errorCode: '', errorMessage: '' })\r\n\r\n // Burada backend'e istek atılıp, success true gelirse popup açtırılacak.\r\n\r\n if (this.formValidation()) {\r\n console.log('granted permission')\r\n this.setState({ process: 'granted' })\r\n }\r\n }\r\n\r\n onChangeHHS(val: any) {\r\n if (val) {\r\n this.setState({\r\n hhsName: val.name,\r\n hhsError: employeeValidator(val.name),\r\n })\r\n }\r\n }\r\n\r\n renderHHS() {\r\n const { hhsList, hhsName, hhsError } = this.state\r\n return (\r\n \r\n \r\n {hhsError}\r\n \r\n )\r\n }\r\n\r\n onChangeConsentDate(val: any) {\r\n if (val) {\r\n this.setState({\r\n consentDate: val,\r\n })\r\n }\r\n }\r\n\r\n renderConsentDate() {\r\n const { consentDateError } = this.state\r\n\r\n return (\r\n \r\n this.onChangeConsentDate(e.currentTarget.value)}\r\n max={maxDate}\r\n />\r\n {consentDateError}\r\n \r\n )\r\n }\r\n\r\n renderMessage() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n renderSharedKnowledge() {\r\n return (\r\n
    \r\n {sharedKnowledges.map(({ name, info }) => {\r\n return (\r\n
    \r\n
    \r\n \r\n {name}\r\n
    \r\n {info}

    }\r\n placement='top'\r\n >\r\n \r\n \r\n
    \r\n )\r\n })}\r\n
    \r\n )\r\n }\r\n\r\n renderInitial() {\r\n return (\r\n <>\r\n HBHS\r\n
    \r\n

    \r\n Hesap bilgisi erişim izni vermek için hesabınızın bulunduğu HHS'yi\r\n seçiniz:\r\n

    \r\n {this.renderHHS()}\r\n

    \r\n Bu hizmeti sunabilmemiz için, seçtiğiniz HHS'deki hesaplara ait\r\n aşağıdaki bilgilere erişmemiz için izin vermeniz gerekmektedir.\r\n

    \r\n
    \r\n \r\n
    \r\n

    Aşağıdaki tarihe kadar Hesap Bilgi(leri)nize erişeceğiz:

    \r\n {this.renderConsentDate()}\r\n

    \r\n Tarih otomatik olarak 6 ay sonrasını belirlemektedir. Dilerseniz\r\n farklı bir tarih seçmek için tıklayınız.\r\n

    \r\n
    \r\n \r\n

    \r\n Paylaşmaya izin vereceğiniz bilgiler.\r\n

    \r\n {this.renderSharedKnowledge()}\r\n {/* Buttons */}\r\n \r\n \r\n DEVAM ET\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n renderGranted() {\r\n return (\r\n
    \r\n HBHS\r\n

    \r\n Teşekkürler
    \r\n HHS'de seçtiğiniz hesaplar için aşağıdaki bilgilere erişme iznini\r\n başarıyla aldık!\r\n

    \r\n \r\n
    \r\n

    HHS1

    \r\n {dummyAccountData.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n ))}\r\n
    \r\n \r\n
    \r\n \r\n Paylaşmaya izin verdiğiniz bilgiler:{' '}\r\n

    \r\n {this.renderSharedKnowledge()}\r\n
    \r\n \r\n
    \r\n

    \r\n Aşağıdaki tarihe kadar Hesap Bilgi(leri)nize erişeceğiz:\r\n

    \r\n

    \r\n {moment(this.state.consentDate).format('D MMMM YYYY dddd')}\r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const { loading, isSuccess, process } = this.state\r\n if (isSuccess === 'error') this.renderMessage()\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n Müşteri Rızası Tesisi\r\n

    \r\n Bu ekrandan bize vereceğiniz hesap bilgilerinizle ilgili\r\n ayrıntıları belirleyebilirsiniz.\r\n

    \r\n
    \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n
    e.preventDefault()}>\r\n {process === 'initial'\r\n ? this.renderInitial()\r\n : this.renderGranted()}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport moment from 'moment'\r\nimport 'moment/locale/tr'\r\n\r\nimport { Snackbar } from '@material/react-snackbar'\r\nimport '@material/react-snackbar/dist/snackbar.css'\r\n\r\nimport { COMPANY } from '../../routes/paths'\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport {\r\n employeeValidator,\r\n hhsValidator,\r\n consentDateValidator,\r\n} from '../../utils/company.validators'\r\nimport { Divider, FormControlLabel, Tooltip } from '@material-ui/core'\r\n\r\nmoment.locale('tr')\r\n\r\nconst dummyAccountData = [\r\n { account: 'Vadesiz TL Hesap 1', iban: 'TR08 0006 0000 0000 0000 0000 11' },\r\n { account: 'Vadesiz TL Hesap 2', iban: 'TR08 0006 0000 0000 0000 0000 12' },\r\n]\r\n\r\nconst sharedKnowledges = [\r\n { name: 'Temel Hesap Bilgisi', info: 'Açıklama metni buraya yazılacak...' },\r\n { name: 'Detaylı Hesap Bilgisi', info: 'Açıklama metni buraya yazılacak...' },\r\n {\r\n name: 'Temel Hesap Hareketleri',\r\n info: 'Açıklama metni buraya yazılacak...',\r\n },\r\n {\r\n name: 'Detaylı Hesap Hareketleri',\r\n info: 'Açıklama metni buraya yazılacak...',\r\n },\r\n { name: 'Hesap Bakiyesi', info: 'Açıklama metni buraya yazılacak...' },\r\n]\r\n\r\n// maksimum date olarak 6 ay sonrasından iki gün öncesini seçiyoruz.\r\nconst d = new Date()\r\nd.setMonth(d.getMonth() + 6)\r\nd.setDate(d.getDate() - 2)\r\nconst maxDate = d.toLocaleDateString('en-CA')\r\n\r\nexport interface ICompanyFormState {\r\n loading: boolean\r\n isSuccess: string\r\n errorCode: string\r\n errorMessage: string\r\n process: 'initial' | 'informing' | 'granted'\r\n hhsList: any\r\n hhsName: string\r\n hhsError: string\r\n consentDate: any\r\n consentDateError: string\r\n}\r\n\r\nexport interface ICompanyFormProps {\r\n classes: any\r\n}\r\n\r\nexport default class CompanyForm extends Component {\r\n public readonly state: ICompanyFormState\r\n public readonly props: any\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n loading: false,\r\n isSuccess: '',\r\n errorCode: '',\r\n errorMessage: '',\r\n process: 'initial',\r\n hhsList: [\r\n {\r\n name: 'HHS1',\r\n },\r\n {\r\n name: 'HHS2',\r\n },\r\n {\r\n name: 'HHS3',\r\n },\r\n ],\r\n hhsName: '',\r\n hhsError: '',\r\n consentDate: maxDate,\r\n consentDateError: '',\r\n }\r\n\r\n this.cancel = this.cancel.bind(this)\r\n this.grantPermission = this.grantPermission.bind(this)\r\n this.onChangeConsentDate = this.onChangeConsentDate.bind(this)\r\n }\r\n\r\n componentWillMount() {\r\n this.props.match.params.companyId\r\n }\r\n\r\n /** VIEW RENDER */\r\n async cancel() {\r\n this.props.history.push(COMPANY)\r\n }\r\n\r\n async grantPermission() {\r\n // this.setState({ isSuccess: '', errorCode: '', errorMessage: '' })\r\n\r\n // Burada backend'e istek atılıp, success true gelirse popup açtırılacak.\r\n\r\n this.setState({ process: 'granted' })\r\n }\r\n\r\n onChangeConsentDate(val: any) {\r\n if (val) {\r\n this.setState({\r\n consentDate: val,\r\n })\r\n }\r\n }\r\n\r\n renderConsentDate() {\r\n const { consentDateError } = this.state\r\n\r\n return (\r\n \r\n this.onChangeConsentDate(e.currentTarget.value)}\r\n max={maxDate}\r\n />\r\n {consentDateError}\r\n \r\n )\r\n }\r\n\r\n renderMessage() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n renderSharedKnowledge() {\r\n return (\r\n
    \r\n {sharedKnowledges.map(({ name, info }) => {\r\n return (\r\n
    \r\n
    \r\n \r\n {name}\r\n
    \r\n {info}

    }\r\n placement='top'\r\n >\r\n \r\n \r\n
    \r\n )\r\n })}\r\n
    \r\n )\r\n }\r\n\r\n renderInitial() {\r\n return (\r\n <>\r\n HBHS 1\r\n

    \r\n Hesap bilginize erişim izniniz sona ermiştir. Bu nedenle hesap\r\n bilgilerinize ulaşamıyoruz!\r\n

    \r\n \r\n
    \r\n

    HHS1 A.Ş.

    \r\n
    \r\n {dummyAccountData.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n ))}\r\n
    \r\n

    \r\n Daha önce izin verdiğiniz bilgilere erişmeye devam etmemiz içn hesap\r\n hizmeti sağlayıcınıza yönlendirilecek ve yeniden erişim izni\r\n vermeniz sağlanacaktır.\r\n

    \r\n
    \r\n {/* Buttons */}\r\n \r\n \r\n this.setState({\r\n process: 'informing',\r\n })\r\n }\r\n >\r\n DEVAM ET\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n renderInforming() {\r\n return (\r\n
    \r\n HBHS\r\n

    \r\n Aşağıdaki hesap bilgilerine erişim izni yeniden alınacaktır.\r\n

    \r\n \r\n
    \r\n

    HHS1 A.Ş.

    \r\n {dummyAccountData.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n ))}\r\n
    \r\n \r\n
    \r\n \r\n Paylaşmaya izin verdiğiniz bilgiler:\r\n

    \r\n {this.renderSharedKnowledge()}\r\n
    \r\n \r\n
    \r\n

    \r\n Aşağıdaki tarihe kadar Hesap Bilgi(leri)nize erişilecektir:\r\n

    \r\n {this.renderConsentDate()}\r\n

    \r\n Dilerseniz farklı bir tarih seçebilirsiniz.\r\n

    \r\n
    \r\n \r\n \r\n İZİN VER\r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n renderGranted() {\r\n return (\r\n
    \r\n HBHS\r\n

    \r\n Teşekkürler
    \r\n HHS'de seçtiğiniz hesaplar için aşağıdaki bilgilere erişme iznini\r\n başarıyla aldık!\r\n

    \r\n \r\n
    \r\n

    HHS1

    \r\n {dummyAccountData.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n ))}\r\n
    \r\n \r\n
    \r\n \r\n Paylaşmaya izin verdiğiniz bilgiler:\r\n

    \r\n {this.renderSharedKnowledge()}\r\n
    \r\n \r\n
    \r\n

    \r\n Aşağıdaki tarihe kadar Hesap Bilgi(leri)nize erişeceğiz:\r\n

    \r\n

    \r\n {moment(this.state.consentDate).format('D MMMM YYYY dddd')}\r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const { loading, isSuccess, process } = this.state\r\n if (isSuccess === 'error') this.renderMessage()\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n Biten / İptal Edilen Rızanın Yeniden Alınması\r\n \r\n

    \r\n Bu ekrandan süresi dolmuş ya da daha önce iptal edilmiş olan hesap\r\n bilgilerine erişimi tekrardan temin edebilirsiniz.\r\n

    \r\n
    \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n
    e.preventDefault()}>\r\n {process === 'initial'\r\n ? this.renderInitial()\r\n : process === 'informing'\r\n ? this.renderInforming()\r\n : this.renderGranted()}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport moment from 'moment'\r\nimport 'moment/locale/tr'\r\n\r\nimport { Snackbar } from '@material/react-snackbar'\r\nimport '@material/react-snackbar/dist/snackbar.css'\r\n\r\nimport { COMPANY } from '../../routes/paths'\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport {\r\n employeeValidator,\r\n hhsValidator,\r\n consentDateValidator,\r\n} from '../../utils/company.validators'\r\nimport { Divider, FormControlLabel, Tooltip } from '@material-ui/core'\r\n\r\nmoment.locale('tr')\r\n\r\nconst dummyAccountData = {\r\n HHS1: {\r\n accountList: [\r\n {\r\n account: 'Vadesiz TL Hesap 1',\r\n iban: 'TR08 0006 0000 0000 0000 0000 11',\r\n },\r\n {\r\n account: 'Vadesiz TL Hesap 2',\r\n iban: 'TR08 0006 0000 0000 0000 0000 12',\r\n },\r\n ],\r\n consentStartDate: '2023-01-21',\r\n consentEndDate: '2023-06-11',\r\n status: 'Aktif',\r\n },\r\n HHS2: {\r\n accountList: [\r\n {\r\n account: 'Vadesiz TL Hesap 2',\r\n iban: 'TR08 0006 0000 0000 0000 0000 21',\r\n },\r\n {\r\n account: 'Vadesiz TL Hesap 3',\r\n iban: 'TR08 0006 0000 0000 0000 0000 22',\r\n },\r\n ],\r\n consentStartDate: '2023-02-20',\r\n consentEndDate: '2023-08-10',\r\n status: 'Aktif',\r\n },\r\n HHS3: {\r\n accountList: [\r\n {\r\n account: 'Vadesiz TL Hesap 1',\r\n iban: 'TR08 0006 0000 0000 0000 0000 41',\r\n },\r\n {\r\n account: 'Vadesiz TL Hesap 3',\r\n iban: 'TR08 0006 0000 0000 0000 0000 52',\r\n },\r\n ],\r\n consentStartDate: '2023-04-10',\r\n consentEndDate: '2023-08-21',\r\n status: 'Aktif',\r\n },\r\n}\r\n\r\nconst sharedKnowledges = [\r\n { name: 'Temel Hesap Bilgisi', info: 'Açıklama metni buraya yazılacak...' },\r\n { name: 'Detaylı Hesap Bilgisi', info: 'Açıklama metni buraya yazılacak...' },\r\n {\r\n name: 'Temel Hesap Hareketleri',\r\n info: 'Açıklama metni buraya yazılacak...',\r\n },\r\n {\r\n name: 'Detaylı Hesap Hareketleri',\r\n info: 'Açıklama metni buraya yazılacak...',\r\n },\r\n { name: 'Hesap Bakiyesi', info: 'Açıklama metni buraya yazılacak...' },\r\n]\r\n\r\n// maksimum date olarak 6 ay sonrasından iki gün öncesini seçiyoruz.\r\nconst d = new Date()\r\nd.setMonth(d.getMonth() + 6)\r\nd.setDate(d.getDate() - 2)\r\nconst maxDate = d.toLocaleDateString('en-CA')\r\n\r\ntype HHSNames = 'HHS1' | 'HHS2' | 'HHS3'\r\n\r\nexport interface ICompanyFormState {\r\n loading: boolean\r\n isSuccess: string\r\n errorCode: string\r\n errorMessage: string\r\n process: 'initial' | 'informing' | 'cancel' | 'canceled'\r\n hhsList: any\r\n hhsName: 'HHS1' | 'HHS2' | 'HHS3' | ''\r\n hhsError: string\r\n}\r\n\r\nexport interface ICompanyFormProps {\r\n classes: any\r\n}\r\n\r\nexport default class CompanyForm extends Component {\r\n public readonly state: ICompanyFormState\r\n public readonly props: any\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n loading: false,\r\n isSuccess: '',\r\n errorCode: '',\r\n errorMessage: '',\r\n process: 'initial',\r\n hhsList: [\r\n {\r\n name: 'HHS1',\r\n },\r\n {\r\n name: 'HHS2',\r\n },\r\n {\r\n name: 'HHS3',\r\n },\r\n ],\r\n hhsName: '',\r\n hhsError: '',\r\n }\r\n\r\n this.cancel = this.cancel.bind(this)\r\n this.grantPermission = this.grantPermission.bind(this)\r\n this.onChangeHHS = this.onChangeHHS.bind(this)\r\n }\r\n\r\n componentWillMount() {\r\n this.props.match.params.companyId\r\n }\r\n\r\n /** VIEW RENDER */\r\n async cancel() {\r\n this.props.history.push(COMPANY)\r\n }\r\n\r\n formValidation() {\r\n const { hhsName } = this.state\r\n\r\n if (hhsValidator(hhsName) !== '') {\r\n this.setState({\r\n hhsError: hhsValidator(hhsName),\r\n })\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n async grantPermission() {\r\n // this.setState({ isSuccess: '', errorCode: '', errorMessage: '' })\r\n\r\n // Burada backend'e istek atılıp, success true gelirse popup açtırılacak.\r\n\r\n if (this.formValidation()) {\r\n console.log('granted permission')\r\n this.setState({ process: 'granted' })\r\n }\r\n }\r\n\r\n renderMessage() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n // Burada iptal edilecek izin isteği backend'e gönderilecek.\r\n cancelPermission() {\r\n this.setState({\r\n process: 'cancelled',\r\n })\r\n }\r\n\r\n onChangeHHS(val: any) {\r\n if (val) {\r\n this.setState({\r\n hhsName: val.name,\r\n hhsError: employeeValidator(val.name),\r\n })\r\n }\r\n }\r\n\r\n renderHHS() {\r\n const { hhsList, hhsName, hhsError } = this.state\r\n return (\r\n \r\n \r\n {hhsError}\r\n \r\n )\r\n }\r\n\r\n renderSharedKnowledge() {\r\n return (\r\n
    \r\n {sharedKnowledges.map(({ name, info }) => {\r\n return (\r\n
    \r\n
    \r\n \r\n {name}\r\n
    \r\n {info}

    }\r\n placement='top'\r\n >\r\n \r\n \r\n
    \r\n )\r\n })}\r\n
    \r\n )\r\n }\r\n\r\n renderInitial() {\r\n const { hhsName } = this.state\r\n\r\n const renderContent = () => {\r\n if (hhsName) {\r\n const { accountList, consentStartDate, consentEndDate, status } =\r\n dummyAccountData[hhsName]\r\n\r\n return (\r\n <>\r\n

    \r\n Sectiğiniz HHS'de rıza verilen hesaplar aşağıda listelenmiştir:\r\n

    \r\n \r\n
    \r\n

    \r\n {hhsName} A.Ş.\r\n

    \r\n {accountList.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n // Bu izin başlangıç ve bitiş tarihleri seçilen HHS'ye göre değişecek.\r\n ))}\r\n
    \r\n İzin tarihi: {moment(consentStartDate).format('DD/MM/YYYY')}\r\n
    \r\n
    \r\n İzin bitiş tarihi: {moment(consentEndDate).format('DD/MM/YYYY')}\r\n
    \r\n
    \r\n Durum: {status}\r\n
    \r\n
    \r\n \r\n )\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n HBHS 1\r\n

    \r\n Hesap bilgisi erişim izni verdiğiniz hesapların HHS'sini listeden\r\n seçebilirsiniz:\r\n

    \r\n {this.renderHHS()}\r\n {renderContent()}\r\n {/* Buttons */}\r\n \r\n {\r\n if (this.formValidation()) {\r\n this.setState({ process: 'informing' })\r\n }\r\n }}\r\n >\r\n İZİN YÖNET\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n renderInforming() {\r\n const hhsName = this.state.hhsName as HHSNames\r\n\r\n const { accountList } = dummyAccountData[hhsName]\r\n\r\n return (\r\n
    \r\n HBHS 1\r\n

    \r\n Sizlere hesap bilgisi hizmeti sunabilmemiz için seçtiğiniz HHS'deki\r\n hesaplara ait aşağıdaki bilgilere erişmemiz gerektiğini hatırlatmak\r\n isteriz.\r\n

    \r\n
    \r\n

    {hhsName} A.Ş.

    \r\n {accountList.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n ))}\r\n
    \r\n \r\n
    \r\n \r\n Seçtiğiniz HHS'ye ait bilgi erişimi iptal edeceğimiz izinler:\r\n

    \r\n {this.renderSharedKnowledge()}\r\n
    \r\n \r\n

    \r\n Hesap Bilgisi Erişim izninizi iptal etmek istediğinize emin misiniz?\r\n

    \r\n

    \r\n \r\n \r\n this.setState({\r\n process: 'cancel',\r\n })\r\n }\r\n >\r\n İPTAL ET\r\n \r\n \r\n this.setState({\r\n process: 'initial',\r\n hhsName: '',\r\n })\r\n }\r\n >\r\n VAZGEÇ\r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n renderCancel() {\r\n const hhsName = this.state.hhsName as HHSNames\r\n\r\n const { accountList } = dummyAccountData[hhsName]\r\n\r\n return (\r\n
    \r\n HBHS 1\r\n

    \r\n İzniniz iptal edilecektir!\r\n

    \r\n \r\n
    \r\n

    {hhsName} A.Ş.

    \r\n {accountList.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n ))}\r\n
    \r\n \r\n

    \r\n Hesap Bilgisi Erişim izninizi iptal etmek istediğinize emin misiniz?\r\n

    \r\n

    \r\n \r\n this.cancelPermission()}\r\n >\r\n İPTAL ET\r\n \r\n \r\n this.setState({\r\n process: 'informing',\r\n })\r\n }\r\n >\r\n GERİ DÖN\r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n renderCanceled() {\r\n const hhsName = this.state.hhsName as HHSNames\r\n\r\n const { accountList } = dummyAccountData[hhsName]\r\n\r\n return (\r\n
    \r\n HBHS 1\r\n

    \r\n İzniniz iptal edildi!\r\n

    \r\n

    \r\n Daha önce izin verdiğiniz aşağıdaki hesap bilgilerine erişim izniniz\r\n iptal edildi.\r\n

    \r\n \r\n
    \r\n

    {hhsName} A.Ş.

    \r\n {accountList.map(({ account, iban }, i) => (\r\n
    \r\n

    \r\n Hesap: {account}\r\n

    \r\n

    {iban}

    \r\n
    \r\n ))}\r\n
    \r\n \r\n

    \r\n Diğer hesaplarla ilgili erişim izinlerinizi yönetmek için tıklayınız.\r\n

    \r\n

    \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const { loading, isSuccess, process } = this.state\r\n if (isSuccess === 'error') this.renderMessage()\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n HBHS Üzerinden Rıza İptal\r\n

    \r\n Bu ekrandan daha önce bize temin etmiş olduğunuz hesap bilgilerin\r\n iptalini gerçekleştirebilirsiniz.\r\n

    \r\n
    \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n
    e.preventDefault()}>\r\n {process === 'initial'\r\n ? this.renderInitial()\r\n : process === 'informing'\r\n ? this.renderInforming()\r\n : process === 'cancel'\r\n ? this.renderCancel()\r\n : this.renderCanceled()}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from \"@material-ui/core/Typography\"\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport InputLabel from \"@material-ui/core/InputLabel\"\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport moment from 'moment'\r\nimport { DateRangePicker } from 'react-dates'\r\nimport 'react-dates/initialize'\r\nimport 'react-dates/lib/css/_datepicker.css'\r\n\r\nimport { cookieService, resourceService, accountStatementsService, bankAccountService, userService } from '../../service'\r\n\r\ninterface IAccountStatementsState {\r\n list: [],\r\n account: any,\r\n accountList: [],\r\n loading: boolean,\r\n totalCount: number,\r\n searchTotalCount: number,\r\n bankId: number,\r\n currencyId: number,\r\n resources: any,\r\n\r\n //DatePicker\r\n startDate: any,\r\n endDate: any,\r\n focusedInput: any,\r\n\r\n //Paging\r\n sortType: string,\r\n searchText: string,\r\n clientType: string,\r\n iban: string,\r\n currentPage: number,\r\n selectedRow: number,\r\n orderBy: number,\r\n\r\n //Permission\r\n isExcelAndPdfExport: boolean,\r\n}\r\n\r\n\r\nexport default class AccountStatements extends Component {\r\n public readonly state: IAccountStatementsState;\r\n public props: any;\r\n\r\n private timeout = 3000;\r\n private interval: any;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n list: [],\r\n account: [],\r\n accountList: [],\r\n loading: false,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n bankId: 0,\r\n currencyId: 0,\r\n resources: [],\r\n\r\n //DatePicker\r\n //startDate: moment().startOf('month'),\r\n //endDate: moment().endOf('month'),\r\n startDate: moment().startOf('day'),\r\n //endDate: moment().endOf('day'),\r\n endDate: moment().add(1,'day'),\r\n \r\n focusedInput: null,\r\n\r\n //Paging\r\n selectedRow: 25,\r\n currentPage: 0,\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n clientType: \"WEB\",\r\n iban: \"\",\r\n orderBy: 0,\r\n\r\n //Permission\r\n isExcelAndPdfExport: false,\r\n }\r\n\r\n this.onChangeAccount = this.onChangeAccount.bind(this);\r\n this.onDatesChange = this.onDatesChange.bind(this);\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.updateList = this.updateList.bind(this);\r\n this.getData = this.getData.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.init();\r\n }\r\n\r\n private onChangeAccount(account: any) {\r\n this.setState({ account });\r\n }\r\n\r\n private async init() {\r\n this.setState({ loading: true });\r\n\r\n this.getPermissions();\r\n\r\n await Promise.all([\r\n this.getData(),\r\n this.getAccounts()\r\n ]);\r\n\r\n if (this.props.bankId) {\r\n this.setState({ bankId: this.props.bankId, currencyId: this.props.currencyId });\r\n this.getData(this.state.startDate, this.state.endDate, this.props.currencyId, this.props.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n if (this.props.accountId) {\r\n this.setState({ loading: true, account: this.state.accountList.find((account: any) => account.id === Number(this.props.accountId)) })\r\n\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.props.accountId, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n }\r\n\r\n private async getPermissions() {\r\n const { data } = await userService.permission();\r\n this.setState({ isExcelAndPdfExport: data.isExcelAndPdfExport });\r\n\r\n this.getResources();\r\n }\r\n\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getData(startDate?: any, endDate?: any, currencyId?: number, bankId?: number, id?: number, searchText?: string, clientType?: string, iban?: string, rowsPerPage?: number, pageNumber?: number, orderBy?: number) {\r\n const unixStartDate = startDate ? startDate.format('MM.DD.YYYY') : this.state.startDate.format('MM.DD.YYYY');\r\n const unixEndDate = endDate ? endDate.format('MM.DD.YYYY') : this.state.endDate.format('MM.DD.YYYY');\r\n const accountId = Number(id == undefined ? 0 : id);\r\n const search = String(searchText ? searchText : this.state.searchText);\r\n const client = String(clientType ? clientType : this.state.clientType);\r\n const IBAN = String(iban ? iban : this.state.iban);\r\n const selectedRow = Number(rowsPerPage ? rowsPerPage : this.state.selectedRow);\r\n const currentPage = Number(pageNumber ? pageNumber : this.state.currentPage);\r\n const order = Number(orderBy ? orderBy : this.state.orderBy);\r\n const { data } = await accountStatementsService.get(unixStartDate, unixEndDate, currencyId, bankId, accountId, search, client, IBAN, selectedRow, currentPage, order);\r\n this.setState({ list: data.accountStatements, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount });\r\n }\r\n\r\n private updateList() {\r\n this.setState({ loading: true, selectedRow: 25, currentPage: 0, orderBy: 0, totalCount: 0 });\r\n const accountId = this.state.account ? this.state.account.id : 0;\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, accountId, this.state.searchText, this.state.clientType,this.state.iban, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private async getAccounts() {\r\n const { data } = await bankAccountService.get(\"\", \"WEB\", 0, 999, 0, true, false);\r\n this.setState({ accountList: data.bankAccounts, })\r\n }\r\n\r\n private async getExportExcel() {\r\n const accountId = this.state.account.id | 0;\r\n return await accountStatementsService.download(this.state.startDate.format('MM.DD.YYYY'), this.state.endDate.format('MM.DD.YYYY'), this.state.currencyId, this.state.bankId, accountId, this.state.searchText, this.state.iban);\r\n }\r\n\r\n private renderAccounts() {\r\n const { accountList, account } = this.state;\r\n\r\n return (\r\n \r\n Hesap\r\n \r\n \r\n );\r\n }\r\n\r\n private renderDatePickers() {\r\n const { startDate, endDate } = this.state;\r\n return (\r\n this.setState({ focusedInput })}\r\n startDatePlaceholderText=\"DD\"\r\n endDatePlaceholderText=\"DD\"\r\n isOutsideRange={() => false}\r\n displayFormat=\"DD.MM.YYYY\"\r\n monthFormat=\"MMMM YYYY\"\r\n />\r\n );\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n EYLEMLER \r\n
      \r\n
      HIZLI EYLEMLER
      \r\n
    • this.getExportExcel()}> Excel'e aktar
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private onDatesChange({ startDate, endDate }: any) {\r\n this.setState({ startDate, endDate });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, page, this.state.orderBy);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, this.state.currentPage, orderBy);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, value, this.state.iban, this.state.clientType, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderAmountConvert(amount: string) {\r\n if (amount === null) return;\r\n\r\n if (amount == \"0\") {\r\n return \"0,00\";\r\n }\r\n\r\n let p = \"\";\r\n let isaretli = \"\"\r\n\r\n let sayi = amount.split(\".\");\r\n let net = sayi[0];\r\n let ondalik = sayi[1];\r\n\r\n net.indexOf(\"-\") != -1 ? isaretli = \"-\" : null\r\n net = net.replace(\"-\", \"\");\r\n\r\n ondalik == undefined ? ondalik = \"00\" : null\r\n ondalik.length == 1 ? ondalik += \"0\" : null\r\n\r\n let tersSayi = ((net.split(\"\")).reverse()).join(\"\");\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += \".\"\r\n p += tersSayi.substr(i, 1);\r\n }\r\n\r\n\r\n return isaretli + (((p.split(\"\")).reverse()).join(\"\")) + \",\" + ondalik;\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Tarih\r\n \r\n \r\n this.handleSort(orderBy === 20 ? 21 : 20)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Hesap Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Açıklama\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)} style={{ textAlign: 'right' }}>\r\n \r\n Tutar\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)} style={{ textAlign: 'right' }}>\r\n \r\n Döviz\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)} style={{ textAlign: 'right' }}>\r\n \r\n Bakiye\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Gönderen Adı\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Gönderen VKN/TCKN\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Gönderen IBAN\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Banka\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)} className=\"statusArea\">\r\n \r\n Tip\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderTable() {\r\n const { list, loading, isExcelAndPdfExport, currentPage, searchText, totalCount, searchTotalCount, selectedRow, resources } = this.state;\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n {this.renderAccounts()}\r\n {this.renderDatePickers()}\r\n \r\n \r\n {!isExcelAndPdfExport ? null :\r\n
    \r\n {this.renderDownloadButton()}\r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n \r\n \r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((company: any) => (\r\n \r\n \r\n {company.transactionDate}\r\n \r\n {company.companyName}\r\n {company.bankAccountName}\r\n {company.description}\r\n {this.renderAmountConvert(company.amount)}\r\n {company.currencyCode}\r\n {company.balance}\r\n {company.senderName}\r\n {company.debtorVKN} \r\n {company.senderIBAN} \r\n {company.bankName} \r\n \r\n {company.amount < 0 ? \"A\" : \"B\"}\r\n \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.loading ? : this.renderTable()}\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Wrapper from '../layout/Wrapper';\r\nimport AccountStatementList from './AccountStatementList';\r\n\r\nexport default class AccountStatement extends Component {\r\n public props: any;\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • Hesap Hareketleri
    • \r\n
    • Finans
    • \r\n
    • Hesap Hareketleri
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {this.props.match.params.bankId ? : }\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Grid from \"@material-ui/core/Grid\"\r\nimport Icon from \"@material-ui/core/Icon\"\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableFooter from \"@material-ui/core/TableFooter\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport FormControl from \"@material-ui/core/FormControl\"\r\nimport InputLabel from \"@material-ui/core/InputLabel\"\r\nimport Button from \"@material-ui/core/Button\"\r\nimport TextField from \"@material-ui/core/TextField\"\r\nimport TablePagination from '@material-ui/core/TablePagination';\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\r\n\r\nimport { cookieService, resourceService, posStatementsService, bankAccountService, userService } from '../../service';\r\nimport { POSSTATEMENT, VALORDATE } from '../../routes/paths'\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport moment from 'moment';\r\nimport { DateRangePicker } from 'react-dates';\r\nimport 'react-dates/initialize';\r\nimport 'react-dates/lib/css/_datepicker.css';\r\n\r\ninterface IPosStatementsState {\r\n list: [],\r\n loading: boolean;\r\n focusedInput: any;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n currentPage: number;\r\n sortType: string;\r\n searchText: string;\r\n clientType: string,\r\n selectedRow: number;\r\n orderBy: number;\r\n accountList: [];\r\n account: any;\r\n startDate: any;\r\n endDate: any;\r\n isExcelAndPdfExport: boolean;\r\n resources: any;\r\n}\r\n\r\n\r\n\r\nconst valorDateView = (props: any) => ;\r\n\r\n\r\nexport default class PosStatements extends Component {\r\n public readonly state: IPosStatementsState;\r\n public props: any;\r\n\r\n private timeout = 3000;\r\n private interval: any;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n account: {},\r\n accountList: [],\r\n list: [],\r\n //startDate: moment().startOf('month'),\r\n //endDate: moment().endOf('month'), \r\n startDate: moment().add(-7,'day'),\r\n endDate: moment().add(1,'day'),\r\n loading: false,\r\n focusedInput: null,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n currentPage: 0,\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n clientType: \"WEB\",\r\n selectedRow: 25,\r\n orderBy: 0,\r\n isExcelAndPdfExport: false,\r\n resources: []\r\n }\r\n\r\n this.getData = this.getData.bind(this);\r\n this.onChangeAccount = this.onChangeAccount.bind(this);\r\n this.onDatesChange = this.onDatesChange.bind(this);\r\n this.updateList = this.updateList.bind(this);\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.init();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.interval);\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissions();\r\n }\r\n\r\n private async getPermissions() {\r\n const { data } = await userService.permission();\r\n this.setState({ isExcelAndPdfExport: data.isExcelAndPdfExport });\r\n\r\n this.getResources();\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private onChangeAccount(account: any) {\r\n this.setState({ account });\r\n //this.getData(undefined, undefined, account.id)\r\n }\r\n\r\n private updateList() {\r\n this.setState({ loading: true, selectedRow: 25, currentPage: 0, orderBy: 0, totalCount: 0 });\r\n const accountId = this.state.account ? this.state.account.id : 0;\r\n this.getData(undefined, undefined, accountId, this.state.searchText, this.state.clientType, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private async init() {\r\n this.setState({ loading: true });\r\n\r\n await Promise.all([this.getData(),\r\n this.getAccounts()])\r\n\r\n if (this.props.accountId) {\r\n this.setState({ account: this.state.accountList.find((account: any) => account.id === Number(this.props.accountId)) })\r\n }\r\n\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.account.id, this.state.searchText, this.state.clientType, this.state.selectedRow, page, this.state.orderBy);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.account.id, this.state.searchText, this.state.clientType, this.state.selectedRow, this.state.currentPage, orderBy);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.account.id, value, this.state.clientType, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.account.id, this.state.searchText,this.state.clientType, selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private async getData(startDate?: number, endDate?: number, id?: number, searchText?: string, clientType?: string, rowsPerPage?: number, pageNumber?: number, orderBy?: number) {\r\n const unixStartDate = startDate ? startDate : this.state.startDate.format('MM.DD.YYYY');\r\n const unixEndDate = endDate ? endDate : this.state.endDate.format('MM.DD.YYYY');\r\n const accountId = Number(id == undefined ? 0 : id);\r\n const search = String(searchText ? searchText : this.state.searchText);\r\n const client = String(clientType ? clientType : this.state.clientType);\r\n const selectedRow = Number(rowsPerPage ? rowsPerPage : this.state.selectedRow);\r\n const currentPage = Number(pageNumber ? pageNumber : this.state.currentPage);\r\n const order = Number(orderBy ? orderBy : this.state.orderBy);\r\n const { data } = await posStatementsService.get(unixStartDate, unixEndDate, accountId, search, client, selectedRow, currentPage, order);\r\n this.setState({ list: data.posStatements, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getAccounts() {\r\n const { data } = await bankAccountService.get(\"\", \"WEB\", 0, 999, 0, true, true);\r\n this.setState({ accountList: data.bankAccounts, })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await posStatementsService.download(this.state.startDate, this.state.endDate, this.state.account.id, this.state.searchText, this.state.clientType);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderAccounts() {\r\n const { accountList, account } = this.state;\r\n\r\n return (\r\n \r\n Hesap\r\n \r\n \r\n );\r\n }\r\n\r\n private onDatesChange({ startDate, endDate }: any) {\r\n this.setState({ startDate, endDate });\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n İşlem Tarihi\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Valor Tarihi\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n İşlem\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)} style={{ textAlign: 'right' }}>\r\n \r\n Net Tutar\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} style={{ textAlign: 'right' }}>\r\n \r\n Brüt Tutar\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)} style={{ textAlign: 'right' }}>\r\n \r\n Komisyon\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n İşyeri\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Şube\r\n \r\n \r\n this.handleSort(orderBy === 17 ? 18 : 17)}>\r\n \r\n Hesap\r\n \r\n \r\n this.handleSort(orderBy === 19 ? 20 : 19)}>\r\n \r\n Kart Numarası\r\n \r\n \r\n this.handleSort(orderBy === 21 ? 22 : 21)}>\r\n \r\n Terminal\r\n \r\n \r\n this.handleSort(orderBy === 23 ? 24 : 23)}>\r\n \r\n BatchN\r\n \r\n \r\n this.handleSort(orderBy === 25 ? 26 : 25)}>\r\n \r\n Onay No\r\n \r\n \r\n this.handleSort(orderBy === 27 ? 28 : 27)}>\r\n \r\n Ürün Sınıfı\r\n \r\n \r\n this.handleSort(orderBy === 29 ? 30 : 29)}>\r\n \r\n Kur\r\n \r\n \r\n this.handleSort(orderBy === 31 ? 32 : 31)} style={{ textAlign: 'right' }}>\r\n \r\n Kur Bilgisi\r\n \r\n \r\n this.handleSort(orderBy === 33 ? 34 : 33)} style={{ textAlign: 'right' }}>\r\n \r\n SM Kur Bilgisi\r\n \r\n \r\n this.handleSort(orderBy === 35 ? 36 : 35)}>\r\n \r\n İşyeri Adı\r\n \r\n \r\n this.handleSort(orderBy === 37 ? 38 : 37)}>\r\n \r\n Kayıt Tarihi\r\n \r\n \r\n this.handleSort(orderBy === 39 ? 40 : 39)}>\r\n \r\n Kayıt Saati\r\n \r\n \r\n this.handleSort(orderBy === 41 ? 42 : 41)}>\r\n \r\n Firma\r\n \r\n \r\n this.handleSort(orderBy === 43 ? 44 : 43)}>\r\n \r\n IBAN\r\n \r\n \r\n this.handleSort(orderBy === 45 ? 46 : 45)}>\r\n \r\n RetRefNo\r\n \r\n \r\n this.handleSort(orderBy === 47 ? 48 : 47)}>\r\n \r\n Sipariş No\r\n \r\n \r\n this.handleSort(orderBy === 49 ? 50 : 49)}>\r\n \r\n Ödül Katkısı\r\n \r\n \r\n this.handleSort(orderBy === 53 ? 54 : 53)}>\r\n \r\n Ekstra Ödül Katkısı\r\n \r\n \r\n this.handleSort(orderBy === 55 ? 56 : 55)}>\r\n \r\n SM Ödül Katkısı\r\n \r\n \r\n this.handleSort(orderBy === 57 ? 58 : 57)}>\r\n \r\n Servis Komisyonu\r\n \r\n \r\n this.handleSort(orderBy === 59 ? 60 : 59)}>\r\n \r\n İşyeri Sosyal Katkısı\r\n \r\n \r\n this.handleSort(orderBy === 61 ? 62 : 61)}>\r\n \r\n Program Ücreti\r\n \r\n \r\n this.handleSort(orderBy === 63 ? 64 : 63)}>\r\n \r\n Erken Ödeme Tutarı\r\n \r\n \r\n this.handleSort(orderBy === 65 ? 66 : 65)}>\r\n \r\n Erken Bloke Komisyonu\r\n \r\n \r\n this.handleSort(orderBy === 67 ? 68 : 67)}>\r\n \r\n İskonto Tutarı\r\n \r\n \r\n this.handleSort(orderBy === 69 ? 70 : 69)}>\r\n \r\n Taksit Sayısı\r\n \r\n \r\n this.handleSort(orderBy === 71 ? 72 : 71)}>\r\n \r\n Taksit Sırası\r\n \r\n \r\n \r\n this.handleSort(orderBy === 73 ? 74 : 73)}>\r\n \r\n Banka Adı\r\n \r\n \r\n this.handleSort(orderBy === 75 ? 76 : 75)}>\r\n \r\n Hesap Adı\r\n \r\n \r\n this.handleSort(orderBy === 77 ? 78 : 77)}>\r\n \r\n Firma Adı\r\n \r\n \r\n\r\n \r\n );\r\n }\r\n\r\n private renderTable() {\r\n const { list, isExcelAndPdfExport, sortType, startDate, endDate, currentPage, searchText, totalCount, searchTotalCount, selectedRow, resources, loading } = this.state;\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n {this.renderAccounts()}\r\n this.setState({ focusedInput })}\r\n startDatePlaceholderText=\"DD\"\r\n endDatePlaceholderText=\"DD\"\r\n isOutsideRange={() => false}\r\n displayFormat=\"DD.MM.YYYY\"\r\n monthFormat=\"MMMM YYYY\"\r\n\r\n />\r\n \r\n \r\n
    \r\n {!isExcelAndPdfExport ? null :\r\n \r\n EYLEMLER \r\n
      \r\n
      HIZLI EYLEMLER
      \r\n
    • this.getExportExcel()}> Excel'e aktar
    • \r\n
    \r\n \r\n }\r\n \r\n {resources.MenuLeftmenu1_5_2}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n style={{ marginTop: 20 }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((company: any) => (\r\n \r\n {company.islemTarihi.substring(0, 10)}\r\n {company.valorTarihi.substring(0, 10)}\r\n {company.islem}\r\n {company.netTutar}\r\n {company.brutTutar}\r\n {company.komisyon}\r\n {company.isyeri}\r\n {company.sube}\r\n {company.hesap}\r\n {company.kartNumarasi}\r\n {company.terminal}\r\n {company.batchn}\r\n {company.onayNo}\r\n {company.urunSinifi}\r\n {company.kur}\r\n {company.kurBilgisi}\r\n {company.smKurBilgisi}\r\n {company.isYeriAdi}\r\n {company.kayitTarihi.substring(0, 10)}\r\n {company.kayitSaati}\r\n {company.firma}\r\n {company.iban}\r\n {company.retRefNo}\r\n {company.siparisNo} \r\n {company.odulKatkisi}\r\n {company.ekstraOdulKatki}\r\n {company.smOdulKatki}\r\n {company.servisKomisyonu}\r\n {company.isyeriSosyalKatki}\r\n {company.programUcreti}\r\n {company.erkenOdemeTutari}\r\n {company.erkenBlokeKomisyonu}\r\n {company.iskontoTutari}\r\n {company.taksitSayisi}\r\n {company.taksitSirasi}\r\n {company.bankName}\r\n {company.bankAccountName}\r\n {company.companyName}\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.loading ? : this.renderTable()}\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Wrapper from '../layout/Wrapper';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport PosStatementList from './PosStatementList';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nexport default class PosStatement extends Component {\r\n public props: any;\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • Pos Hareketleri
    • \r\n
    • Finans
    • \r\n
    • Pos Hareketleri
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Grid from \"@material-ui/core/Grid\"\r\nimport Icon from \"@material-ui/core/Icon\"\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport FormControl from \"@material-ui/core/FormControl\"\r\nimport Button from \"@material-ui/core/Button\"\r\nimport TextField from \"@material-ui/core/TextField\"\r\nimport TablePagination from '@material-ui/core/TablePagination';\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\r\n\r\nimport { cookieService, resourceService, posStatementsService, userService } from '../../service';\r\n\r\ninterface IPosStatementValorDateState {\r\n list: [],\r\n loading: boolean,\r\n focusedInput: any,\r\n resources: any,\r\n searchText: string,\r\n totalCount: number,\r\n searchTotalCount: number,\r\n sortType: string,\r\n currentPage: number,\r\n selectedRow: number,\r\n orderBy: number\r\n}\r\n\r\n\r\nexport default class PosStatementValorDate extends Component {\r\n public readonly state: IPosStatementValorDateState;\r\n public props: any;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n list: [],\r\n loading: false,\r\n focusedInput: null,\r\n resources: [],\r\n searchText: \"\",\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n selectedRow: 25,\r\n currentPage: 0,\r\n sortType: \"asc\",\r\n orderBy: 0\r\n }\r\n\r\n this.getData = this.getData.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources();\r\n this.getData();\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n\r\n private async getData() {\r\n const { searchText, currentPage, orderBy, selectedRow } = this.state;\r\n\r\n const model = {\r\n searchText,\r\n pagingParameters: {\r\n rowsPerPage: selectedRow,\r\n pageNumber: currentPage,\r\n orderBy,\r\n }\r\n }\r\n\r\n const { data } = await posStatementsService.valorDate(model);\r\n this.setState({ list: data.posStatementTotalByValorDateItem, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount, loading: false });\r\n }\r\n\r\n\r\n private async getExportExcel() {\r\n return await posStatementsService.valorDateDownload({ searchText: this.state.searchText, pagingParameters: { rowsPerPage: 99999 } });\r\n }\r\n\r\n\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getData();\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page, loading: true });\r\n this.getData();\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy, loading: true });\r\n this.getData();\r\n }\r\n\r\n private async handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n await this.setState({ selectedRow, loading: true });\r\n await this.getData();\r\n }\r\n\r\n\r\n private renderSearch() {\r\n const { searchText } = this.state\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n\r\n\r\n private renderAmountConvert(amount: string) {\r\n if (amount == \"0\") {\r\n return \"0,00\";\r\n }\r\n\r\n if (amount.indexOf(\".\") === -1) {\r\n return amount + \",00\";\r\n }\r\n\r\n let p = \"\";\r\n let isaretli = \"\"\r\n\r\n let sayi = amount.split(\".\");\r\n let net = sayi[0];\r\n let ondalik = sayi[1];\r\n\r\n net.indexOf(\"-\") != -1 ? isaretli = \"-\" : null\r\n net = net.replace(\"-\", \"\");\r\n\r\n ondalik == undefined ? ondalik = \"00\" : null\r\n ondalik.length == 1 ? ondalik += \"0\" : null\r\n\r\n let tersSayi = ((net.split(\"\")).reverse()).join(\"\");\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += \".\"\r\n p += tersSayi.substr(i, 1);\r\n }\r\n\r\n\r\n return isaretli + (((p.split(\"\")).reverse()).join(\"\")) + \",\" + ondalik;\r\n }\r\n\r\n\r\n private renderRowHeaders() {\r\n return (\r\n \r\n \r\n \r\n Üye İşyeri Adı\r\n \r\n \r\n \r\n \r\n Üye İşyeri Numarası\r\n \r\n \r\n \r\n \r\n Valor Tarihi\r\n \r\n \r\n \r\n \r\n Banka\r\n \r\n \r\n \r\n \r\n IBAN\r\n \r\n \r\n \r\n \r\n Net Tutar\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderTable() {\r\n const { list, searchText, totalCount, searchTotalCount, selectedRow, currentPage, resources, loading } = this.state;\r\n return (\r\n\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n \r\n EYLEMLER \r\n
      \r\n
      HIZLI EYLEMLER
      \r\n
    • this.getExportExcel()}> Excel'e aktar
    • \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((valorDate: any) => (\r\n \r\n {valorDate.isYeriAdi} \r\n {valorDate.isyeri}\r\n {valorDate.valorTarihi.substring(0, 10)}\r\n {valorDate.bankName}\r\n {valorDate.iban}\r\n {this.renderAmountConvert(String(valorDate.netTutar))} {valorDate.currencyCode}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.loading ? : this.renderTable()}\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Wrapper from '../layout/Wrapper';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport PosStatementValorDateList from './PosStatementValorDateList';\r\n\r\nexport default class PosStatementValorDate extends Component {\r\n public props: any;\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • Pos Valor Raporu
    • \r\n
    • Finans
    • \r\n
    • Pos Valor Raporu
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport { Tabs, Tab, Table, TableHead, TableRow, TableCell, TableBody, CircularProgress, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { accountBalancesService } from '../../service';\r\nimport { ACCOUNT_DETAIL, BANK_STATEMENT } from '../../routes/paths';\r\n\r\ninterface IBalanceState {\r\n tab: number;\r\n bankList: [],\r\n companyList: [],\r\n loading: boolean;\r\n}\r\n\r\ninterface IBalanceProps {\r\n currencyId: number;\r\n}\r\n\r\nexport default class Balance extends Component {\r\n public readonly state: IBalanceState;\r\n public readonly props: IBalanceProps;\r\n\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n tab: 0,\r\n bankList: [],\r\n companyList: [],\r\n loading: false\r\n }\r\n\r\n this.handleTabChange = this.handleTabChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getBanks();\r\n }\r\n\r\n private handleTabChange(_: any, tab: number) {\r\n this.setState({ tab });\r\n if (tab === 1) this.getCompanies();\r\n else this.getBanks();\r\n }\r\n\r\n private async getBanks() {\r\n this.setState({ loading: true });\r\n const response = await accountBalancesService.getBankTotals(this.props.currencyId);\r\n if (response.isSuccess) this.setState({ bankList: response.data.accountBalanceTotalByBankItem, loading: false });\r\n }\r\n\r\n private async getCompanies() {\r\n this.setState({ loading: true });\r\n const response = await accountBalancesService.getAccountBalanceTotalsByCompany(this.props.currencyId);\r\n if (response.isSuccess) this.setState({ companyList: response.data.accountBalanceTotalByCompanyItem, loading: false, });\r\n }\r\n\r\n private renderBanks() {\r\n const { bankList } = this.state;\r\n if (Array.isArray(bankList) && bankList.length > 0) return bankList.map((bank: any) => (\r\n \r\n \r\n {bank.bankName}\r\n \r\n {this.renderAmountConvert(String(bank.balance))}\r\n \r\n ));\r\n\r\n return BANKALARDA BAKİYE BULUNAMADI;\r\n\r\n }\r\n\r\n private renderCompanies() {\r\n const { companyList } = this.state;\r\n if (Array.isArray(companyList) && companyList.length > 0) return companyList.map((company: any) => (\r\n \r\n \r\n {company.companyName}\r\n \r\n {this.renderAmountConvert(String(company.balance))}\r\n \r\n ));\r\n\r\n return FİRMALARDA BAKİYE BULUNAMADI;\r\n }\r\n\r\n\r\n private renderAmountConvert(amount: string) {\r\n if (amount == \"0\") {\r\n return \"0,00\";\r\n }\r\n\r\n let p = \"\";\r\n let isaretli = \"\"\r\n\r\n let sayi = amount.split(\".\");\r\n let net = sayi[0];\r\n let ondalik = sayi[1];\r\n\r\n net.indexOf(\"-\") != -1 ? isaretli = \"-\" : null\r\n net = net.replace(\"-\", \"\");\r\n\r\n ondalik == undefined ? ondalik = \"00\" : null\r\n ondalik.length == 1 ? ondalik += \"0\" : null\r\n\r\n let tersSayi = ((net.split(\"\")).reverse()).join(\"\");\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += \".\"\r\n p += tersSayi.substr(i, 1);\r\n }\r\n\r\n\r\n return isaretli + (((p.split(\"\")).reverse()).join(\"\")) + \",\" + ondalik;\r\n }\r\n\r\n\r\n\r\n private renderBody() {\r\n const { loading, tab } = this.state;\r\n\r\n if (loading) return ;\r\n if (tab === 1) return this.renderCompanies();\r\n return this.renderBanks();\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {this.state.tab == 0 ? \"Banka\" : \"Firma\"} Adı\r\n Tutar\r\n \r\n \r\n \r\n {this.renderBody()}\r\n \r\n
    \r\n Detaylar\r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Typography from \"@material-ui/core/Typography\"\r\nimport Card from \"@material-ui/core/Card\"\r\nimport CardContent from \"@material-ui/core/CardContent\"\r\nimport { accountBalancesService } from '../../service';\r\nimport { withStyles } from '@material-ui/core/';\r\nimport Balance from './Balance';\r\n\r\ninterface IAccountBalancesState {\r\n list: [],\r\n loading: boolean;\r\n value: number;\r\n}\r\n\r\n\r\nconst style = (theme: any) => ({\r\n wrapper: {\r\n display: \"flex\",\r\n flexFlow: 'row wrap'\r\n },\r\n card: {\r\n marginLeft: 10,\r\n marginRight: 10,\r\n marginBottom: 20,\r\n display: 'block',\r\n width: '31.59%'\r\n },\r\n content: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\"\r\n },\r\n paper: {\r\n marginBottom: \"30px\"\r\n }\r\n})\r\n\r\nclass AccountBalances extends Component {\r\n public readonly state: IAccountBalancesState;\r\n public readonly props: any;\r\n\r\n private interval: any;\r\n\r\n private timeout = 600000;\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n list: [],\r\n loading: false,\r\n value: 0\r\n }\r\n\r\n this.getData = this.getData.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.init();\r\n }\r\n\r\n handleChange(value: number) {\r\n this.setState({ value });\r\n };\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.interval);\r\n }\r\n\r\n private async init() {\r\n this.setState({ loading: true });\r\n await this.getData();\r\n this.interval = setInterval(this.getData, this.timeout);\r\n }\r\n\r\n private async getData() {\r\n // this.setState({ loading: true });\r\n const { data } = await accountBalancesService.getTotals();\r\n this.setState({ list: data.accountBalanceTotalItems, loading: false })\r\n }\r\n\r\n private renderAmountConvert(amount: string) {\r\n if (amount == \"0\") {\r\n return \"0,00\";\r\n }\r\n\r\n let p = \"\";\r\n let isaretli = \"\"\r\n\r\n let sayi = amount.split(\".\");\r\n let net = sayi[0];\r\n let ondalik = sayi[1];\r\n\r\n net.indexOf(\"-\") != -1 ? isaretli = \"-\" : null\r\n net = net.replace(\"-\", \"\");\r\n\r\n ondalik == undefined ? ondalik = \"00\" : null\r\n ondalik.length == 1 ? ondalik += \"0\" : null\r\n\r\n let tersSayi = ((net.split(\"\")).reverse()).join(\"\");\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += \".\"\r\n p += tersSayi.substr(i, 1);\r\n }\r\n\r\n\r\n return isaretli + (((p.split(\"\")).reverse()).join(\"\")) + \",\" + ondalik;\r\n }\r\n\r\n\r\n\r\n\r\n private renderCards() {\r\n const { list } = this.state;\r\n const { classes } = this.props;\r\n return list.map((balance: any) => (\r\n \r\n \r\n
    \r\n {balance.currencyCode}\r\n {balance.currencyName} \r\n
    \r\n {this.renderAmountConvert(String(balance.balance))}\r\n
    \r\n \r\n
    \r\n ))\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n
    \r\n {this.state.loading ? :
    {this.renderCards()}
    }\r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default withStyles(style)(AccountBalances);","import React, { Component } from 'react'\r\nimport Wrapper from '../layout/Wrapper';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport AccountBalances from './AccountBalances';\r\nimport AccountDetail from './AccountDetail';\r\n\r\nexport default class Account extends Component {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Card from '@material-ui/core/Card'\r\nimport CardContent from '@material-ui/core/CardContent'\r\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel'\r\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails'\r\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport Button from '@material-ui/core/Button'\r\nimport TableRow from '@material-ui/core/TableRow'\r\nimport TableCell from '@material-ui/core/TableCell'\r\nimport { accountBalancesService } from '../../service'\r\nimport { withStyles } from '@material-ui/core/'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport { ACCOUNTSTATEMENT, ACCOUNT_STATEMENT } from '../../routes/paths'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport PieChart, {\r\n Series,\r\n Label,\r\n Connector,\r\n Size,\r\n Export,\r\n Margin,\r\n Legend,\r\n Tooltip,\r\n Title,\r\n Subtitle,\r\n} from 'devextreme-react/pie-chart'\r\nimport { CurrencyId, priceFormatter } from '../../helpers/priceFormatter'\r\n\r\ninterface PointInfo {\r\n argumentText: string\r\n value: number\r\n percentText: string\r\n}\r\n\r\ninterface AccountBalancesByBank {\r\n balance: number\r\n currencyId: number\r\n bankName: string\r\n}\r\n\r\ninterface IAccountDetailState {\r\n list: []\r\n loading: boolean\r\n expanded: any\r\n totalBalance: []\r\n companyList: []\r\n banks: AccountBalancesByBank[]\r\n}\r\n\r\ninterface IAccountDetailChartProps {\r\n currencyId: number\r\n name: string\r\n classes: any\r\n history: any\r\n match: any\r\n}\r\n\r\nconst style = (theme: any) => ({\r\n wrapper: {\r\n alignItems: 'top',\r\n justifyContent: 'space-between',\r\n },\r\n cards: {\r\n display: 'flex',\r\n },\r\n card: {\r\n marginRight: '10px',\r\n width: '32%',\r\n },\r\n bankcard: {\r\n margin: '1%',\r\n width: '23%',\r\n },\r\n chart: {\r\n marginRight: '10px',\r\n width: '68%',\r\n },\r\n company: {\r\n width: '100%',\r\n },\r\n content: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n },\r\n paper: {\r\n marginBottom: '30px',\r\n },\r\n accordion: {\r\n width: '99%',\r\n marginTop: 20,\r\n },\r\n accordionDetail: {\r\n display: 'flex',\r\n 'flex-wrap': 'wrap',\r\n },\r\n totalAmount: {\r\n fontSize: 30,\r\n color: '#304057',\r\n fontWeight: 500,\r\n },\r\n labelTotalAmount: {\r\n marginTop: 15,\r\n fontSize: 13,\r\n marginLeft: 10,\r\n color: '#9aafcd',\r\n },\r\n heading: {\r\n fontSize: 14,\r\n },\r\n})\r\n\r\nclass AccountDetail extends React.Component {\r\n public readonly state: IAccountDetailState\r\n public readonly props: IAccountDetailChartProps\r\n\r\n constructor(props: IAccountDetailChartProps) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n list: [],\r\n companyList: [],\r\n loading: false,\r\n expanded: '',\r\n totalBalance: [],\r\n banks: [],\r\n }\r\n\r\n this.getTotalBalance = this.getTotalBalance.bind(this)\r\n this.handleChange = this.handleChange.bind(this)\r\n this.detail = this.detail.bind(this)\r\n }\r\n\r\n private handleChange(expanded: any) {\r\n this.setState({\r\n expanded,\r\n })\r\n }\r\n\r\n private async detail() {\r\n this.props.history.push(ACCOUNTSTATEMENT)\r\n }\r\n\r\n getCurrencyId() {\r\n return Number(this.props.match.params.currencyId) as CurrencyId\r\n }\r\n\r\n componentWillMount() {\r\n if (this.getCurrencyId()) {\r\n this.getTotalBalance()\r\n this.getAccountBalanceTotal()\r\n this.getCompanies()\r\n this.renderCompanyBalances()\r\n this.getBanks()\r\n }\r\n }\r\n\r\n private generateBalanceList(list: []) {\r\n const balanceList: object[] = []\r\n list.forEach((current: any) => {\r\n const index = balanceList.findIndex(\r\n (item: any) => item.companyId === current.companyId\r\n )\r\n if (index === -1)\r\n balanceList.push({\r\n list: [current],\r\n companyName: current.companyName,\r\n companyId: current.companyId,\r\n })\r\n else (balanceList[index] as any).list.push(current)\r\n })\r\n\r\n return balanceList\r\n }\r\n\r\n private async getTotalBalance() {\r\n const { data } = await accountBalancesService.getAccountBalances(\r\n this.getCurrencyId()\r\n )\r\n const list = this.generateBalanceList(data.accountBalances)\r\n if (list && list.length > 0) {\r\n this.setState({\r\n list,\r\n loading: false,\r\n expanded: (list[0] as any).companyId,\r\n })\r\n }\r\n }\r\n\r\n private async getAccountBalanceTotal() {\r\n this.setState({ loading: true })\r\n const response = await accountBalancesService.getAccountBalanceTotals(\r\n this.getCurrencyId()\r\n )\r\n //const list = this.generateBalanceList(data.accountBalanceTotalItems)\r\n if (response.isSuccess)\r\n this.setState({\r\n totalBalance: response.data.accountBalanceTotalItems,\r\n loading: false,\r\n })\r\n }\r\n\r\n private async getCompanies() {\r\n this.setState({ loading: true })\r\n const response =\r\n await accountBalancesService.getAccountBalanceTotalsByCompany(\r\n this.getCurrencyId()\r\n )\r\n if (response.isSuccess)\r\n this.setState({\r\n companyList: response.data.accountBalanceTotalByCompanyItem,\r\n loading: false,\r\n })\r\n }\r\n\r\n private async getBanks() {\r\n this.setState({ loading: true })\r\n const response = await accountBalancesService.getAccountBalanceTotalsByBank(\r\n this.getCurrencyId()\r\n )\r\n if (response.isSuccess)\r\n this.setState({\r\n banks: response.data.accountBalanceTotalByBankItem,\r\n loading: false,\r\n })\r\n }\r\n\r\n private renderAmountConvert(amount: string) {\r\n if (amount == '0') {\r\n return '0,00'\r\n }\r\n\r\n let p = ''\r\n let isaretli = ''\r\n\r\n let sayi = amount.split('.')\r\n let net = sayi[0]\r\n let ondalik = sayi[1]\r\n\r\n net.indexOf('-') != -1 ? (isaretli = '-') : null\r\n net = net.replace('-', '')\r\n\r\n ondalik == undefined ? (ondalik = '00') : null\r\n ondalik.length == 1 ? (ondalik += '0') : null\r\n\r\n let tersSayi = net.split('').reverse().join('')\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += '.'\r\n p += tersSayi.substr(i, 1)\r\n }\r\n\r\n return isaretli + p.split('').reverse().join('') + ',' + ondalik\r\n }\r\n\r\n private renderChartReport() {\r\n const { banks } = this.state\r\n\r\n const customizeTooltip = (pointInfo: PointInfo) => {\r\n const { argumentText, value } = pointInfo\r\n\r\n //console.log(pointInfo)\r\n\r\n return {\r\n html: `\r\n
    \r\n
    ${argumentText}
    \r\n
    ${priceFormatter(value, this.getCurrencyId())}
    \r\n
    \r\n `,\r\n fontColor: '#222',\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n priceFormatter(pointInfo.value, this.getCurrencyId())\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n private renderBanks(balance: any) {\r\n const { classes } = this.props\r\n return (\r\n \r\n
    \r\n \r\n \r\n {balance.bankBranchCode} / {balance.bankAccountNo}\r\n
    \r\n {balance.iban}\r\n
    \r\n \r\n {balance.currencyCode}{' '}\r\n {this.renderAmountConvert(String(balance.balance))}\r\n \r\n {balance.updateDateTime}\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n private renderExpansionPanels() {\r\n const { expanded, list } = this.state\r\n const { classes } = this.props\r\n\r\n return list.map((balance: any) => (\r\n this.handleChange(balance.companyId)}\r\n >\r\n \r\n \r\n {balance.companyName}\r\n \r\n \r\n \r\n {balance.list.map((bank: any) => (\r\n \r\n {this.renderBanks(bank)}\r\n \r\n ))}\r\n \r\n \r\n ))\r\n }\r\n\r\n private renderCompanies() {\r\n const { classes } = this.props\r\n return this.state.totalBalance.map((company: any) => (\r\n
    \r\n \r\n {company.currencyCode}{' '}\r\n {this.renderAmountConvert(String(company.balance))}\r\n \r\n \r\n Toplam Bakiye\r\n \r\n
    \r\n ))\r\n }\r\n\r\n private renderCompanyBalances() {\r\n const { companyList } = this.state\r\n if (Array.isArray(companyList) && companyList.length > 0)\r\n return companyList.map((company: any) => (\r\n \r\n \r\n {company.companyName}\r\n \r\n \r\n {this.renderAmountConvert(String(company.balance))}{' '}\r\n {company.currencyCode}\r\n \r\n \r\n ))\r\n\r\n return (\r\n \r\n Gösterilecek firma yok.\r\n \r\n )\r\n }\r\n\r\n private renderCards() {\r\n const { totalBalance } = this.state\r\n const { classes } = this.props\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n {this.renderCompanies()}\r\n {this.renderCompanyBalances()}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {this.renderChartReport()}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Şirket Hesap Bilgileri\r\n \r\n {this.renderExpansionPanels()}\r\n
    \r\n \r\n )\r\n }\r\n\r\n render() {\r\n const { classes } = this.props\r\n return (\r\n \r\n
    \r\n {this.state.loading ? (\r\n \r\n ) : (\r\n
    {this.renderCards()}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withStyles(style)(AccountDetail)\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_BANK, EDIT_BANK } from '../../routes/paths'\r\n\r\nimport { bankService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IBankListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewBank: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class BankList extends Component {\r\n public readonly props: any;\r\n public readonly state: IBankListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Banka silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Banka Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewBank: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewBank = this.addNewBank.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getBanks(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Bank.CreateBank') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getBanks(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await bankService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.banks, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await bankService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeBank() {\r\n if (this.deleteConfirmId) {\r\n await bankService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((bank: any) => bank.id !== this.deleteConfirmId) });\r\n\r\n this.getBanks(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewBank() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewBank: false });\r\n } else {\r\n this.setState({ addNewBank: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Bank.UpdateBank') != -1) && (permissionList.indexOf('Bank.DeleteBank') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Bank.UpdateBank') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Bank.DeleteBank') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveBank(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getBanks(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getBanks(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getBanks(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeBank();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getBanks(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getBanks(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Banka Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Banka Kodu\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Ülke\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Website\r\n \r\n \r\n\r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n FTP Address\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n FTP Port\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n FTP Remote Dizini\r\n \r\n \r\n this.handleSort(orderBy === 17 ? 18 : 17)}>\r\n \r\n FTP Yerel Dizini\r\n \r\n \r\n\r\n this.handleSort(orderBy === 19 ? 20 : 19)}>\r\n \r\n Açıklama\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Bank.UpdateBank') != -1) && (permissionList.indexOf('Bank.DeleteBank') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewBank, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewBank && }\r\n \r\n \r\n {resources.MenuLeftmenu1_8_1} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((bank: any) => (\r\n \r\n \r\n {bank.bankName}\r\n \r\n {bank.bankCode}\r\n {bank.countryName}\r\n {bank.webSite}\r\n {bank.ftpAddress}\r\n {bank.ftpPort} \r\n {bank.ftpRemoteDirectory}\r\n {bank.ftpLocalDirectory}\r\n {bank.description}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveBank(bank.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport BankList from './BankList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IBankState {\r\n resources: any\r\n}\r\n\r\ninterface IBankProps {\r\n location: any,\r\n}\r\n\r\nexport default class Bank extends Component {\r\n public readonly state: IBankState;\r\n public readonly props: IBankProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_1}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_1}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Button from '@material-ui/core/Button'\r\n\r\nimport Wrapper from '../layout/Wrapper'\r\nimport {HOME} from '../../routes/paths'\r\n\r\ninterface INotFoundState {\r\n}\r\n\r\ninterface INotFoundProps {\r\n errorCode: string;\r\n errorMessage: string;\r\n}\r\n\r\nexport default class NotFound extends Component {\r\n public readonly state: INotFoundState;\r\n public readonly props: INotFoundProps;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n }\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n 404\r\n Aradığınız sayfa bulunamadı!\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","//Bank\r\n\r\nexport const bankNameValidator = (bankName: string): string => {\r\n if (bankName === \"\") return 'Banka adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankCodeValidator = (bankCode: string): string => {\r\n if (bankCode === \"\") return 'Banka kodu adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const countryValidator = (countryId: number): string => {\r\n if (countryId === 0) return 'Ülke seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const webSiteValidator = (webSite: string): string => {\r\n if (webSite === \"\") return 'Web sitesi alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport { withStyles } from '@material-ui/core/styles'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { bankService, locationService } from '../../service'\r\nimport { BANK } from '../../routes/paths'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { bankNameValidator, countryValidator, bankCodeValidator, webSiteValidator } from '../../utils/bank.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\n\r\nexport interface IBankFormState {\r\n bankName: string,\r\n bankNameError: string,\r\n bankCode: string,\r\n bankCodeError: string,\r\n countryList: [],\r\n countryId: any,\r\n countryError: string,\r\n webSite: string,\r\n webSiteError: string,\r\n ftpAddress: string,\r\n ftpAddressError: string,\r\n ftpPort: string,\r\n ftpPortError: string,\r\n ftpRemoteDirectory: string,\r\n ftpRemoteDirectoryError: string,\r\n ftpLocalDirectory: string,\r\n ftpLocalDirectoryError: string,\r\n description: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IBankFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass BankForm extends Component {\r\n public readonly state: IBankFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n bankName: \"\",\r\n bankNameError: \"\",\r\n bankCode: \"\",\r\n bankCodeError: \"\",\r\n countryList: [],\r\n countryId: 0,\r\n countryError: \"\",\r\n webSite: \"\",\r\n webSiteError: \"\",\r\n ftpAddress: \"\",\r\n ftpAddressError: \"\",\r\n ftpPort: \"\",\r\n ftpPortError: \"\",\r\n ftpRemoteDirectory: \"\",\r\n ftpRemoteDirectoryError: \"\",\r\n ftpLocalDirectory: \"\",\r\n ftpLocalDirectoryError: \"\",\r\n description: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeBankName = this.onChangeBankName.bind(this);\r\n this.onChangeBankCode = this.onChangeBankCode.bind(this);\r\n this.onChangeCountries = this.onChangeCountries.bind(this);\r\n this.onChangeWebSite = this.onChangeWebSite.bind(this);\r\n this.onChangeFTPAddress = this.onChangeFTPAddress.bind(this);\r\n this.onChangeFTPPort = this.onChangeFTPPort.bind(this);\r\n this.onChangeFTPRemoteDirectory = this.onChangeFTPRemoteDirectory.bind(this);\r\n this.onChangeFTPLocalDirectory = this.onChangeFTPLocalDirectory.bind(this);\r\n this.onChangeDescription = this.onChangeDescription.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.bankId) this.getEditableBank();\r\n else this.getCountries()\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableBank() {\r\n const { data, isSuccess, errorCode, errorMessage } = await bankService.getById(this.props.match.params.bankId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getCountries();\r\n const state = {\r\n ...data,\r\n countryId: this.state.countryList.find((item: any) => item.id === data.countryId),\r\n isEdit: true\r\n }\r\n\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n\r\n\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeBankName(e: ChangeEvent) {\r\n this.setState({ bankName: e.target.value, bankNameError: bankNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeBankCode(e: ChangeEvent) {\r\n this.setState({ bankCode: e.target.value, bankCodeError: bankCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCountries(countryId: any) {\r\n this.setState({ countryId, countryError: countryValidator(countryId) });;\r\n }\r\n\r\n private onChangeWebSite(e: ChangeEvent) {\r\n this.setState({ webSite: e.target.value, webSiteError: webSiteValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeFTPAddress(e: ChangeEvent) {\r\n this.setState({ ftpAddress: e.target.value });\r\n }\r\n\r\n private onChangeFTPPort(e: ChangeEvent) {\r\n this.setState({ ftpPort: e.target.value });\r\n }\r\n\r\n private onChangeFTPRemoteDirectory(e: ChangeEvent) {\r\n this.setState({ ftpRemoteDirectory: e.target.value });\r\n }\r\n\r\n private onChangeFTPLocalDirectory(e: ChangeEvent) {\r\n this.setState({ ftpLocalDirectory: e.target.value });\r\n }\r\n\r\n private onChangeDescription(e: ChangeEvent) {\r\n this.setState({ description: e.target.value });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(BANK);\r\n }\r\n\r\n private async getCountries() {\r\n const { data } = await locationService.getCountries();\r\n\r\n const state = {\r\n countryId: this.state.countryId === 0 ? 0 : this.state.countryId.id,\r\n countryList: data.countries,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { bankName, bankCode, countryId, webSite, description, isActive, isEdit } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n bankNameValidator(bankName) !== \"\" ||\r\n bankCodeValidator(bankCode) !== \"\" ||\r\n countryValidator(countryId) !== \"\" ||\r\n webSiteValidator(webSite) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n bankNameError: bankNameValidator(bankName),\r\n bankCodeError: bankCodeValidator(bankCode),\r\n countryError: countryValidator(countryId),\r\n webSiteError: webSiteValidator(webSite)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { bankName, bankCode, countryId, webSite, ftpAddress, ftpPort, ftpRemoteDirectory, ftpLocalDirectory, description, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n bankName: sqlInjectValidator(bankName),\r\n bankCode: sqlInjectValidator(bankCode),\r\n countryId: sqlInjectValidator(String(countryId.id)),\r\n webSite: sqlInjectValidator(webSite),\r\n ftpAddress: sqlInjectValidator(ftpAddress),\r\n ftpPort: sqlInjectValidator(ftpPort), \r\n ftpRemoteDirectory: sqlInjectValidator(ftpRemoteDirectory), \r\n ftpLocalDirectory: sqlInjectValidator(ftpLocalDirectory), \r\n description: sqlInjectValidator(description),\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editBank(model);\r\n else await this.createBank(model);\r\n }\r\n }\r\n\r\n private async createBank(model: any) {\r\n const data = await bankService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editBank(model: any) {\r\n const data = await bankService.update({ ...model, id: this.props.match.params.bankId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderBankName() {\r\n const { bankName, bankNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderBankCode() {\r\n const { bankCode, bankCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCountries() {\r\n const { countryId, countryList, countryError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {countryError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderWebSite() {\r\n const { webSite, webSiteError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderFTPAddress() {\r\n const { ftpAddress, ftpAddressError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderFTPPort() {\r\n const { ftpPort, ftpPortError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderFTPRemoteDirectory() {\r\n const { ftpRemoteDirectory, ftpRemoteDirectoryError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderFTPLocalDirectory() {\r\n const { ftpLocalDirectory, ftpLocalDirectoryError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderDescription() {\r\n const { description } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Banka {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan banka bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda banka ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Banka {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderBankName()}\r\n {this.renderBankCode()}\r\n {this.renderCountries()}\r\n {this.renderWebSite()}\r\n {this.renderFTPAddress()}\r\n {this.renderFTPPort()}\r\n {this.renderFTPRemoteDirectory()}\r\n {this.renderFTPLocalDirectory()}\r\n {this.renderDescription()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(BankForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_BANKBRANCH, EDIT_BANKBRANCH } from '../../routes/paths'\r\n\r\nimport { bankBranchService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IBankBranchListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewBankBranch: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class BankBranchList extends Component {\r\n public readonly props: any;\r\n public readonly state: IBankBranchListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Şube silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Şube Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewBankBranch: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewBankBranch = this.addNewBankBranch.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getBankBranches(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('BankBranch.CreateBankBranch') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getBankBranches(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await bankBranchService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.bankBranches, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await bankBranchService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeBankBranch() {\r\n if (this.deleteConfirmId) {\r\n await bankBranchService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((bankBranch: any) => bankBranch.id !== this.deleteConfirmId) });\r\n\r\n this.getBankBranches(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewBankBranch() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewBankBranch: false });\r\n } else {\r\n this.setState({ addNewBankBranch: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('BankBranch.UpdateBankBranch') != -1) && (permissionList.indexOf('BankBranch.DeleteBankBranch') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('BankBranch.UpdateBankBranch') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('BankBranch.DeleteBankBranch') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveBankBranch(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getBankBranches(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getBankBranches(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getBankBranches(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeBankBranch();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getBankBranches(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getBankBranches(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Banka Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Şube Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Şube Kodu\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Telefon\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Ülke\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n Şehir\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n İlçe\r\n \r\n \r\n this.handleSort(orderBy === 17 ? 18 : 17)}>\r\n \r\n Adres\r\n \r\n \r\n this.handleSort(orderBy === 19 ? 20 : 19)}>\r\n \r\n Açıklama\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('BankBranch.UpdateBankBranch') != -1) && (permissionList.indexOf('BankBranch.DeleteBankBranch') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewBankBranch, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewBankBranch && }\r\n \r\n \r\n {resources.MenuLeftmenu1_8_2} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((bankBranch: any) => (\r\n \r\n \r\n {bankBranch.bankName}\r\n \r\n {bankBranch.bankBranchName}\r\n {bankBranch.bankBranchCode}\r\n {bankBranch.phoneNumber}\r\n {bankBranch.countryName}\r\n {bankBranch.cityName}\r\n {bankBranch.districtName}\r\n {bankBranch.adress}\r\n {bankBranch.description}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveBankBranch(bankBranch.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport BankBranchList from './BankBranchList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IBankBranchState {\r\n resources: any\r\n}\r\ninterface IBankBranchProps {\r\n location: any,\r\n}\r\n\r\nexport default class BankBranch extends Component {\r\n public readonly state: IBankBranchState;\r\n public readonly props: IBankBranchProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_2}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_2}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//BankBranch\r\n\r\nexport const bankBranchNameValidator = (bankBranchName: string): string => {\r\n if (bankBranchName === \"\") return 'Şube adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankBranchCodeValidator = (bankBranchCode: string): string => {\r\n if (bankBranchCode === \"\") return 'Şube Kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankValidator = (bankId: number): string => {\r\n if (bankId === 0) return 'Banka seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const countryValidator = (countryId: number): string => {\r\n if (countryId === 0) return 'Ülke seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const cityValidator = (cityId: number): string => {\r\n if (cityId === 0) return 'Şehir seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const districtValidator = (districtId: number): string => {\r\n if (districtId === 0) return 'İlçe seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const addressValidator = (address: string): string => {\r\n if (address === \"\") return 'Adres alanını boş geçemezsiniz!'\r\n else if (address.length < 15) return 'Adres alanı en az 15 karakter olabilir!'\r\n return '';\r\n}\r\n\r\nexport const phoneNumberValidator = (phoneNumber: string): string => {\r\n if (phoneNumber === \"\") return 'Telefon Numarası alanını boş geçemezsiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { bankBranchService, locationService } from '../../service';\r\nimport { BANKBRANCH } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { bankBranchCodeValidator, bankBranchNameValidator, bankValidator, countryValidator, cityValidator, districtValidator, addressValidator, phoneNumberValidator } from '../../utils/bankbranch.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IBankBranchFormState {\r\n bankBranchName: string,\r\n bankBranchNameError: string,\r\n bankBranchCode: string,\r\n bankBranchCodeError: string,\r\n bankList: [],\r\n bankId: any,\r\n bankError: string,\r\n countryList: [],\r\n countryId: any,\r\n countryError: string,\r\n cityList: [],\r\n cityId: any,\r\n cityError: string,\r\n districtList: [],\r\n districtId: any,\r\n districtError: string,\r\n address: string,\r\n addressError: string,\r\n phoneNumber: string,\r\n phoneNumberError: string,\r\n description: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IBankBranchFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass BankBranchForm extends Component {\r\n public readonly state: IBankBranchFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n bankBranchName: \"\",\r\n bankBranchNameError: \"\",\r\n bankBranchCode: \"\",\r\n bankBranchCodeError: \"\",\r\n bankList: [],\r\n bankId: 0,\r\n bankError: \"\",\r\n countryList: [],\r\n countryId: 0,\r\n countryError: \"\",\r\n cityList: [],\r\n cityId: 0,\r\n cityError: \"\",\r\n districtList: [],\r\n districtId: 0,\r\n districtError: \"\",\r\n address: \"\",\r\n addressError: \"\",\r\n phoneNumber: \"\",\r\n phoneNumberError: \"\",\r\n description: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeBankBranchName = this.onChangeBankBranchName.bind(this);\r\n this.onChangeBankBranchCode = this.onChangeBankBranchCode.bind(this);\r\n this.onChangeBank = this.onChangeBank.bind(this);\r\n this.onChangeCountry = this.onChangeCountry.bind(this);\r\n this.onChangeCity = this.onChangeCity.bind(this);\r\n this.onChangeDistrict = this.onChangeDistrict.bind(this);\r\n this.onChangeAddress = this.onChangeAddress.bind(this);\r\n this.onChangePhoneNumber = this.onChangePhoneNumber.bind(this);\r\n this.onChangeDescription = this.onChangeDescription.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.bankBranchId) this.getEditableBankBranch();\r\n else { this.getCountries(); this.getBanks(); }\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableBankBranch() {\r\n const { data, isSuccess, errorCode, errorMessage } = await bankBranchService.getById(this.props.match.params.bankBranchId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getCountries();\r\n await this.getBanks();\r\n\r\n const state = {\r\n ...data,\r\n bankId: this.state.bankList.find((item: any) => item.id === data.bankId),\r\n countryId: this.state.countryList.find((item: any) => item.id === data.countryId),\r\n cityId: this.state.cityList.find((item: any) => item.id === data.cityId),\r\n districtId: this.state.districtList.find((item: any) => item.id === data.districtId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state });\r\n await this.getDistricts(state.countryId.id, state.cityId.id);\r\n\r\n this.setState({ districtId: this.state.districtList.find((item: any) => item.id === data.districtId), loading: false })\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeBankBranchName(e: ChangeEvent) {\r\n this.setState({ bankBranchName: e.target.value, bankBranchNameError: bankBranchNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeBankBranchCode(e: ChangeEvent) {\r\n this.setState({ bankBranchCode: e.target.value, bankBranchCodeError: bankBranchCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeBank(bankId: any) {\r\n this.setState({ bankId });\r\n }\r\n\r\n private onChangeCountry(countryId: any) {\r\n this.setState({ countryId, countryError: countryValidator(countryId) });\r\n this.getCities(countryId.id);\r\n }\r\n\r\n private onChangeCity(cityId: any) {\r\n this.setState({ cityId, cityError: cityValidator(cityId) });\r\n this.getDistricts(this.state.countryId.id, cityId.id);\r\n }\r\n\r\n private onChangeDistrict(districtId: any) {\r\n this.setState({ districtId, districtError: districtValidator(districtId) });\r\n }\r\n\r\n private onChangeAddress(e: ChangeEvent) {\r\n this.setState({ address: e.target.value, addressError: addressValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangePhoneNumber(e: ChangeEvent) {\r\n this.setState({ phoneNumber: e.target.value, phoneNumberError: phoneNumberValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeDescription(e: ChangeEvent) {\r\n this.setState({ description: e.target.value });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(BANKBRANCH);\r\n }\r\n\r\n private async getBanks() {\r\n const { data } = await locationService.getBanks();\r\n\r\n const state = {\r\n bankId: this.state.bankId === 0 ? 0 : this.state.bankId.id,\r\n bankList: data.banks\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private async getCountries() {\r\n const { data } = await locationService.getCountries();\r\n\r\n const state = {\r\n countryId: this.state.countryId === 0 ? 0 : this.state.countryId.id,\r\n countryList: data.countries\r\n };\r\n\r\n this.setState(state);\r\n await this.getCities(state.countryId);\r\n }\r\n\r\n private async getCities(countryId: number) {\r\n const { data } = await locationService.getCities(countryId);\r\n\r\n const state = {\r\n cityList: data.cities,\r\n cityId: this.state.cityId === 0 ? 0 : this.state.cityId.id\r\n };\r\n\r\n this.setState(state);\r\n await this.getDistricts(countryId, state.cityId);\r\n }\r\n\r\n private async getDistricts(countryId: number, cityId: number) {\r\n const { data } = await locationService.getDistricts(countryId, cityId);\r\n\r\n const state = {\r\n districtList: data.districts,\r\n districtId: this.state.districtId === 0 ? 0 : this.state.districtId.id,\r\n loading: false\r\n }\r\n\r\n this.setState(state);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { bankBranchCode, bankBranchName, bankId, countryId, cityId, districtId, address, phoneNumber } = this.state;\r\n\r\n if (\r\n bankBranchCodeValidator(bankBranchCode) !== \"\" ||\r\n bankBranchNameValidator(bankBranchName) !== \"\" ||\r\n addressValidator(address) !== \"\" ||\r\n phoneNumberValidator(phoneNumber) !== \"\" ||\r\n countryValidator(countryId) !== \"\" ||\r\n bankValidator(bankId) !== \"\" ||\r\n cityValidator(cityId) !== \"\" ||\r\n districtValidator(districtId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n bankBranchCodeError: bankBranchCodeValidator(bankBranchCode),\r\n bankBranchNameError: bankBranchNameValidator(bankBranchName),\r\n addressError: addressValidator(address),\r\n phoneNumberError: phoneNumberValidator(phoneNumber),\r\n countryError: countryValidator(countryId),\r\n bankError: bankValidator(bankId),\r\n cityError: cityValidator(cityId),\r\n districtError: districtValidator(districtId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { bankBranchName, bankBranchCode, bankId, countryId, cityId, districtId, address, phoneNumber, description, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n bankBranchName: sqlInjectValidator(bankBranchName),\r\n bankBranchCode: sqlInjectValidator(bankBranchCode),\r\n bankId: sqlInjectValidator(String(bankId.id)),\r\n countryId: sqlInjectValidator(String(countryId.id)),\r\n cityId: sqlInjectValidator(String(cityId.id)),\r\n districtId: sqlInjectValidator(String(districtId.id)),\r\n address: sqlInjectValidator(address),\r\n phoneNumber: sqlInjectValidator(phoneNumber),\r\n description: sqlInjectValidator(description),\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editBankBranch(model);\r\n else await this.createBankBranch(model);\r\n }\r\n }\r\n\r\n private async createBankBranch(model: any) {\r\n const data = await bankBranchService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editBankBranch(model: any) {\r\n const data = await bankBranchService.update({ ...model, id: this.props.match.params.bankBranchId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderBankBranchName() {\r\n const { bankBranchName, bankBranchNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderBankBranchCode() {\r\n const { bankBranchCode, bankBranchCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderBanks() {\r\n const { bankId, bankList, bankError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankError}\r\n \r\n );\r\n }\r\n\r\n private renderCountries() {\r\n const { countryId, countryList, countryError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {countryError}\r\n \r\n );\r\n }\r\n\r\n private renderCities() {\r\n const { cityId, cityList, cityError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {cityError}\r\n \r\n );\r\n }\r\n\r\n private renderDistricts() {\r\n const { districtId, districtList, districtError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {districtError}\r\n \r\n );\r\n }\r\n\r\n private renderPhoneNumber() {\r\n const { phoneNumber, phoneNumberError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderAddress() {\r\n const { address, addressError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderDescription() {\r\n const { description } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Şube {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan şube bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda şube ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Şube {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderBankBranchName()}\r\n {this.renderBankBranchCode()}\r\n {this.renderBanks()}\r\n {this.renderCountries()}\r\n {this.renderCities()}\r\n {this.renderDistricts()}\r\n {this.renderPhoneNumber()}\r\n {this.renderAddress()}\r\n {this.renderDescription()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(BankBranchForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_BANKACCOUNT, EDIT_BANKACCOUNT } from '../../routes/paths'\r\n\r\nimport { bankAccountService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IBankAccountListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n \r\n clientType:string; \r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewBankAccount: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class BankAccountList extends Component {\r\n public readonly props: any;\r\n public readonly state: IBankAccountListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n \r\n clientType: \"WEB\",\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Hesap silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Hesap Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewBankAccount: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewBankAccount = this.addNewBankAccount.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getBankAccounts(\"\", this.state.clientType, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('BankAccount.CreateBankAccount') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getBankAccounts(searchText: string, clientType: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await bankAccountService.get(searchText, clientType, pageNumber, rowPerPage, orderBy, isActive, false);\r\n this.setState({ list: data.bankAccounts, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount }) \r\n }\r\n\r\n private async getExportExcel() {\r\n return await bankAccountService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeBankAccount() {\r\n if (this.deleteConfirmId) {\r\n await bankAccountService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((bankAccount: any) => bankAccount.id !== this.deleteConfirmId) });\r\n\r\n this.getBankAccounts(this.state.searchText, this.state.clientType, this.state.currentPage, this.state.selectedRow,this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewBankAccount() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewBankAccount: false });\r\n } else {\r\n this.setState({ addNewBankAccount: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('BankAccount.UpdateBankAccount') != -1) && (permissionList.indexOf('BankAccount.DeleteBankAccount') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('BankAccount.UpdateBankAccount') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('BankAccount.DeleteBankAccount') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveBankAccount(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getBankAccounts(this.state.searchText, this.state.clientType, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getBankAccounts(this.state.searchText, this.state.clientType, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getBankAccounts(value, this.state.clientType, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeBankAccount();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getBankAccounts(this.state.searchText, this.state.clientType, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getBankAccounts(this.state.searchText, this.state.clientType, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Banka Adı\r\n \r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Hesap Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n IBAN\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n Şube Kodu\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Hesap No\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Para Birimi\r\n \r\n \r\n this.handleSort(orderBy === 19 ? 20 : 19)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 21 ? 22 : 21)}>\r\n \r\n Açıklama\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('BankAccount.UpdateBankAccount') != -1) && (permissionList.indexOf('BankAccount.DeleteBankAccount') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewBankAccount, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewBankAccount && }\r\n \r\n \r\n {resources.MenuLeftmenu1_8_3} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((bankAccount: any) => (\r\n \r\n {bankAccount.bankName}\r\n \r\n {bankAccount.bankAccountName}\r\n \r\n {bankAccount.iban}\r\n {bankAccount.bankBranchCode}\r\n {bankAccount.bankAccountCode}\r\n {bankAccount.currencyCode}\r\n {bankAccount.companyName}\r\n {bankAccount.description}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveBankAccount(bankAccount.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport BankAccountList from './BankAccountList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar'\r\nimport '@material/react-snackbar/dist/snackbar.css'\r\nimport { cookieService, resourceService } from '../../service'\r\n\r\ninterface IBankAccountState {\r\n resources: any\r\n}\r\n\r\ninterface IBankAccountProps {\r\n location: any\r\n}\r\n\r\nexport default class BankAccount extends Component {\r\n public readonly state: IBankAccountState\r\n public readonly props: IBankAccountProps\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN'\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n resources: [],\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME)\r\n const { data } = await resourceService.language(resourceLanguage)\r\n var resources: any = {}\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value\r\n })\r\n\r\n this.setState({ resources: resources, loading: false })\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return errorMessage.includes('Başarıyla') ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n\r\n render() {\r\n const { resources } = this.state\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_3}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_3}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined\r\n ? this.renderMessage(this.props.location.state.errorMessage)\r\n : null}\r\n
    \r\n )\r\n }\r\n}\r\n","\r\n//BankAccount\r\n\r\nexport const bankAccountNameValidator = (bankAccountName: string): string => {\r\n if (bankAccountName === \"\") return 'Hesap adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const ibanValidator = (iban: string): string => {\r\n if (iban === \"\") return 'Iban alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankAccountCodeValidator = (bankAccountCode: string): string => {\r\n if (bankAccountCode === \"\") return 'Hesap kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankBranchCodeValidator = (bankBranchCode: string): string => {\r\n if (bankBranchCode === \"\") return 'Şube Kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankValidator = (bankId: number): string => {\r\n if (bankId === 0) return 'Banka seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const currencyValidator = (currencyId: number): string => {\r\n if (currencyId === 0) return 'Para Birimi seçiniz!'\r\n return '';\r\n}\r\n\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { bankAccountService, locationService } from '../../service';\r\nimport { BANKACCOUNT } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { bankAccountCodeValidator, bankAccountNameValidator, bankBranchCodeValidator, ibanValidator, companyValidator, bankValidator, currencyValidator } from '../../utils/bankaccount.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IBankAccountFormState {\r\n bankAccountName: string;\r\n bankAccountNameError: string;\r\n iban: string;\r\n ibanError: string;\r\n posCompanyCode: string;\r\n bankBranchCode: string;\r\n bankBranchCodeError: string;\r\n bankAccountCode: string;\r\n bankAccountCodeError: string;\r\n companyList: [],\r\n companyId: any,\r\n companyError: string;\r\n bankList: [],\r\n bankId: any,\r\n bankError: string;\r\n currencyList: [],\r\n currencyId: any,\r\n currencyError: string;\r\n description: string,\r\n searchText: string,\r\n isActive: boolean,\r\n isValorAccount: boolean,\r\n clientType:string,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IBankAccountFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass BankAccountForm extends Component {\r\n public readonly state: IBankAccountFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n bankAccountName: \"\",\r\n bankAccountNameError: \"\",\r\n iban: \"\",\r\n ibanError: \"\", \r\n posCompanyCode: \"\",\r\n bankBranchCode: \"\",\r\n bankBranchCodeError: \"\",\r\n bankAccountCode: \"\",\r\n bankAccountCodeError: \"\",\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n bankList: [],\r\n bankId: 0,\r\n bankError: \"\",\r\n currencyList: [],\r\n currencyId: 0,\r\n currencyError: \"\",\r\n description: \"\",\r\n searchText: \"\",\r\n isActive: true,\r\n isValorAccount: false,\r\n clientType:\"WEB\",\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeBankAccountName = this.onChangeBankAccountName.bind(this);\r\n this.onChangeIBAN = this.onChangeIBAN.bind(this);\r\n this.onChangeBankAccountCode = this.onChangeBankAccountCode.bind(this);\r\n this.onChangeBankBranchCode = this.onChangeBankBranchCode.bind(this);\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeBank = this.onChangeBank.bind(this);\r\n this.onChangeCurrency = this.onChangeCurrency.bind(this);\r\n this.onChangeDescription = this.onChangeDescription.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangeIsValorAccountStatus = this.onChangeIsValorAccountStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.bankAccountId) this.getEditableBankAccount();\r\n else { this.getBanks(); this.getCompanies(); this.getCurrencies(); this.setState({ loading: false }); }\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableBankAccount() {\r\n const { data, isSuccess, errorCode, errorMessage } = await bankAccountService.getById(this.props.match.params.bankAccountId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getBanks();\r\n await this.getCompanies();\r\n await this.getCurrencies();\r\n\r\n const state = {\r\n ...data,\r\n bankId: this.state.bankList.find((item: any) => item.id === data.bankId),\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId),\r\n currencyId: this.state.currencyList.find((item: any) => item.id === data.currencyId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false }); \r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeBankAccountName(e: ChangeEvent) {\r\n this.setState({ bankAccountName: e.target.value, bankAccountNameError: bankAccountNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeIBAN(e: ChangeEvent) {\r\n this.setState({ iban: e.target.value, ibanError: ibanValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeBankAccountCode(e: ChangeEvent) {\r\n this.setState({ bankAccountCode: e.target.value, bankAccountCodeError: bankAccountCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeBankBranchCode(e: ChangeEvent) {\r\n this.setState({ bankBranchCode: e.target.value, bankBranchCodeError: bankBranchCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) });\r\n }\r\n\r\n private onChangeBank(bankId: any) {\r\n this.setState({ bankId, bankError: bankValidator(bankId) });\r\n }\r\n\r\n private onChangeCurrency(currencyId: any) {\r\n this.setState({ currencyId, currencyError: currencyValidator(currencyId) });\r\n }\r\n\r\n private onChangeDescription(e: ChangeEvent) {\r\n this.setState({ description: e.target.value });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n private onChangeIsValorAccountStatus(e: ChangeEvent) {\r\n this.setState({ isValorAccount: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(BANKACCOUNT);\r\n }\r\n\r\n private async getBanks() {\r\n const { data } = await locationService.getBanks();\r\n\r\n const state = {\r\n bankId: this.state.bankId === 0 ? 0 : this.state.bankId.id,\r\n bankList: data.banks\r\n };\r\n\r\n this.setState(state);\r\n }\r\n \r\n private async getCurrencies() {\r\n const { data } = await locationService.getCurrencies();\r\n\r\n const state = {\r\n currencyId: this.state.currencyId === 0 ? 0 : this.state.currencyId.id,\r\n currencyList: data.currencies\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private async getCompanies() {\r\n const { data } = await locationService.getCompanies();\r\n\r\n const state = {\r\n companyId: this.state.companyId === 0 ? 0 : this.state.companyId.id,\r\n companyList: data.companies\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n this.state.errorMessage !== \"\" ? : null\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { bankAccountCode, bankAccountName, bankBranchCode, iban, companyId, bankId, currencyId } = this.state;\r\n\r\n if (\r\n bankAccountCodeValidator(bankAccountCode) !== \"\" ||\r\n bankAccountNameValidator(bankAccountName) !== \"\" ||\r\n bankBranchCodeValidator(bankBranchCode) !== \"\" ||\r\n ibanValidator(iban) !== \"\" ||\r\n companyValidator(companyId) !== \"\" ||\r\n bankValidator(bankId) !== \"\" ||\r\n currencyValidator(currencyId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n bankAccountCodeError: bankAccountCodeValidator(bankAccountCode),\r\n bankAccountNameError: bankAccountNameValidator(bankAccountName),\r\n bankBranchCodeError: bankBranchCodeValidator(bankBranchCode),\r\n ibanError: ibanValidator(iban),\r\n companyError: companyValidator(companyId),\r\n bankError: bankValidator(bankId),\r\n currencyError: currencyValidator(currencyId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { bankAccountName, iban, bankAccountCode, bankBranchCode, companyId, bankId, currencyId, description, posCompanyCode, isActive, isValorAccount, clientType, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n bankAccountName: sqlInjectValidator(bankAccountName),\r\n iban: sqlInjectValidator(iban),\r\n bankAccountCode: sqlInjectValidator(bankAccountCode),\r\n bankBranchCode: sqlInjectValidator(bankBranchCode),\r\n companyId: sqlInjectValidator(String(companyId.id)),\r\n bankId: sqlInjectValidator(String(bankId.id)),\r\n currencyId: sqlInjectValidator(String(currencyId.id)),\r\n description: sqlInjectValidator(description),\r\n posCompanyCode: sqlInjectValidator(posCompanyCode),\r\n isActive,\r\n isValorAccount,\r\n clientType\r\n };\r\n\r\n if (isEdit) await this.editBankAccount(model);\r\n else await this.createBankAccount(model);\r\n }\r\n }\r\n\r\n private async createBankAccount(model: any) {\r\n const data = await bankAccountService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editBankAccount(model: any) {\r\n const data = await bankAccountService.update({ ...model, id: this.props.match.params.bankAccountId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderBankAccountName() {\r\n const { bankAccountName, bankAccountNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderIBAN() {\r\n const { iban, ibanError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderBankAccountCode() {\r\n const { bankAccountCode, bankAccountCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderBankBranchCode() {\r\n const { bankBranchCode, bankBranchCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderDescription() {\r\n const { description } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n } \r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderBanks() {\r\n const { bankId, bankList, bankError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankError}\r\n \r\n );\r\n } \r\n\r\n private renderCurrencies() {\r\n const { currencyId, currencyList, currencyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {currencyError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderIsValorAccount() {\r\n const { isValorAccount } = this.state;\r\n\r\n return (\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Pos Valor Hesabı\"\r\n />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Hesap {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan hesap bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda hesap ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Hesap {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderBankAccountName()}\r\n {this.renderIBAN()}\r\n {this.renderBankBranchCode()}\r\n {this.renderBankAccountCode()}\r\n {this.renderCompanies()}\r\n {this.renderBanks()}\r\n {this.renderCurrencies()}\r\n {this.renderDescription()}\r\n {this.renderStatus()}\r\n {this.renderIsValorAccount()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(BankAccountForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_BANKCREDENTIAL, EDIT_BANKCREDENTIAL } from '../../routes/paths'\r\n\r\nimport { bankCredentialService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IBankCredentialListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewBankCredential: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class BankCredentialList extends Component {\r\n public readonly props: any;\r\n public readonly state: IBankCredentialListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Erişim bilgileri silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Erişim Bilgileri Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewBankCredential: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewBankCredential = this.addNewBankCredential.bind(this);\r\n\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getBankCredentials(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('BankCredential.CreateBankCredential') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getBankCredentials(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await bankCredentialService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.bankCredentials, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await bankCredentialService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeBankCredential() {\r\n if (this.deleteConfirmId) {\r\n await bankCredentialService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((bankCredential: any) => bankCredential.id !== this.deleteConfirmId) });\r\n this.getBankCredentials(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewBankCredential() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewBankCredential: false });\r\n } else {\r\n this.setState({ addNewBankCredential: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('BankCredential.UpdateBankCredential') != -1) && (permissionList.indexOf('BankCredential.DeleteBankCredential') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('BankCredential.UpdateBankCredential') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('BankCredential.DeleteBankCredential') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveBankCredential(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getBankCredentials(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getBankCredentials(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getBankCredentials(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeBankCredential();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getBankCredentials(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getBankCredentials(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Banka\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Müşteri Numarası\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Kullanıcı Adı\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n Şifre\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Firma Kodu\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Service Id\r\n \r\n \r\n this.handleSort(orderBy === 17 ? 18 : 17)}>\r\n \r\n Environment\r\n \r\n \r\n this.handleSort(orderBy === 19 ? 20 : 19)}>\r\n \r\n Service Company Name\r\n \r\n \r\n this.handleSort(orderBy === 21 ? 22 : 21)}>\r\n \r\n Company Key\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('BankCredential.UpdateBankCredential') != -1) && (permissionList.indexOf('BankCredential.DeleteBankCredential') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewBankCredential, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewBankCredential && }\r\n \r\n \r\n {resources.MenuLeftmenu1_8_5} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((bankCredential: any) => (\r\n \r\n \r\n {bankCredential.companyName}\r\n \r\n {bankCredential.bankName}\r\n {bankCredential.customerCode}\r\n {bankCredential.userName}\r\n {bankCredential.password}\r\n {bankCredential.companyCode}\r\n {bankCredential.serviceId}\r\n {bankCredential.environment}\r\n {bankCredential.serviceCompanyName}\r\n {bankCredential.companyKey}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveBankCredential(bankCredential.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport BankCredentialList from './BankCredentialList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IBankCredentialState {\r\n resources: any\r\n}\r\ninterface IBankCredentialProps {\r\n location: any,\r\n}\r\n\r\nexport default class BankCredential extends Component {\r\n public readonly state: IBankCredentialState;\r\n public readonly props: IBankCredentialProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n (errorMessage.includes('Başarıyla')) ? : \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_5}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_5}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//BankCredential\r\n\r\nexport const customerCodeValidator = (customerCode: string): string => {\r\n if (customerCode === \"\") return 'Müşteri kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const companyCodeValidator = (companyCode: string): string => {\r\n if (companyCode === \"\") return 'Firma kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const userNameValidator = (userName: string): string => {\r\n if (userName === \"\") return 'Kullanıcı adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const serviceIdValidator = (serviceId: string): string => {\r\n if (serviceId === \"\") return 'ServiceId alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const environmentValidator = (environment: string): string => {\r\n if (environment === \"\") return 'Environment alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const serviceCompanyNameValidator = (serviceCompanyName: string): string => {\r\n if (serviceCompanyName === \"\") return 'ServiceCompanyName alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const companyKeyValidator = (companyKey: string): string => {\r\n if (companyKey === \"\") return 'CompanyKey alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const passwordCodeValidator = (password: string): string => {\r\n if (password === \"\") return 'Şifre Kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankValidator = (bankId: number): string => {\r\n if (bankId === 0) return 'Banka seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { bankCredentialService, locationService } from '../../service';\r\nimport { BANKCREDENTIAL } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { bankValidator, customerCodeValidator, userNameValidator, passwordCodeValidator, companyValidator } from '../../utils/bankcredential.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IBankCredentialFormState {\r\n bankList: [],\r\n bankId: any,\r\n bankError: string,\r\n customerCode: string,\r\n customerCodeError: string,\r\n userName: string,\r\n userNameError: string,\r\n password: string,\r\n passwordError: string,\r\n companyCode: string,\r\n serviceId: string,\r\n environment: string,\r\n serviceCompanyName: string,\r\n companyKey: string,\r\n companyList: [],\r\n companyId: any,\r\n companyError: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string, \r\n isDisableCustomerCode: boolean, \r\n isDisableUserName: boolean, \r\n isDisablePassword: boolean,\r\n isDisableCompanyCode: boolean,\r\n isDisableServiceId: boolean,\r\n isDisableEnvironment: boolean,\r\n isDisableServiceCompanyName: boolean,\r\n isDisableCompanyKey: boolean,\r\n}\r\n\r\nexport interface IBankCredentialFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass BankCredentialForm extends Component {\r\n public readonly state: IBankCredentialFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n bankList: [],\r\n bankId: 0,\r\n bankError: \"\",\r\n customerCode: \"\",\r\n customerCodeError: \"\",\r\n userName: \"\",\r\n userNameError: \"\",\r\n password: \"\",\r\n passwordError: \"\",\r\n companyCode: \"\",\r\n serviceId: \"\",\r\n environment: \"\",\r\n serviceCompanyName: \"\",\r\n companyKey: \"\",\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\", \r\n isDisableCustomerCode: false, \r\n isDisableUserName: false, \r\n isDisablePassword: false, \r\n isDisableCompanyCode: false,\r\n isDisableServiceId: false,\r\n isDisableEnvironment: false,\r\n isDisableServiceCompanyName: false,\r\n isDisableCompanyKey: false,\r\n };\r\n\r\n this.onChangeBank = this.onChangeBank.bind(this);\r\n this.onChangeCustomerCode = this.onChangeCustomerCode.bind(this);\r\n this.onChangeUserName = this.onChangeUserName.bind(this);\r\n this.onChangePassword = this.onChangePassword.bind(this);\r\n this.onChangeCompanyCode = this.onChangeCompanyCode.bind(this);\r\n this.onChangeServiceId = this.onChangeServiceId.bind(this);\r\n this.onChangeEnvironment = this.onChangeEnvironment.bind(this);\r\n this.onChangeServiceCompanyName = this.onChangeServiceCompanyName.bind(this);\r\n this.onChangeCompanyKey = this.onChangeCompanyKey.bind(this);\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.bankCredentialId) this.getEditableBankCredential();\r\n else { this.getBanks(); this.getCompanies(); }\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableBankCredential() {\r\n const { data, isSuccess, errorCode, errorMessage } = await bankCredentialService.getById(this.props.match.params.bankCredentialId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getBanks();\r\n await this.getCompanies();\r\n const state = {\r\n ...data,\r\n bankId: this.state.bankList.find((item: any) => item.id === data.bankId),\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId), \r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n \r\n /*this.setState({isDisableCustomerCode: (\r\n this.state.bankId.id === 28) ? true : false});*/\r\n\r\n this.setState({isDisableUserName: (\r\n this.state.bankId.id === 11 ||\r\n this.state.bankId.id === 14 ||\r\n this.state.bankId.id === 15 ||\r\n this.state.bankId.id === 17) ? true : false});\r\n \r\n this.setState({isDisablePassword: (\r\n this.state.bankId.id === 11 ||\r\n this.state.bankId.id === 15 ||\r\n this.state.bankId.id === 5 ||\r\n this.state.bankId.id === 17) ? true : false});\r\n \r\n this.setState({isDisableCompanyCode: (\r\n this.state.bankId.id === 1 || \r\n this.state.bankId.id === 2 || \r\n this.state.bankId.id === 4 || \r\n this.state.bankId.id === 8 || \r\n this.state.bankId.id === 9 || \r\n this.state.bankId.id === 10 || \r\n this.state.bankId.id === 12 || \r\n this.state.bankId.id === 13 || \r\n this.state.bankId.id === 14 ||\r\n this.state.bankId.id === 15 || \r\n this.state.bankId.id === 16 || \r\n this.state.bankId.id === 17 || \r\n this.state.bankId.id === 18 || \r\n this.state.bankId.id === 19 ||\r\n this.state.bankId.id === 20 ||\r\n this.state.bankId.id === 23 ||\r\n this.state.bankId.id === 27 ||\r\n this.state.bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableServiceId: (\r\n this.state.bankId.id === 1 || \r\n this.state.bankId.id === 2 || \r\n this.state.bankId.id === 3 ||\r\n this.state.bankId.id === 4 || \r\n this.state.bankId.id === 5 ||\r\n this.state.bankId.id === 6 ||\r\n this.state.bankId.id === 7 ||\r\n this.state.bankId.id === 8 || \r\n this.state.bankId.id === 9 || \r\n this.state.bankId.id === 11 ||\r\n this.state.bankId.id === 13 ||\r\n this.state.bankId.id === 14 ||\r\n this.state.bankId.id === 15 || \r\n this.state.bankId.id === 16 || \r\n this.state.bankId.id === 17 || \r\n this.state.bankId.id === 18 || \r\n this.state.bankId.id === 19 ||\r\n this.state.bankId.id === 20 ||\r\n this.state.bankId.id === 21 ||\r\n this.state.bankId.id === 22 ||\r\n this.state.bankId.id === 23 ||\r\n this.state.bankId.id === 27 ||\r\n this.state.bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableEnvironment: (\r\n this.state.bankId.id === 1 || \r\n this.state.bankId.id === 2 || \r\n this.state.bankId.id === 3 ||\r\n this.state.bankId.id === 4 || \r\n this.state.bankId.id === 5 ||\r\n this.state.bankId.id === 6 ||\r\n this.state.bankId.id === 7 ||\r\n this.state.bankId.id === 8 || \r\n this.state.bankId.id === 9 || \r\n this.state.bankId.id === 10 || \r\n this.state.bankId.id === 11 ||\r\n this.state.bankId.id === 12 || \r\n this.state.bankId.id === 13 ||\r\n this.state.bankId.id === 14 ||\r\n this.state.bankId.id === 15 || \r\n this.state.bankId.id === 16 || \r\n this.state.bankId.id === 17 || \r\n this.state.bankId.id === 18 || \r\n this.state.bankId.id === 20 ||\r\n this.state.bankId.id === 21 ||\r\n this.state.bankId.id === 22 ||\r\n this.state.bankId.id === 23 ||\r\n this.state.bankId.id === 27 ||\r\n this.state.bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableServiceCompanyName: (\r\n this.state.bankId.id === 1 || \r\n this.state.bankId.id === 2 || \r\n this.state.bankId.id === 3 ||\r\n this.state.bankId.id === 4 || \r\n this.state.bankId.id === 5 ||\r\n this.state.bankId.id === 6 ||\r\n this.state.bankId.id === 7 ||\r\n this.state.bankId.id === 8 || \r\n this.state.bankId.id === 9 || \r\n this.state.bankId.id === 10 || \r\n this.state.bankId.id === 11 ||\r\n this.state.bankId.id === 12 || \r\n this.state.bankId.id === 13 ||\r\n this.state.bankId.id === 14 ||\r\n this.state.bankId.id === 15 || \r\n this.state.bankId.id === 16 || \r\n this.state.bankId.id === 17 || \r\n this.state.bankId.id === 18 || \r\n this.state.bankId.id === 19 || \r\n this.state.bankId.id === 20 ||\r\n this.state.bankId.id === 21 ||\r\n this.state.bankId.id === 22 ||\r\n this.state.bankId.id === 23 ||\r\n this.state.bankId.id === 27 ||\r\n this.state.bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableCompanyKey: (\r\n this.state.bankId.id === 1 || \r\n this.state.bankId.id === 2 || \r\n this.state.bankId.id === 3 ||\r\n this.state.bankId.id === 4 || \r\n this.state.bankId.id === 5 ||\r\n this.state.bankId.id === 6 ||\r\n this.state.bankId.id === 7 ||\r\n this.state.bankId.id === 8 || \r\n this.state.bankId.id === 9 || \r\n this.state.bankId.id === 10 ||\r\n this.state.bankId.id === 11 ||\r\n this.state.bankId.id === 13 ||\r\n this.state.bankId.id === 14 ||\r\n this.state.bankId.id === 16 ||\r\n this.state.bankId.id === 18 || \r\n this.state.bankId.id === 19 || \r\n this.state.bankId.id === 20 ||\r\n this.state.bankId.id === 21 ||\r\n this.state.bankId.id === 22 ||\r\n this.state.bankId.id === 23 ||\r\n this.state.bankId.id === 27 ||\r\n this.state.bankId.id === 28) ? true : false}); \r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeBank(bankId: any) {\r\n this.setState({ bankId, bankError: bankValidator(bankId) });\r\n /*this.setState({isDisableCustomerCode: (\r\n bankId.id === 28) ? true : false});*/\r\n\r\n this.setState({isDisableUserName: (\r\n bankId.id === 11 || \r\n bankId.id === 14 ||\r\n bankId.id === 15 ||\r\n bankId.id === 17) ? true : false});\r\n \r\n this.setState({isDisablePassword: (\r\n bankId.id === 5 ||\r\n bankId.id === 11 || \r\n bankId.id === 15 ||\r\n bankId.id === 17) ? true : false});\r\n\r\n this.setState({isDisableCompanyCode: (\r\n bankId.id === 1 || \r\n bankId.id === 2 || \r\n bankId.id === 4 || \r\n bankId.id === 8 || \r\n bankId.id === 9 || \r\n bankId.id === 10 || \r\n bankId.id === 12 || \r\n bankId.id === 13 || \r\n bankId.id === 14 ||\r\n bankId.id === 15 || \r\n bankId.id === 16 || \r\n bankId.id === 17 || \r\n bankId.id === 18 || \r\n bankId.id === 19 ||\r\n bankId.id === 20 ||\r\n bankId.id === 23 ||\r\n bankId.id === 27 ||\r\n bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableServiceId: (\r\n bankId.id === 1 || \r\n bankId.id === 2 || \r\n bankId.id === 3 ||\r\n bankId.id === 4 || \r\n bankId.id === 5 ||\r\n bankId.id === 6 ||\r\n bankId.id === 7 ||\r\n bankId.id === 8 || \r\n bankId.id === 9 || \r\n bankId.id === 11 || \r\n bankId.id === 13 ||\r\n bankId.id === 14 ||\r\n bankId.id === 15 || \r\n bankId.id === 16 || \r\n bankId.id === 17 || \r\n bankId.id === 18 || \r\n bankId.id === 19 ||\r\n bankId.id === 20 ||\r\n bankId.id === 21 ||\r\n bankId.id === 22 ||\r\n bankId.id === 23 ||\r\n bankId.id === 27 ||\r\n bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableEnvironment: (\r\n bankId.id === 1 || \r\n bankId.id === 2 || \r\n bankId.id === 3 ||\r\n bankId.id === 4 || \r\n bankId.id === 5 ||\r\n bankId.id === 6 ||\r\n bankId.id === 7 ||\r\n bankId.id === 8 || \r\n bankId.id === 9 || \r\n bankId.id === 10 || \r\n bankId.id === 11 || \r\n bankId.id === 12 || \r\n bankId.id === 13 ||\r\n bankId.id === 14 ||\r\n bankId.id === 15 || \r\n bankId.id === 16 || \r\n bankId.id === 17 || \r\n bankId.id === 18 || \r\n bankId.id === 20 ||\r\n bankId.id === 21 ||\r\n bankId.id === 22 ||\r\n bankId.id === 23 ||\r\n bankId.id === 27 ||\r\n bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableServiceCompanyName: (\r\n bankId.id === 1 || \r\n bankId.id === 2 || \r\n bankId.id === 3 ||\r\n bankId.id === 4 || \r\n bankId.id === 5 ||\r\n bankId.id === 6 ||\r\n bankId.id === 7 ||\r\n bankId.id === 8 || \r\n bankId.id === 9 || \r\n bankId.id === 10 || \r\n bankId.id === 11 || \r\n bankId.id === 12 || \r\n bankId.id === 13 ||\r\n bankId.id === 14 ||\r\n bankId.id === 15 || \r\n bankId.id === 16 || \r\n bankId.id === 17 || \r\n bankId.id === 18 || \r\n bankId.id === 19 || \r\n bankId.id === 20 ||\r\n bankId.id === 21 ||\r\n bankId.id === 22 ||\r\n bankId.id === 23 ||\r\n bankId.id === 27 ||\r\n bankId.id === 28) ? true : false});\r\n \r\n this.setState({isDisableCompanyKey: (\r\n bankId.id === 1 || \r\n bankId.id === 2 || \r\n bankId.id === 3 ||\r\n bankId.id === 4 || \r\n bankId.id === 5 ||\r\n bankId.id === 6 ||\r\n bankId.id === 7 ||\r\n bankId.id === 8 || \r\n bankId.id === 9 || \r\n bankId.id === 10 ||\r\n bankId.id === 11 || \r\n bankId.id === 13 ||\r\n bankId.id === 14 ||\r\n bankId.id === 16 ||\r\n bankId.id === 18 || \r\n bankId.id === 19 || \r\n bankId.id === 20 ||\r\n bankId.id === 21 ||\r\n bankId.id === 22 ||\r\n bankId.id === 23 ||\r\n bankId.id === 27 ||\r\n bankId.id === 28) ? true : false}); \r\n }\r\n\r\n private onChangeCustomerCode(e: ChangeEvent) {\r\n this.setState({ customerCode: e.target.value, customerCodeError: customerCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeUserName(e: ChangeEvent) {\r\n this.setState({ userName: e.target.value, userNameError: userNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangePassword(e: ChangeEvent) {\r\n this.setState({ password: e.target.value, passwordError: \"\" });\r\n {/*this.setState({ password: e.target.value, passwordError: passwordCodeValidator(e.currentTarget.value) });*/}\r\n }\r\n\r\n private onChangeCompanyCode(e: ChangeEvent) {\r\n this.setState({ companyCode: e.target.value });\r\n }\r\n\r\n private onChangeServiceId(e: ChangeEvent) {\r\n this.setState({ serviceId: e.target.value });\r\n }\r\n\r\n private onChangeEnvironment(e: ChangeEvent) {\r\n this.setState({ environment: e.target.value });\r\n }\r\n\r\n private onChangeServiceCompanyName(e: ChangeEvent) {\r\n this.setState({ serviceCompanyName: e.target.value });\r\n }\r\n\r\n private onChangeCompanyKey(e: ChangeEvent) {\r\n this.setState({ companyKey: e.target.value });\r\n }\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(BANKCREDENTIAL);\r\n }\r\n\r\n private async getBanks() {\r\n const { data } = await locationService.getBanks();\r\n\r\n const state = {\r\n bankId: this.state.bankId === 0 ? 0 : this.state.bankId.id,\r\n bankList: data.banks\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n\r\n\r\n private async getCompanies() {\r\n const { data } = await locationService.getCompanies();\r\n\r\n const state = {\r\n companyId: this.state.companyId === 0 ? 0 : this.state.companyId.id,\r\n companyList: data.companies,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n this.state.errorMessage !== \"\" ? : null\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { bankId, customerCode, userName, password, companyId } = this.state;\r\n\r\n if (\r\n customerCodeValidator(customerCode) !== \"\" ||\r\n companyValidator(companyId) !== \"\" ||\r\n bankValidator(bankId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n customerCodeError: customerCodeValidator(customerCode),\r\n companyError: companyValidator(companyId),\r\n bankError: bankValidator(bankId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { bankId, customerCode, userName, password, companyCode, serviceId, environment, serviceCompanyName, companyKey, companyId, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) { \r\n const model = {\r\n bankId: bankId.id,\r\n customerCode: sqlInjectValidator(customerCode),\r\n userName: sqlInjectValidator(userName),\r\n password,\r\n companyCode: sqlInjectValidator(companyCode),\r\n serviceId: sqlInjectValidator(serviceId),\r\n environment: sqlInjectValidator(environment),\r\n serviceCompanyName: sqlInjectValidator(serviceCompanyName),\r\n companyKey: sqlInjectValidator(companyKey),\r\n companyId: companyId.id,\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editBankCredential(model);\r\n else await this.createBankCredential(model);\r\n }\r\n }\r\n\r\n private async createBankCredential(model: any) {\r\n const data = await bankCredentialService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editBankCredential(model: any) {\r\n const data = await bankCredentialService.update({ ...model, id: this.props.match.params.bankCredentialId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n private renderBanks() {\r\n const { bankId, bankList, bankError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankError}\r\n \r\n );\r\n }\r\n\r\n private renderCustomerCode() {\r\n const { customerCode, customerCodeError, isDisableCustomerCode } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderUserName() {\r\n const { userName, userNameError, isDisableUserName } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderPassword() {\r\n const { password, passwordError, isDisablePassword } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCompanyCode() {\r\n const { companyCode, isDisableCompanyCode } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderServiceId() {\r\n const { serviceId, isDisableServiceId } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderEnvironment() {\r\n const { environment, isDisableEnvironment } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderServiceCompanyName() {\r\n const { serviceCompanyName, isDisableServiceCompanyName } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCompanyKey() {\r\n const { companyKey, isDisableCompanyKey } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Erişim Bilgileri {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan erişim bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda erişim bilgileri ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Erişim Bilgileri {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderBanks()}\r\n {this.renderCustomerCode()}\r\n {this.renderUserName()}\r\n {this.renderPassword()}\r\n {this.renderCompanyCode()}\r\n {this.renderServiceId()}\r\n {this.renderEnvironment()}\r\n {this.renderServiceCompanyName()}\r\n {this.renderCompanyKey()}\r\n {this.renderCompanies()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(BankCredentialForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_BANKFTPCREDENTIAL, EDIT_BANKFTPCREDENTIAL } from '../../routes/paths'\r\n\r\nimport { bankFTPCredentialService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IBankFTPCredentialListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewBankFTPCredential: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class BankFTPCredentialList extends Component {\r\n public readonly props: any;\r\n public readonly state: IBankFTPCredentialListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"FTP Erişim bilgileri silmek istediginize emin misiniz?\",\r\n confirmTitle: \"FTP Erişim Bilgileri Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewBankFTPCredential: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewBankFTPCredential = this.addNewBankFTPCredential.bind(this);\r\n\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getBankFTPCredentials(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('BankFTPCredential.CreateBankFTPCredential') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getBankFTPCredentials(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await bankFTPCredentialService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.bankFTPCredentials, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await bankFTPCredentialService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeBankFTPCredential() {\r\n if (this.deleteConfirmId) {\r\n await bankFTPCredentialService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((bankFTPCredential: any) => bankFTPCredential.id !== this.deleteConfirmId) });\r\n this.getBankFTPCredentials(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewBankFTPCredential() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewBankFTPCredential: false });\r\n } else {\r\n this.setState({ addNewBankFTPCredential: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('BankFTPCredential.UpdateBankFTPCredential') != -1) && (permissionList.indexOf('BankFTPCredential.DeleteBankFTPCredential') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('BankFTPCredential.UpdateBankFTPCredential') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('BankFTPCredential.DeleteBankFTPCredential') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveBankFTPCredential(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getBankFTPCredentials(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getBankFTPCredentials(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getBankFTPCredentials(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeBankFTPCredential();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getBankFTPCredentials(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getBankFTPCredentials(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Banka\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Hesap\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Üye İşyeri No\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Kullanıcı Adı\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n Şifre\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('BankFTPCredential.UpdateBankFTPCredential') != -1) && (permissionList.indexOf('BankFTPCredential.DeleteBankFTPCredential') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewBankFTPCredential, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewBankFTPCredential && }\r\n \r\n \r\n {resources.MenuLeftmenu1_8_8} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((bankFTPCredential: any) => (\r\n \r\n \r\n {bankFTPCredential.companyName}\r\n \r\n {bankFTPCredential.bankName}\r\n {bankFTPCredential.bankAccountName}\r\n {bankFTPCredential.posMerchantCode}\r\n {bankFTPCredential.userName}\r\n {bankFTPCredential.password}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveBankFTPCredential(bankFTPCredential.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport BankFTPCredentialList from './BankFTPCredentialList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IBankFTPCredentialState {\r\n resources: any\r\n}\r\ninterface IBankFTPCredentialProps {\r\n location: any,\r\n}\r\n\r\nexport default class BankFTPCredential extends Component {\r\n public readonly state: IBankFTPCredentialState;\r\n public readonly props: IBankFTPCredentialProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n (errorMessage.includes('Başarıyla')) ? : \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_8}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_8}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//BankFTPCredential\r\n\r\n\r\nexport const userNameValidator = (userName: string): string => {\r\n if (userName === \"\") return 'Kullanıcı adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const passwordCodeValidator = (password: string): string => {\r\n if (password === \"\") return 'Şifre Kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankValidator = (bankId: number): string => {\r\n if (bankId === 0) return 'Banka seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankAccountValidator = (bankAccountId: number): string => {\r\n if (bankAccountId === 0) return 'Hesap seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const posMerchantCodeValidator = (posMerchantCode: string): string => {\r\n if (posMerchantCode === \"\") return 'Üye İşyeri Numarası alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { bankFTPCredentialService, locationService } from '../../service';\r\nimport { BANKFTPCREDENTIAL } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { bankValidator, bankAccountValidator, userNameValidator, passwordCodeValidator, posMerchantCodeValidator, companyValidator } from '../../utils/bankftpcredential.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IBankFTPCredentialFormState {\r\n bankList: [],\r\n bankId: any,\r\n bankError: string, \r\n bankAccountList: [],\r\n bankAccountId: any,\r\n bankAccountError: any,\r\n userName: string,\r\n userNameError: string,\r\n password: string,\r\n passwordError: string,\r\n posMerchantCode: string,\r\n posMerchantCodeError: string,\r\n companyList: [],\r\n companyId: any,\r\n companyError: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IBankFTPCredentialFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass BankFTPCredentialForm extends Component {\r\n public readonly state: IBankFTPCredentialFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n bankList: [],\r\n bankId: 0,\r\n bankError: \"\",\r\n bankAccountList: [],\r\n bankAccountId: 0,\r\n bankAccountError: \"\",\r\n userName: \"\",\r\n userNameError: \"\",\r\n password: \"\",\r\n passwordError: \"\",\r\n posMerchantCode: \"\",\r\n posMerchantCodeError: \"\",\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeBank = this.onChangeBank.bind(this);\r\n this.onChangeBankAccount = this.onChangeBankAccount.bind(this);\r\n this.onChangeUserName = this.onChangeUserName.bind(this);\r\n this.onChangePassword = this.onChangePassword.bind(this);\r\n this.onChangePosMerchantCode = this.onChangePosMerchantCode.bind(this);\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.bankFTPCredentialId) this.getEditableBankFTPCredential();\r\n else { {/*this.getBanks();*/} this.getCompanies();}\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableBankFTPCredential() {\r\n const { data, isSuccess, errorCode, errorMessage } = await bankFTPCredentialService.getById(this.props.match.params.bankFTPCredentialId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getBanks();\r\n await this.getCompanies();\r\n const state = {\r\n ...data,\r\n bankId: this.state.bankList.find((item: any) => item.id === data.bankId),\r\n /*bankAccountId: this.state.bankAccountList.find((item: any) => item.id === data.bankAccountId),*/\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId),\r\n isEdit: true\r\n }\r\n\r\n if (isSuccess) this.setState({ ...state}); \r\n\r\n await this.getBankAccounts(state.companyId.id, state.bankAccountId.id, true);\r\n this.setState({ bankAccountId: this.state.bankAccountList.find((item: any) => item.id === data.bankAccountId), loading: false })\r\n \r\n \r\n\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeBank(bankId: any) {\r\n this.setState({ bankId, bankError: bankValidator(bankId), bankAccountId : 0 });\r\n //console.log(this.state.companyId.id)\r\n this.getBankAccounts(this.state.companyId.id, bankId.id, true);\r\n }\r\n\r\n private onChangeBankAccount(bankAccountId: any) {\r\n this.setState({ bankAccountId, bankAccountError: bankAccountValidator(bankAccountId)});\r\n } \r\n\r\n private onChangeUserName(e: ChangeEvent) {\r\n this.setState({ userName: e.target.value, userNameError: userNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangePassword(e: ChangeEvent) {\r\n this.setState({ password: e.target.value, passwordError: passwordCodeValidator(e.currentTarget.value) });\r\n } \r\n\r\n private onChangePosMerchantCode(e: ChangeEvent) {\r\n this.setState({ posMerchantCode: e.target.value, posMerchantCodeError: posMerchantCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) })\r\n this.getBanks();;\r\n\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(BANKFTPCREDENTIAL);\r\n } \r\n\r\n private async getBanks(useDefault: boolean = true) {\r\n const { data } = await locationService.getBanks();\r\n\r\n const state = {\r\n bankId: useDefault ? 0 : this.state.bankId.id,\r\n bankList: data.banks,\r\n /*loading: false*/\r\n };\r\n\r\n this.setState(state);\r\n\r\n /*if (this.props.match.params.companyId) await this.getBankAccounts(state.bankId);*/\r\n {/*await this.getBankAccounts(state.bankId, useDefault);*/}\r\n }\r\n\r\n private async getBankAccounts(companyId: number, bankId: number, useDefault: boolean) {\r\n const { data } = await locationService.getBankAccountsCompanyBankDropDown(companyId, bankId);\r\n\r\n const state = {\r\n bankAccountList: data.bankAccounts,\r\n bankAccountId: useDefault ? 0 : this.state.bankAccountId.id,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private async getCompanies() {\r\n const { data } = await locationService.getCompanies();\r\n\r\n const state = {\r\n companyId: this.state.companyId === 0 ? 0 : this.state.companyId.id,\r\n companyList: data.companies,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n this.state.errorMessage !== \"\" ? : null\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { bankId, bankAccountId, userName, password, companyId } = this.state;\r\n\r\n if (\r\n bankAccountValidator(bankAccountId) !== \"\" ||\r\n userNameValidator(userName) !== \"\" ||\r\n passwordCodeValidator(password) !== \"\" ||\r\n companyValidator(companyId) !== \"\" ||\r\n bankValidator(bankId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n bankAccountError: bankAccountValidator(bankAccountId),\r\n userNameError: userNameValidator(userName),\r\n passwordError: passwordCodeValidator(password),\r\n companyError: companyValidator(companyId),\r\n bankError: bankValidator(bankId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { bankId, bankAccountId, userName, password, posMerchantCode, companyId, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) { \r\n const model = {\r\n bankId: bankId.id,\r\n bankAccountId: bankAccountId.id,\r\n userName: sqlInjectValidator(userName),\r\n password,\r\n posMerchantCode: sqlInjectValidator(posMerchantCode),\r\n companyId: companyId.id,\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editBankFTPCredential(model);\r\n else await this.createBankFTPCredential(model);\r\n }\r\n }\r\n\r\n private async createBankFTPCredential(model: any) {\r\n const data = await bankFTPCredentialService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editBankFTPCredential(model: any) {\r\n const data = await bankFTPCredentialService.update({ ...model, id: this.props.match.params.bankFTPCredentialId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n private renderBanks() {\r\n const { bankId, bankList, bankError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankError}\r\n \r\n );\r\n }\r\n\r\n private renderBankAccounts() {\r\n const { bankAccountId, bankAccountList, bankAccountError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankAccountError}\r\n \r\n );\r\n }\r\n\r\n private renderPosMerchantCode() {\r\n const { posMerchantCode, posMerchantCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderUserName() {\r\n const { userName, userNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderPassword() {\r\n const { password, passwordError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n FTP Erişim Bilgileri {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan ftp erişim bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda ftp erişim bilgileri ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n FTP Erişim Bilgileri {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu \r\n {this.renderCompanies()}\r\n {this.renderBanks()}\r\n {this.renderBankAccounts()}\r\n {this.renderPosMerchantCode()}\r\n {this.renderUserName()}\r\n {this.renderPassword()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(BankFTPCredentialForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_COUNTRY, EDIT_COUNTRY } from '../../routes/paths'\r\n\r\nimport { countryService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface ICountryListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewCountry: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class CountryList extends Component {\r\n public readonly props: any;\r\n public readonly state: ICountryListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Ülke silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Ülke Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewCountry: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewCountry = this.addNewCountry.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getCountries(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Country.CreateCountry') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getCountries(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await countryService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.countries, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await countryService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeCountry() {\r\n if (this.deleteConfirmId) {\r\n await countryService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((country: any) => country.id !== this.deleteConfirmId) })\r\n this.getCountries(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewCountry() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewCountry: false });\r\n } else {\r\n this.setState({ addNewCountry: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Country.UpdateCountry') != -1) && (permissionList.indexOf('Country.DeleteCountry') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Country.UpdateCountry') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Country.DeleteCountry') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveCountry(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getCountries(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getCountries(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getCountries(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeCountry();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getCountries(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getCountries(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Ülke Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Ülke Kodu\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Ülke Telefon Kodu\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Country.UpdateCountry') != -1) && (permissionList.indexOf('Country.DeleteCountry') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewCountry, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewCountry && }\r\n \r\n \r\n {resources.MenuLeftmenu1_6_4} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((country: any) => (\r\n \r\n \r\n {country.countryName}\r\n \r\n {country.countryCode}\r\n {country.countryPhoneCode}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveCountry(country.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport CountryList from './CountryList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface ICountryState {\r\n resources: any\r\n}\r\n\r\ninterface ICountryProps {\r\n location: any,\r\n}\r\n\r\nexport default class Country extends Component {\r\n public readonly state: ICountryState;\r\n public readonly props: ICountryProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_6_4}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_6}
    • \r\n
    • {resources.MenuLeftmenu1_6_4}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//Country\r\n\r\nexport const countryNameValidator = (countryName: string): string => {\r\n if (countryName === \"\") return 'Ülke adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const countryCodeValidator = (countryCode: string): string => {\r\n if (countryCode === \"\") return 'Ülke kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const countryPhoneCodeValidator = (countryPhoneCode: string): string => {\r\n if (countryPhoneCode === \"0\") return 'Ülke telefon kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { countryService } from '../../service';\r\nimport { COUNTRY } from '../../routes/paths';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { countryCodeValidator, countryNameValidator, countryPhoneCodeValidator } from '../../utils/country.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface ICountryFormState {\r\n countryName: string,\r\n countryNameError: string,\r\n countryCode: string,\r\n countryCodeError: string,\r\n countryPhoneCode: number,\r\n countryPhoneCodeError: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface ICountryFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass CountryForm extends Component {\r\n public readonly state: ICountryFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n countryName: \"\",\r\n countryNameError: \"\",\r\n countryCode: \"\",\r\n countryCodeError: \"\",\r\n isActive: true,\r\n countryPhoneCode: 0,\r\n countryPhoneCodeError: \"\",\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCountryName = this.onChangeCountryName.bind(this);\r\n this.onChangeCountryCode = this.onChangeCountryCode.bind(this);\r\n this.onChangeCountryPhoneCode = this.onChangeCountryPhoneCode.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.countryId) this.getEditableCountry();\r\n else this.setState({ loading: false });\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableCountry() {\r\n const { data, isSuccess, errorCode, errorMessage } = await countryService.getById(this.props.match.params.countryId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n const state = {\r\n ...data,\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCountryName(e: ChangeEvent) {\r\n this.setState({ countryName: e.target.value, countryNameError: countryNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCountryCode(e: ChangeEvent) {\r\n this.setState({ countryCode: e.target.value, countryCodeError: countryCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCountryPhoneCode(e: ChangeEvent) {\r\n if (Number(e.target.value) || e.target.value == \"\") {\r\n this.setState({ countryPhoneCode: Number(e.target.value), countryPhoneCodeError: countryPhoneCodeValidator(String(e.target.value)) });\r\n }\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(COUNTRY);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { countryCode, countryName, countryPhoneCode } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n countryCodeValidator(countryCode) !== \"\" ||\r\n countryPhoneCodeValidator(String(countryPhoneCode)) !== \"\" ||\r\n countryNameValidator(countryName) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n countryCodeError: countryCodeValidator(countryCode),\r\n countryPhoneCodeError: countryPhoneCodeValidator(String(countryPhoneCode)),\r\n countryNameError: countryNameValidator(countryName)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { countryName, countryCode, countryPhoneCode, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n countryName: sqlInjectValidator(countryName),\r\n countryCode: sqlInjectValidator(countryCode),\r\n countryPhoneCode: sqlInjectValidator(String(countryPhoneCode)),\r\n isActive\r\n };\r\n\r\n\r\n if (isEdit) await this.editCountry(model);\r\n else await this.createCountry(model);\r\n }\r\n }\r\n\r\n private async createCountry(model: any) {\r\n const data = await countryService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editCountry(model: any) {\r\n const data = await countryService.update({ ...model, id: this.props.match.params.countryId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderCountryName() {\r\n const { countryName, countryNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCountryCode() {\r\n const { countryCode, countryCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCountryPhoneCode() {\r\n const { countryPhoneCode, countryPhoneCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Ülke {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan ülke bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda ülke ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Ülke {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderCountryName()}\r\n {this.renderCountryCode()}\r\n {this.renderCountryPhoneCode()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(CountryForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_CITY, EDIT_CITY } from '../../routes/paths'\r\n\r\nimport { cityService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface ICityListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewCity: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class CityList extends Component {\r\n public readonly props: any;\r\n public readonly state: ICityListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Şehir silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Şehir Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewCity: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewCity = this.addNewCity.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({\r\n permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId\r\n });\r\n this.getCities(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('City.CreateCity') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getCities(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await cityService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.cities, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await cityService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeCity() {\r\n if (this.deleteConfirmId) {\r\n await cityService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((city: any) => city.id !== this.deleteConfirmId) });\r\n this.getCities(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewCity() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewCity: false });\r\n } else {\r\n this.setState({ addNewCity: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('City.UpdateCity') != -1) && (permissionList.indexOf('City.DeleteCity') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('City.UpdateCity') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('City.DeleteCity') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveCity(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getCities(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getCities(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getCities(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeCity();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getCities(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getCities(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Şehir Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Ülke\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('City.UpdateCity') != -1) && (permissionList.indexOf('City.DeleteCity') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewCity, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewCity && }\r\n \r\n \r\n {resources.MenuLeftmenu1_6_5} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((city: any) => (\r\n \r\n \r\n {city.cityName}\r\n \r\n {city.countryName}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveCity(city.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport CityList from './CityList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface ICityState {\r\n resources: any\r\n}\r\n\r\ninterface ICityProps {\r\n location: any,\r\n}\r\n\r\nexport default class City extends Component {\r\n public readonly state: ICityState;\r\n public readonly props: ICityProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_6_5}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_6}
    • \r\n
    • {resources.MenuLeftmenu1_6_5}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//City\r\n\r\nexport const cityNameValidator = (cityName: string): string => {\r\n if (cityName === \"\") return 'Şehir adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const countryValidator = (countryId: number): string => {\r\n if (countryId === 0) return 'Ülke seçiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cityService, locationService } from '../../service';\r\nimport { CITY } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { cityNameValidator, countryValidator } from '../../utils/city.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface ICityFormState {\r\n cityName: string;\r\n cityNameError: string;\r\n countryList: [],\r\n countryId: any,\r\n countryError: string;\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface ICityFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass CityForm extends Component {\r\n public readonly state: ICityFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n cityName: \"\",\r\n cityNameError: \"\",\r\n isActive: true,\r\n countryList: [],\r\n countryId: 0,\r\n countryError: \"\",\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCityName = this.onChangeCityName.bind(this);\r\n this.onChangeCountry = this.onChangeCountry.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.cityId) this.getEditableCity();\r\n else this.getCountries()\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableCity() {\r\n const { data, isSuccess, errorCode, errorMessage } = await cityService.getById(this.props.match.params.cityId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getCountries();\r\n const state = {\r\n ...data,\r\n countryId: this.state.countryList.find((item: any) => item.id === data.countryId),\r\n isEdit: true\r\n }\r\n\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCityName(e: ChangeEvent) {\r\n this.setState({ cityName: e.target.value, cityNameError: cityNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCountry(countryId: any) {\r\n this.setState({ countryId, countryError: countryValidator(countryId) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(CITY);\r\n }\r\n\r\n private async getCountries(useDefault: boolean = true) {\r\n const { data } = await locationService.getCountries();\r\n\r\n const state = {\r\n countryId: useDefault ? 0 : this.state.countryId.id,\r\n countryList: data.countries,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { cityName, countryId } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n cityNameValidator(cityName) !== \"\" ||\r\n countryValidator(countryId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n cityNameError: cityNameValidator(cityName),\r\n countryError: countryValidator(countryId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { cityName, countryId, isActive, isEdit } = this.state;\r\n\r\n const model = {\r\n cityName: sqlInjectValidator(cityName),\r\n countryId: sqlInjectValidator(String(countryId.id)),\r\n isActive\r\n };\r\n\r\n if (this.formValidation()) {\r\n if (isEdit) await this.editCity(model);\r\n else await this.createCity(model);\r\n }\r\n }\r\n\r\n private async createCity(model: any) {\r\n const data = await cityService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editCity(model: any) {\r\n const data = await cityService.update({ ...model, id: this.props.match.params.cityId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderCityName() {\r\n const { cityName, cityNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderCountries() {\r\n const { countryId, countryList, countryError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {countryError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Şehir {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan şehir bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda şehir ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Şehir {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderCityName()}\r\n {this.renderCountries()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(CityForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_DISTRICT, EDIT_DISTRICT } from '../../routes/paths'\r\n\r\nimport { districtService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IDistrictListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewDistrict: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class DistrictList extends Component {\r\n public readonly props: any;\r\n public readonly state: IDistrictListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"İlçe silmek istediginize emin misiniz?\",\r\n confirmTitle: \"İlçe Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewDistrict: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewDistrict = this.addNewDistrict.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getDistricts(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('District.CreateDistrict') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getDistricts(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await districtService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.districts, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await districtService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeDistrict() {\r\n if (this.deleteConfirmId) {\r\n await districtService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((district: any) => district.id !== this.deleteConfirmId) });\r\n this.getDistricts(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewDistrict() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewDistrict: false });\r\n } else {\r\n this.setState({ addNewDistrict: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('District.UpdateDistrict') != -1) && (permissionList.indexOf('District.DeleteDistrict') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('District.UpdateDistrict') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('District.DeleteDistrict') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveDistrict(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page })\r\n this.getDistricts(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getDistricts(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getDistricts(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeDistrict();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getDistricts(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getDistricts(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n İlçe Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Şehir\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Ülke\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('District.UpdateDistrict') != -1) && (permissionList.indexOf('Company.DeleteCompany') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewDistrict, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewDistrict && }\r\n \r\n \r\n {resources.MenuLeftmenu1_6_6} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((district: any) => (\r\n \r\n \r\n {district.districtName}\r\n \r\n {district.cityName}\r\n {district.countryName}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveDistrict(district.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport DistrictList from './DistrictList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IDistrictState {\r\n resources: any\r\n}\r\n\r\ninterface IDistrictProps {\r\n location: any,\r\n}\r\n\r\nexport default class District extends Component {\r\n public readonly state: IDistrictState;\r\n public readonly props: IDistrictProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_6_6}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_6}
    • \r\n
    • {resources.MenuLeftmenu1_6_6}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//District\r\n\r\nexport const districtNameValidator = (districtName: string): string => {\r\n if (districtName === \"\") return 'İlçe adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const countryValidator = (countryId: number): string => {\r\n if (countryId === 0) return 'Ülke seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const cityValidator = (cityId: number): string => {\r\n if (cityId === 0) return 'Şehir seçiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { districtService, locationService } from '../../service';\r\nimport { DISTRICT } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { districtNameValidator, countryValidator, cityValidator } from '../../utils/district.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IDistrictFormState {\r\n districtName: string;\r\n districtNameError: string;\r\n countryList: [],\r\n countryId: any,\r\n countryError: string;\r\n cityList: [],\r\n cityId: any,\r\n cityError: string;\r\n isActive: boolean;\r\n isSuccess: string,\r\n isEdit: boolean;\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IDistrictFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass DistrictForm extends Component {\r\n public readonly state: IDistrictFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n districtName: \"\",\r\n districtNameError: \"\",\r\n countryList: [],\r\n countryId: 0,\r\n countryError: \"\",\r\n cityList: [],\r\n cityId: 0,\r\n cityError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeDistrictName = this.onChangeDistrictName.bind(this);\r\n this.onChangeCountry = this.onChangeCountry.bind(this);\r\n this.onChangeCity = this.onChangeCity.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.districtId) this.getEditableDistrict();\r\n else this.getCountries();\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableDistrict() {\r\n const { data, isSuccess, errorCode, errorMessage } = await districtService.getById(this.props.match.params.districtId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getCountries();\r\n\r\n const state = {\r\n ...data,\r\n countryId: this.state.countryList.find((item: any) => item.id === data.countryId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state });\r\n await this.getCities(state.countryId.id, true);\r\n this.setState({ cityId: this.state.cityList.find((item: any) => item.id === data.cityId), loading: false })\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeDistrictName(e: ChangeEvent) {\r\n this.setState({ districtName: e.target.value, districtNameError: districtNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCountry(countryId: any) {\r\n this.setState({ countryId, countryError: countryValidator(countryId) });\r\n this.getCities(countryId.id, true);\r\n }\r\n\r\n private onChangeCity(cityId: any) {\r\n this.setState({ cityId, cityError: cityValidator(cityId) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(DISTRICT);\r\n }\r\n\r\n private async getCountries(useDefault: boolean = true) {\r\n const { data } = await locationService.getCountries();\r\n\r\n const state = {\r\n countryId: useDefault ? 0 : this.state.countryId.id,\r\n countryList: data.countries\r\n };\r\n\r\n this.setState(state);\r\n\r\n await this.getCities(state.countryId, useDefault);\r\n }\r\n\r\n private async getCities(countryId: number, useDefault: boolean) {\r\n const { data } = await locationService.getCities(countryId);\r\n\r\n const state = {\r\n cityList: data.cities,\r\n cityId: useDefault ? 0 : this.state.cityId.id,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { districtName, countryId, cityId } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n districtNameValidator(districtName) !== \"\" ||\r\n countryValidator(countryId) !== \"\" ||\r\n cityValidator(cityId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n districtNameError: districtNameValidator(districtName),\r\n countryError: countryValidator(countryId),\r\n cityError: cityValidator(cityId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { districtName, countryId, cityId, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n districtName: sqlInjectValidator(districtName),\r\n countryId: sqlInjectValidator(String(countryId.id)),\r\n cityId: sqlInjectValidator(String(cityId.id)),\r\n isActive\r\n };\r\n\r\n\r\n if (isEdit) await this.editDistrict(model);\r\n else await this.createDistrict(model);\r\n }\r\n }\r\n\r\n private async createDistrict(model: any) {\r\n const data = await districtService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editDistrict(model: any) {\r\n const data = await districtService.update({ ...model, id: this.props.match.params.districtId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderDistrictName() {\r\n const { districtName, districtNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCountries() {\r\n const { countryId, countryList, countryError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {countryError}\r\n \r\n );\r\n }\r\n\r\n private renderCities() {\r\n const { cityId, cityList, cityError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {cityError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n İlçe {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan ilçe bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda ilçe ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n İlçe {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderDistrictName()}\r\n {this.renderCountries()}\r\n {this.renderCities()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(DistrictForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_CURRENCY, EDIT_CURRENCY } from '../../routes/paths'\r\n\r\nimport { currencyService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface ICurrencyListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewCurrency: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class CurrencyList extends Component {\r\n public readonly props: any;\r\n public readonly state: ICurrencyListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Dil silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Dil Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewCurrency: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewCurrency = this.addNewCurrency.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getCurrencies(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Currency.CreateCurrency') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n\r\n private async getCurrencies(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await currencyService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.currencies, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await currencyService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeCurrency() {\r\n if (this.deleteConfirmId) {\r\n await currencyService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((currency: any) => currency.id !== this.deleteConfirmId) });\r\n this.getCurrencies(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewCurrency() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewCurrency: false });\r\n } else {\r\n this.setState({ addNewCurrency: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Currency.UpdateCurrency') != -1) && (permissionList.indexOf('Currency.DeleteCurrency') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Currency.UpdateCurrency') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Currency.DeleteCurrency') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveCurrency(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getCurrencies(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getCurrencies(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getCurrencies(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeCurrency();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getCurrencies(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getCurrencies(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Para Birimi Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Para Birimi Kodu\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Currency.UpdateCurrency') != -1) && (permissionList.indexOf('Currency.DeleteCurrency') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n const { addNewCurrency, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewCurrency && }\r\n \r\n \r\n {resources.MenuLeftmenu1_8_4} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((currency: any) => (\r\n \r\n \r\n {currency.currencyName}\r\n \r\n {currency.currencyCode}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveCurrency(currency.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport CurrencyList from './CurrencyList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface ICurrencyState {\r\n resources: any\r\n}\r\ninterface ICurrencyProps {\r\n location: any,\r\n}\r\n\r\nexport default class Currency extends Component {\r\n public readonly state: ICurrencyState;\r\n public readonly props: ICurrencyProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_4}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_4}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//Currency\r\n\r\nexport const currencyNameValidator = (currencyName: string): string => {\r\n if (currencyName === \"\") return 'Para birimi adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const currencyCodeValidator = (currencyCode: string): string => {\r\n if (currencyCode === \"\") return 'Para birimi kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\n\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { currencyService } from '../../service';\r\nimport { CURRENCY } from '../../routes/paths';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { currencyCodeValidator, currencyNameValidator } from '../../utils/currency.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface ICurrencyFormState {\r\n currencyName: string,\r\n currencyNameError: string,\r\n currencyCode: string,\r\n currencyCodeError: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface ICurrencyFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass CurrencyForm extends Component {\r\n public readonly state: ICurrencyFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n currencyName: \"\",\r\n currencyNameError: \"\",\r\n currencyCode: \"\",\r\n currencyCodeError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCurrencyName = this.onChangeCurrencyName.bind(this);\r\n this.onChangeCurrencyCode = this.onChangeCurrencyCode.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.currencyId) this.getEditableCurrency();\r\n else this.setState({ loading: false });\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableCurrency() {\r\n const { data, isSuccess, errorCode, errorMessage } = await currencyService.getById(this.props.match.params.currencyId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n const state = {\r\n ...data,\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCurrencyName(e: ChangeEvent) {\r\n this.setState({ currencyName: e.target.value, currencyNameError: currencyNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCurrencyCode(e: ChangeEvent) {\r\n this.setState({ currencyCode: e.target.value, currencyCodeError: currencyCodeValidator(e.target.value) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(CURRENCY);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { currencyCode, currencyName } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n currencyNameValidator(currencyName) !== \"\" ||\r\n currencyCodeValidator(currencyCode) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n currencyNameError: currencyNameValidator(currencyName),\r\n currencyCodeError: currencyCodeValidator(currencyCode)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { currencyName, currencyCode, isActive, isEdit } = this.state;\r\n\r\n const model = {\r\n currencyName: sqlInjectValidator(currencyName),\r\n currencyCode: sqlInjectValidator(currencyCode),\r\n isActive\r\n };\r\n\r\n if (this.formValidation()) {\r\n if (isEdit) await this.editCurrency(model);\r\n else await this.createCurrency(model);\r\n }\r\n }\r\n\r\n private async createCurrency(model: any) {\r\n const data = await currencyService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editCurrency(model: any) {\r\n const data = await currencyService.update({ ...model, id: this.props.match.params.currencyId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderCurrencyName() {\r\n const { currencyName, currencyNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCurrencyCode() {\r\n const { currencyCode, currencyCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage, isEdit } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {isEdit ? : }\r\n Para Birimi {isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {isEdit ? \"Bu ekrandan para birimi bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda para birimi ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Para Birimi {isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderCurrencyName()}\r\n {this.renderCurrencyCode()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(CurrencyForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_USER, EDIT_USER, PASSWORD_UPDATE } from '../../routes/paths'\r\n\r\nimport { userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IUserListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewUser: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n updatePasswordButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class UserList extends Component {\r\n public readonly props: any;\r\n public readonly state: IUserListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Kullanıcı silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Kullanıcı Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n updatePasswordButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewUser: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewUser = this.addNewUser.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getUsers(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('User.CreateUser') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getUsers(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await userService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.users, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount });\r\n }\r\n\r\n private async getExportExcel() {\r\n return await userService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeUser() {\r\n if (this.deleteConfirmId) {\r\n await userService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((user: any) => user.id !== this.deleteConfirmId) });\r\n this.getUsers(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewUser() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewUser: false });\r\n } else {\r\n this.setState({ addNewUser: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('User.UpdateUser') != -1) && (permissionList.indexOf('User.DeleteUser') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('User.UpdateUser') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('User.DeleteUser') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n if (permissionList.indexOf('User.UpdatePassword') == -1) {\r\n this.setState({ updatePasswordButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveUser(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getUsers(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getUsers(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getUsers(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeUser();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getUsers(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getUsers(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Kullanıcı Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Eposta Adresi\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Telefon Numarası\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Pos Hareketleri\r\n \r\n \r\n this.handleSort(orderBy === 17 ? 17 : 17)}>\r\n \r\n Export\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 14)}>\r\n \r\n Sadece Borç Görebilir\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 14)}>\r\n \r\n Bakiye Göremez\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 14)}>\r\n \r\n Mobil Uygulama Kullanamaz\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n Muhasebeleştirme\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 14)}>\r\n \r\n Raporlar\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('User.UpdateUser') != -1) && (permissionList.indexOf('User.DeleteUser') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewUser, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, updatePasswordButton, isExcelAndPdfExport, resources } = this.state;\r\n\r\n return (\r\n \r\n \r\n\r\n {addNewUser && }\r\n \r\n \r\n {resources.MenuLeftmenu1_7_1} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((user: any) => (\r\n \r\n \r\n {user.companyName}\r\n \r\n {user.nameSurname}\r\n {user.emailAddress}\r\n {user.mobilePhoneNumber}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updatePasswordButton ?\r\n \r\n : null}\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveUser(user.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport UserList from './UserList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IUserState {\r\n resources: any\r\n}\r\ninterface IUserProps {\r\n location: any,\r\n}\r\n\r\nexport default class User extends Component {\r\n public readonly state: IUserState;\r\n public readonly props: IUserProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n (errorMessage.includes('Başarıyla')) ? : \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_7_1}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_7}
    • \r\n
    • {resources.MenuLeftmenu1_7_1}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//User\r\n\r\nfunction emailValidation(email: string) {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)\r\n}\r\n\r\n\r\nexport const nameSurnameValidator = (nameSurname: string): string => {\r\n if (nameSurname === \"\") return 'Kullanıcı adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const emailAddressValidator = (emailAddress: string): string => {\r\n if (emailAddress === \"\") return 'Mail alanını boş geçemezsiniz!'\r\n else if (emailAddress.length < 6) return 'Kullanici adi en az 6 karakter olabilir!'\r\n else if (!emailValidation(emailAddress)) return 'Geçersiz bir E-posta Adresi girdiniz!'\r\n return '';\r\n}\r\n\r\nexport const passwordValidator = (password: string): string => {\r\n if (password === \"\") return 'Şifre alanını boş geçemezsiniz!'\r\n else if (password.length < 8 || password.length > 16) return 'Sifre en az 8 en fazla 16 karakter olabilir.'\r\n return '';\r\n}\r\n\r\nexport const mobilePhoneNumberValidator = (mobilePhoneNumber: string): string => {\r\n if (mobilePhoneNumber === \"\") return 'Cep telefonu alanını boş geçemezsiniz!'\r\n else if (mobilePhoneNumber.length < 10 || mobilePhoneNumber.length > 10) return 'Telefon numarası 10 karakter olmalıdır, başında 0 kullanmayın!'\r\n return '';\r\n}\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport InputAdornment from '@material-ui/core/InputAdornment'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { userService, locationService } from '../../service'\r\nimport { USER } from '../../routes/paths'\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { companyValidator, nameSurnameValidator, emailAddressValidator, passwordValidator, mobilePhoneNumberValidator } from '../../utils/user.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IUserFormState {\r\n companyId: any;\r\n companyList: [];\r\n companyError: string;\r\n nameSurname: string;\r\n nameSurnameError: string;\r\n emailAddress: string;\r\n emailAddressError: string;\r\n password: string;\r\n passwordError: string;\r\n mobilePhoneNumber: string;\r\n mobilePhoneNumberError: string;\r\n isActive: boolean;\r\n isSuccess: string,\r\n isEdit: boolean;\r\n showPassword: boolean;\r\n loading: boolean;\r\n isPosStatement: boolean;\r\n isAccounting: boolean;\r\n isReporting: boolean;\r\n isJustDebit: boolean;\r\n isJustStatement: boolean;\r\n isJustWebUser: boolean;\r\n isExcelAndPdfExport: boolean;\r\n errorCode: string;\r\n errorMessage: string;\r\n}\r\n\r\nexport interface IUserFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass UserForm extends Component {\r\n public readonly state: IUserFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n companyId: 0,\r\n companyList: [],\r\n companyError: \"\",\r\n nameSurname: \"\",\r\n nameSurnameError: \"\",\r\n emailAddress: \"\",\r\n emailAddressError: \"\",\r\n password: \"\",\r\n passwordError: \"\",\r\n mobilePhoneNumber: \"\",\r\n mobilePhoneNumberError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n showPassword: false,\r\n loading: true,\r\n isPosStatement: false,\r\n isAccounting: false,\r\n isReporting: false,\r\n isJustDebit: false,\r\n isJustStatement: false,\r\n isJustWebUser: false,\r\n isExcelAndPdfExport: false,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeNameSurname = this.onChangeNameSurname.bind(this);\r\n this.onChangeEmailAddress = this.onChangeEmailAddress.bind(this);\r\n this.onChangePassword = this.onChangePassword.bind(this);\r\n this.onChangeMobilePhoneNumber = this.onChangeMobilePhoneNumber.bind(this);\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePosStatement = this.onChangePosStatement.bind(this);\r\n this.onChangeAccounting = this.onChangeAccounting.bind(this);\r\n this.onChangeReporting = this.onChangeReporting.bind(this);\r\n this.onChangeJustDebit = this.onChangeJustDebit.bind(this);\r\n this.onChangeJustStatement = this.onChangeJustStatement.bind(this);\r\n this.onChangeJustWebUser = this.onChangeJustWebUser.bind(this);\r\n this.onChangeExcelAndPdfExport = this.onChangeExcelAndPdfExport.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.handleClickShowPassword = this.handleClickShowPassword.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.userId) this.getEditableUser();\r\n else this.getCompanies()\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableUser() {\r\n const { data, isSuccess, errorCode, errorMessage } = await userService.getById(this.props.match.params.userId);\r\n\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n\r\n await this.getCompanies();\r\n const state = {\r\n ...data,\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeNameSurname(e: ChangeEvent) {\r\n this.setState({ nameSurname: e.target.value, nameSurnameError: nameSurnameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeEmailAddress(e: ChangeEvent) {\r\n this.setState({ emailAddress: e.target.value, emailAddressError: emailAddressValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangePassword(e: ChangeEvent) {\r\n this.setState({ password: e.target.value, passwordError: passwordValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeMobilePhoneNumber(e: ChangeEvent) {\r\n if (Number(e.target.value) || e.target.value == \"\") {\r\n this.setState({ mobilePhoneNumber: Number(e.target.value), mobilePhoneNumberError: mobilePhoneNumberValidator(e.currentTarget.value) });\r\n }\r\n }\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) });\r\n }\r\n\r\n handleClickShowPassword() {\r\n this.setState(state => ({ showPassword: !this.state.showPassword }));\r\n };\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n private onChangePosStatement(e: ChangeEvent) {\r\n this.setState({ isPosStatement: e.target.checked });\r\n }\r\n\r\n private onChangeAccounting(e: ChangeEvent) {\r\n this.setState({ isAccounting: e.target.checked });\r\n }\r\n\r\n private onChangeReporting(e: ChangeEvent) {\r\n this.setState({ isReporting: e.target.checked });\r\n }\r\n\r\n private onChangeJustDebit(e: ChangeEvent) {\r\n this.setState({ isJustDebit: e.target.checked });\r\n }\r\n\r\n private onChangeJustStatement(e: ChangeEvent) {\r\n this.setState({ isJustStatement: e.target.checked });\r\n }\r\n\r\n private onChangeJustWebUser(e: ChangeEvent) {\r\n this.setState({ isJustWebUser: e.target.checked });\r\n }\r\n\r\n private onChangeExcelAndPdfExport(e: ChangeEvent) {\r\n this.setState({ isExcelAndPdfExport: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(USER);\r\n }\r\n\r\n private async getCompanies(useDefault: boolean = true) {\r\n const { data } = await locationService.getCompaniesHQ();\r\n\r\n const state = {\r\n companyId: useDefault ? 0 : this.state.companyId.id, \r\n companyList: data.companies,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return ( \r\n this.state.errorMessage !== \"\" ? : null\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { companyId, nameSurname, emailAddress, password, mobilePhoneNumber } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n companyValidator(companyId) !== \"\" ||\r\n nameSurnameValidator(nameSurname) !== \"\" ||\r\n emailAddressValidator(emailAddress) !== \"\" ||\r\n /*passwordValidator(password) !== \"\" || kaan*/\r\n mobilePhoneNumberValidator(String(mobilePhoneNumber)) !== \"\"\r\n ) {\r\n\r\n this.setState({\r\n companyError: companyValidator(companyId),\r\n nameSurnameError: nameSurnameValidator(nameSurname),\r\n emailAddressError: emailAddressValidator(emailAddress),\r\n passwordError: passwordValidator(password),\r\n mobilePhoneNumberError: mobilePhoneNumberValidator(String(mobilePhoneNumber))\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n const { nameSurname, emailAddress, password, mobilePhoneNumber, companyId, isPosStatement, isAccounting, isReporting, isJustDebit, isJustStatement, isJustWebUser, isExcelAndPdfExport, isActive, isEdit } = this.state;\r\n \r\n const model = {\r\n nameSurname: sqlInjectValidator(nameSurname),\r\n emailAddress: sqlInjectValidator(emailAddress),\r\n password,\r\n mobilePhoneNumber: mobilePhoneNumber,\r\n companyId: sqlInjectValidator(String(companyId.id)),\r\n isPosStatement,\r\n isAccounting,\r\n isReporting,\r\n isJustDebit,\r\n isJustStatement,\r\n isJustWebUser,\r\n isExcelAndPdfExport,\r\n isActive\r\n }; \r\n \r\n if (this.formValidation()) {\r\n if (isEdit) await this.editUser(model);\r\n else await this.createUser(model);\r\n \r\n }\r\n }\r\n\r\n private async createUser(model: any) {\r\n const data = await userService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editUser(model: any) {\r\n //console.log(model)\r\n const data = await userService.update({ ...model, id: this.props.match.params.userId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage }); \r\n }\r\n\r\n private renderNameSurname() {\r\n const { nameSurname, nameSurnameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderEmailAddress() {\r\n const { emailAddress, emailAddressError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderPassword() {\r\n const { password, passwordError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderMobilePhoneNumber() {\r\n const { mobilePhoneNumber, mobilePhoneNumberError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n renderAccessPermission() {\r\n const { isPosStatement, isAccounting, isReporting, isJustDebit, isJustStatement, isJustWebUser, isExcelAndPdfExport } = this.state;\r\n\r\n return (\r\n
    \r\n\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Pos Hareketleri\"\r\n />\r\n\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Excel ve PDF Export\"\r\n />\r\n\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Sadece Borç Görebilir\"\r\n />\r\n\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Bakiye Göremez\"\r\n />\r\n\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Mobil Uygulama Kullanamaz\"\r\n />\r\n\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Muhasebeleştirme\"\r\n />\r\n\r\n \r\n }\r\n className=\"checkbox\"\r\n label=\"Raporlama\"\r\n /> \r\n
    \r\n )\r\n }\r\n\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n \r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Kullanıcı {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan kullanıcı bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda kullanıcı ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Kullanıcı {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderNameSurname()}\r\n {this.renderEmailAddress()}\r\n {this.state.isEdit ? null : this.renderPassword()}\r\n {this.renderMobilePhoneNumber()}\r\n {this.renderCompanies()}\r\n {this.renderAccessPermission()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(UserForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport InputAdornment from '@material-ui/core/InputAdornment'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport TableFooter from '@material-ui/core/TableFooter'\r\n\r\nimport CustomSelect from '../layout/CustomSelect'\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { USER } from '../../routes/paths'\r\n\r\nimport { locationService, userService } from '../../service'\r\n\r\n\r\ninterface IMultipleUserFormState {\r\n item: number,\r\n list: any,\r\n loading: boolean,\r\n isActive: boolean,\r\n isSuccess: boolean,\r\n userId: number,\r\n\r\n companyList: any,\r\n companyId: any,\r\n nameSurname: any,\r\n emailAddress: any,\r\n mobilePhoneNumber: any,\r\n password: any,\r\n showPassword: boolean,\r\n\r\n //Confirm\r\n confirmStatus: boolean,\r\n deleteConfirm: boolean,\r\n confirmMessage: string,\r\n confirmTitle: string,\r\n confirmIcon: string,\r\n confirmType: string,\r\n access: string\r\n}\r\n\r\nexport default class MultpileUserForm extends Component {\r\n public readonly state: IMultipleUserFormState;\r\n public readonly props: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n item: 0,\r\n list: [],\r\n loading: true,\r\n isActive: true,\r\n isSuccess: false,\r\n userId: 0,\r\n\r\n companyList: [],\r\n companyId: [0],\r\n nameSurname: [\"\"],\r\n emailAddress: [\"\"],\r\n mobilePhoneNumber: [\"\"],\r\n password: [\"\"],\r\n showPassword: false,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Kullanıcı eklemek için erişim yetkiniz bulunmamaktadır?\",\r\n confirmTitle: \"Erişim İzniniz Bulunmamaktadır!\",\r\n confirmIcon: \"fas fa-exclamation\",\r\n confirmType: \"ok\",\r\n access: \"\"\r\n }\r\n\r\n this.handleClickShowPassword = this.handleClickShowPassword.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, userId: data.userId });\r\n this.getCompanies();\r\n }\r\n\r\n /* EVENT */\r\n private onChangeNameSurname(key: any, e: ChangeEvent) {\r\n let _nameSurname: any = this.state.nameSurname;\r\n _nameSurname[key] = e.target.value;\r\n this.setState({ nameSurname: _nameSurname });\r\n }\r\n\r\n private onChangeEmailAddress(key: any, e: ChangeEvent) {\r\n let _emailAddress: any = this.state.emailAddress;\r\n _emailAddress[key] = e.target.value;\r\n this.setState({ emailAddress: _emailAddress });\r\n }\r\n\r\n private onChangePassword(key: any, e: ChangeEvent) {\r\n let _password: any = this.state.password;\r\n _password[key] = e.target.value;\r\n this.setState({ password: _password });\r\n }\r\n\r\n private onChangeMobilePhoneNumber(key: any, e: ChangeEvent) {\r\n if (Number(e.target.value) || e.target.value == \"\") {\r\n let _mobilePhoneNumber: any = this.state.mobilePhoneNumber;\r\n _mobilePhoneNumber[key] = e.target.value;\r\n this.setState({ mobilePhoneNumber: _mobilePhoneNumber });\r\n }\r\n }\r\n\r\n private onChangeCompany(key: any, companyId: any) {\r\n let _companyId: any = this.state.companyId;\r\n _companyId[key] = companyId;\r\n this.setState({ companyId: _companyId });\r\n }\r\n\r\n private handleClickShowPassword() {\r\n this.setState(({ showPassword: !this.state.showPassword }));\r\n };\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n }\r\n\r\n private addNewUser() {\r\n let _nameSurname = this.state.nameSurname;\r\n _nameSurname.push(\"\");\r\n\r\n let _emailAddress = this.state.emailAddress;\r\n _emailAddress.push(\"\");\r\n\r\n let _mobilePhoneNumber = this.state.mobilePhoneNumber;\r\n _mobilePhoneNumber.push(\"\");\r\n\r\n let _password = this.state.password;\r\n _password.push(\"\");\r\n\r\n let _companyId = this.state.companyId;\r\n _companyId.push(0);\r\n\r\n this.setState({\r\n item: this.state.item + 1,\r\n nameSurname: _nameSurname,\r\n emailAddress: _emailAddress,\r\n mobilePhoneNumber: _mobilePhoneNumber,\r\n password: _password,\r\n companyId: _companyId\r\n });\r\n }\r\n\r\n\r\n private async saveUsers() {\r\n const { item, companyId, nameSurname, emailAddress, mobilePhoneNumber, password, userId } = this.state;\r\n\r\n if (userId === 21) { this.setState({ confirmStatus: true }) }\r\n else {\r\n\r\n let model: any = [];\r\n\r\n for (let i = 0; i <= item; i++) {\r\n model.push({\r\n 'companyId': companyId[i].id,\r\n 'nameSurname': nameSurname[i],\r\n 'emailAddress': emailAddress[i],\r\n 'mobilePhoneNumber': mobilePhoneNumber[i],\r\n 'password': password[i],\r\n 'isExcelAndPdfExport': false,\r\n 'isPosStatement': false,\r\n 'isAccounting': false,\r\n 'isReporting': false,\r\n 'isActive': true\r\n });\r\n }\r\n\r\n const { isSuccess } = await userService.createMultiple({ 'createUserRequests': model });\r\n this.setState({ isSuccess: true });\r\n }\r\n }\r\n\r\n\r\n /* LISTING */\r\n private async getCompanies(useDefault: boolean = true) {\r\n const { data } = await locationService.getCompaniesHQ();\r\n\r\n const state = {\r\n companyList: data.companies,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n\r\n\r\n /* RENDERING */\r\n private renderNameSurname(key: number) {\r\n const { nameSurname } = this.state;\r\n\r\n\r\n return (\r\n \r\n this.onChangeNameSurname(key, e)}\r\n value={nameSurname[key]}\r\n name=\"nameSurname\"\r\n fullWidth\r\n autoComplete=\"nameSurname\"\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderEmailAddress(key: number) {\r\n const { emailAddress } = this.state;\r\n\r\n\r\n return (\r\n \r\n this.onChangeEmailAddress(key, e)}\r\n value={emailAddress[key]}\r\n name=\"emailAddress\"\r\n fullWidth\r\n autoComplete=\"emailAddress\"\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderPassword(key: number) {\r\n const { password } = this.state;\r\n\r\n return (\r\n \r\n this.onChangePassword(key, e)}\r\n label=\"Şifre\"\r\n type={this.state.showPassword ? 'text' : 'password'}\r\n placeholder=\"********\"\r\n margin=\"normal\"\r\n variant=\"outlined\"\r\n fullWidth\r\n InputProps={{\r\n endAdornment: (\r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderMobilePhoneNumber(key: number) {\r\n const { mobilePhoneNumber } = this.state;\r\n\r\n\r\n return (\r\n \r\n this.onChangeMobilePhoneNumber(key, e)}\r\n value={mobilePhoneNumber[key] != \"\" ? mobilePhoneNumber[key] : \"\"}\r\n name=\"mobilePhoneNumber\"\r\n autoComplete=\"mobilePhoneNumber\"\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderCompanies(key: number) {\r\n const { companyId, companyList } = this.state;\r\n return (\r\n \r\n this.onChangeCompany(key, e)} placeholder=\"Firma *\">\r\n \r\n );\r\n }\r\n\r\n\r\n private renderRowHeaders() {\r\n return (\r\n \r\n \r\n \r\n Firma\r\n \r\n \r\n \r\n \r\n Adı Soyadı\r\n \r\n \r\n \r\n \r\n Eposta Adresi\r\n \r\n \r\n \r\n \r\n Telefon Numarası\r\n \r\n \r\n \r\n \r\n Şifresi\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderRowData() {\r\n const { item } = this.state;\r\n let table = [];\r\n\r\n for (let i = 0; i <= item; i++) {\r\n table.push(\r\n \r\n \r\n {this.renderCompanies(i)}\r\n \r\n {this.renderNameSurname(i)}\r\n {this.renderEmailAddress(i)}\r\n {this.renderMobilePhoneNumber(i)}\r\n {this.renderPassword(i)}\r\n \r\n );\r\n }\r\n return table;\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n\r\n {this.state.isSuccess && }\r\n this.saveUsers()}\r\n type=\"submit\">\r\n KAYDET\r\n \r\n
    \r\n\r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {this.renderRowData()}\r\n \r\n \r\n \r\n this.addNewUser()}\r\n type=\"submit\">\r\n YENİ KULLANICI +\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport MultipleUserForm from './MultipleUserForm'\r\n\r\ninterface IUserState {\r\n\r\n}\r\n\r\nexport default class User extends Component {\r\n public readonly state: IUserState;\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n\r\n }\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • Kullanıcı
    • \r\n
    • Yönetim
    • \r\n
    • Kullanıcı İşlemleri
    • \r\n
    • Çoklu Kullanıcı Ekleme
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Avatar from '@material-ui/core/Avatar'\r\nimport Table from '@material-ui/core/Table'\r\nimport TableHead from '@material-ui/core/TableHead'\r\nimport TableBody from '@material-ui/core/TableBody'\r\nimport TableRow from '@material-ui/core/TableRow'\r\nimport TableCell from '@material-ui/core/TableCell'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport Wrapper from '../layout/Wrapper'\r\n\r\nimport { userService, accountStatementsService, invoiceService } from '../../service'\r\nimport { EDIT_USER, ADD_NEW_PAYMENT, PASSWORD_RESET } from '../../routes/paths'\r\n\r\n\r\nexport interface IUserFormState {\r\n nameSurname: string,\r\n emailAddress: string,\r\n mobilePhoneNumber: number,\r\n isActive: boolean,\r\n isSuccess: boolean,\r\n loading: boolean,\r\n userId: number,\r\n totalAccountStatementCount: number,\r\n list: any,\r\n totalCount: number,\r\n searchTotalCount: number\r\n}\r\n\r\nexport interface IUserFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass UserForm extends Component {\r\n public readonly state: IUserFormState;\r\n public readonly props: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n nameSurname: \"\",\r\n emailAddress: \"\",\r\n mobilePhoneNumber: 0,\r\n isActive: true,\r\n isSuccess: false,\r\n loading: true,\r\n userId: 0,\r\n totalAccountStatementCount: 0,\r\n list: [],\r\n totalCount: 0,\r\n searchTotalCount: 0\r\n };\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ userId: data.userId });\r\n this.getShowUser();\r\n this.accountStatementCount();\r\n this.getInvoices();\r\n }\r\n\r\n\r\n private async getInvoices() {\r\n const { data } = await invoiceService.get(\"\", 0, 20, 0, true);\r\n this.setState({ list: data.invoices, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async accountStatementCount() {\r\n const { data } = await accountStatementsService.accountStatementCount();\r\n this.setState({ totalAccountStatementCount: data.totalCount });\r\n }\r\n\r\n\r\n private async getShowUser() {\r\n const { data, isSuccess } = await userService.getById(this.state.userId);\r\n\r\n const state = {\r\n ...data\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n\r\n\r\n\r\n private renderRowHeaders() {\r\n return (\r\n \r\n \r\n \r\n Fatura Adı\r\n \r\n \r\n \r\n \r\n Fatura Tarihi\r\n \r\n \r\n \r\n \r\n Bitiş Tarihi\r\n \r\n \r\n \r\n \r\n Durum\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n public render() {\r\n const { loading, nameSurname, emailAddress, mobilePhoneNumber, userId, totalAccountStatementCount, list } = this.state;\r\n return (\r\n \r\n\r\n \r\n \r\n
      \r\n
    • Profil
    • \r\n
    • Finstant
    • \r\n
    • Profil
    • \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {loading && }\r\n {!loading ?\r\n <>\r\n \r\n
    \r\n \r\n {nameSurname}\r\n Toplam {totalAccountStatementCount} hesap hareketiniz bulunmaktadır.\r\n
    \r\n
    \r\n \r\n\r\n {/*Bilgileri Düzenle*/}\r\n\r\n
      \r\n
    • ŞİFREMİ DEĞİŞTİR
    • \r\n {/*
    • YARDIM
    • */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n Faturalar\r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((invoice: any) => (\r\n \r\n\r\n {invoice.invoiceName}\r\n {invoice.startDateTime}\r\n {invoice.dueDateTime}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n : null}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(UserForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport InputAdornment from '@material-ui/core/InputAdornment'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { HOME, PROFILE } from '../../routes/paths'\r\nimport { userService } from '../../service'\r\n\r\n\r\nexport interface IPasswordResetFormState {\r\n password: string,\r\n token: string,\r\n passwordAgain: string,\r\n existingPassword: string,\r\n isActive: boolean,\r\n showPassword: boolean,\r\n loading: boolean,\r\n isSuccess: boolean;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n}\r\n\r\nexport interface IPasswordResetFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass PasswordResetForm extends Component {\r\n public readonly state: IPasswordResetFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n password: \"\",\r\n token: \"\",\r\n passwordAgain: \"\",\r\n existingPassword: \"\",\r\n isActive: true,\r\n showPassword: false,\r\n loading: false,\r\n isSuccess: false,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n confirmMessage: \"Eksik veya hatalı bilgi girdiniz, lütfen bilgilerinizi kontrol ederek yeniden deneyiniz?\",\r\n confirmTitle: \"Şifre Güncelleme\",\r\n confirmIcon: \"fas fa-lock\",\r\n confirmType: \"ok\",\r\n };\r\n\r\n this.cancel = this.cancel.bind(this);\r\n this.onChangeExistingPassword = this.onChangeExistingPassword.bind(this);\r\n this.onChangePassword = this.onChangePassword.bind(this);\r\n this.onChangePasswordAgain = this.onChangePasswordAgain.bind(this);\r\n this.handleClickShowPassword = this.handleClickShowPassword.bind(this);\r\n this.resetPassword = this.resetPassword.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.form = React.createRef();\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeExistingPassword(e: ChangeEvent) {\r\n this.setState({ existingPassword: e.target.value });\r\n }\r\n\r\n private onChangePassword(e: ChangeEvent) {\r\n this.setState({ password: e.target.value });\r\n }\r\n\r\n private onChangePasswordAgain(e: ChangeEvent) {\r\n this.setState({ passwordAgain: e.target.value });\r\n }\r\n\r\n handleClickShowPassword() {\r\n this.setState(state => ({ showPassword: !this.state.showPassword }));\r\n };\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.state.confirmTitle === \"Güncellendi\" ? this.setState({ isSuccess: true }) : null\r\n }\r\n\r\n private async cancel() {\r\n this.props.history.push(PROFILE);\r\n }\r\n\r\n private async resetPassword() {\r\n const { existingPassword, password, passwordAgain } = this.state;\r\n\r\n if (password != passwordAgain) {\r\n this.setState({ confirmMessage: \"Girdiğiniz yeni şifreler birbiri ile uyuşmamaktadır!\", confirmTitle: \"Uyumsuz Yeni Şifreler\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n } else {\r\n\r\n const model = {\r\n existingPassword,\r\n password\r\n };\r\n\r\n const { isSuccess } = await userService.reset({ ...model });\r\n if (isSuccess) {\r\n this.setState({ confirmMessage: \"Şifreleriniz başarılı bir şekilde güncellendi!\", confirmTitle: \"Güncellendi\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n } else {\r\n this.setState({ confirmMessage: \"Eksik veya hatalı giriş yaptınız, lütfen bilgilerinizi kontrol ederek tekrar deneyiniz?\", confirmTitle: \"Hatalı İşlem\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n }\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private renderExistingPassword() {\r\n const { existingPassword } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderPassword() {\r\n const { password } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderPasswordAgain() {\r\n const { passwordAgain } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, confirmStatus, isSuccess } = this.state;\r\n\r\n return (\r\n \r\n {isSuccess && }\r\n \r\n \r\n\r\n {loading && }\r\n {!loading ?\r\n <>\r\n \r\n \r\n Şifre Değiştirme\r\n

    \r\n Bu ekrandan şifrenizi yeniden belirleyebilirsiniz!\r\n

    \r\n
    \r\n \r\n \r\n
    e.preventDefault()}>\r\n Yeni şifrenizi belirleyebilirsiniz\r\n {this.renderExistingPassword()}\r\n {this.renderPassword()}\r\n {this.renderPasswordAgain()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : null}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(PasswordResetForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport InputAdornment from '@material-ui/core/InputAdornment'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { USER } from '../../routes/paths'\r\nimport { userService } from '../../service'\r\n\r\n\r\nexport interface IPasswordUpdateFormState {\r\n password: string,\r\n passwordAgain: string,\r\n showPassword: boolean,\r\n loading: boolean,\r\n isSuccess: boolean;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n}\r\n\r\nexport interface IPasswordUpdateFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass PasswordResetForm extends Component {\r\n public readonly state: IPasswordUpdateFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n password: \"\",\r\n passwordAgain: \"\",\r\n showPassword: false,\r\n loading: false,\r\n isSuccess: false,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n confirmMessage: \"Eksik veya hatalı bilgi girdiniz, lütfen bilgilerinizi kontrol ederek yeniden deneyiniz?\",\r\n confirmTitle: \"Şifre Güncelleme\",\r\n confirmIcon: \"fas fa-lock\",\r\n confirmType: \"ok\",\r\n };\r\n\r\n this.cancel = this.cancel.bind(this);\r\n this.onChangePassword = this.onChangePassword.bind(this);\r\n this.onChangePasswordAgain = this.onChangePasswordAgain.bind(this);\r\n this.handleClickShowPassword = this.handleClickShowPassword.bind(this);\r\n this.updatePassword = this.updatePassword.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.form = React.createRef();\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangePassword(e: ChangeEvent) {\r\n this.setState({ password: e.target.value });\r\n }\r\n\r\n private onChangePasswordAgain(e: ChangeEvent) {\r\n this.setState({ passwordAgain: e.target.value });\r\n }\r\n\r\n handleClickShowPassword() {\r\n this.setState(state => ({ showPassword: !this.state.showPassword }));\r\n };\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.state.confirmTitle === \"Güncellendi\" ? this.setState({ isSuccess: true }) : null\r\n }\r\n\r\n private async cancel() {\r\n this.props.history.push(USER);\r\n }\r\n\r\n private async updatePassword() {\r\n const { password, passwordAgain } = this.state;\r\n\r\n if (password != passwordAgain) {\r\n this.setState({ confirmMessage: \"Girdiğiniz yeni şifreler birbiri ile uyuşmamaktadır!\", confirmTitle: \"Uyumsuz Yeni Şifreler\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n } else if (password.length < 8 || password.length > 16) {\r\n this.setState({ confirmMessage: \"Şifre en az 8 en fazla 16 karakter olabilir.\", confirmTitle: \"Geçersiz Yeni Şifreler\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n } else{\r\n\r\n const model = {\r\n existingPassword: \"1\",\r\n id: this.props.match.params.userId,\r\n password\r\n };\r\n\r\n const { isSuccess } = await userService.reset({ ...model });\r\n\r\n if (isSuccess) {\r\n this.setState({ confirmMessage: \"Kullanıcı şifresi başarılı bir şekilde güncellendi!\", confirmTitle: \"Güncellendi\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n } else {\r\n this.setState({ confirmMessage: \"Eksik veya hatalı bilgi girdiniz, lütfen bilgilerinizi kontrol ederek yeniden deneyiniz?\", confirmTitle: \"Hatalı İşlem\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n }\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private renderPassword() {\r\n const { password } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderPasswordAgain() {\r\n const { passwordAgain } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.showPassword ? : }\r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, confirmStatus, isSuccess } = this.state;\r\n\r\n return (\r\n \r\n {isSuccess && }\r\n \r\n \r\n\r\n {loading && }\r\n {!loading ?\r\n <>\r\n \r\n \r\n Şifre Güncelleme\r\n

    \r\n Bu ekrandan kullanıcı şifresini yeniden belirleyebilirsiniz!\r\n

    \r\n
    \r\n \r\n \r\n
    e.preventDefault()}>\r\n Şifre Güncelleme Formu\r\n {this.renderPassword()}\r\n {this.renderPasswordAgain()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : null}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(PasswordResetForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_PERMISSION, EDIT_PERMISSION } from '../../routes/paths'\r\n\r\nimport { permissionService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IPermissionListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewPermission: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class PermissionList extends Component {\r\n public readonly props: any;\r\n public readonly state: IPermissionListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"İzin silmek istediginize emin misiniz?\",\r\n confirmTitle: \"İzin Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewPermission: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewPermission = this.addNewPermission.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getPermissions(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Permission.CreatePermission') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getPermissions(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await permissionService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.permissions, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await permissionService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removePermission() {\r\n if (this.deleteConfirmId) {\r\n await permissionService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((permission: any) => permission.id !== this.deleteConfirmId) });\r\n this.getPermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewPermission() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewPermission: false });\r\n } else {\r\n this.setState({ addNewPermission: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Permission.UpdatePermission') != -1) && (permissionList.indexOf('Permission.DeletePermission') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Permission.UpdatePermission') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Permission.DeletePermission') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemovePermission(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getPermissions(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getPermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getPermissions(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removePermission();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getPermissions(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getPermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n İzin Anahtarı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n İzin Açıklaması\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Permission.UpdatePermission') != -1) && (permissionList.indexOf('Permission.DeletePermission') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewPermission, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewPermission && }\r\n \r\n \r\n {resources.MenuLeftmenu1_7_5} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((permission: any) => (\r\n \r\n \r\n {permission.permissionKey}\r\n \r\n {permission.permissionDescription}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemovePermission(permission.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport PermissionList from './PermissionList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IPermissionState {\r\n resources: any\r\n}\r\ninterface IPermissionProps {\r\n location: any,\r\n}\r\n\r\nexport default class Permission extends Component {\r\n public readonly state: IPermissionState;\r\n public readonly props: IPermissionProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_7_5}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_7}
    • \r\n
    • {resources.MenuLeftmenu1_7_5}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//Permission\r\n\r\nexport const permissionKeyValidator = (permissionKey: string): string => {\r\n if (permissionKey === \"\") return 'İzin anahtarı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const permissionDescriptionValidator = (permissionDescription: string): string => {\r\n if (permissionDescription === \"\") return 'İzin açıklaması alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { permissionService } from '../../service';\r\nimport { PERMISSION } from '../../routes/paths';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { permissionDescriptionValidator, permissionKeyValidator } from '../../utils/permission.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IPermissiponFormState {\r\n permissionKey: string;\r\n permissionKeyError: string;\r\n permissionDescription: string;\r\n permissionDescriptionError: string;\r\n isActive: boolean;\r\n isSuccess: string,\r\n isEdit: boolean;\r\n loading: boolean;\r\n errorCode: string;\r\n errorMessage: string;\r\n}\r\n\r\nexport interface IPermissionFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass PermissionForm extends Component {\r\n public readonly state: IPermissiponFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n permissionKey: \"\",\r\n permissionKeyError: \"\",\r\n permissionDescription: \"\",\r\n permissionDescriptionError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangePermissionKey = this.onChangePermissionKey.bind(this);\r\n this.onChangePermissionDescription = this.onChangePermissionDescription.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.permissionId) this.getEditablePermission();\r\n else this.setState({ loading: false });\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditablePermission() {\r\n const { data, isSuccess, errorCode, errorMessage } = await permissionService.getById(this.props.match.params.permissionId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n const state = {\r\n ...data,\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangePermissionKey(e: ChangeEvent) {\r\n this.setState({ permissionKey: e.target.value, permissionKeyError: permissionKeyValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangePermissionDescription(e: ChangeEvent) {\r\n this.setState({ permissionDescription: e.target.value, permissionDescriptionError: permissionDescriptionValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(PERMISSION);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { permissionDescription, permissionKey } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n permissionDescriptionValidator(permissionDescription) !== \"\" ||\r\n permissionKeyValidator(permissionKey) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n permissionDescriptionError: permissionDescriptionValidator(permissionDescription),\r\n permissionKeyError: permissionKeyValidator(permissionKey)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { permissionKey, permissionDescription, isActive, isEdit } = this.state;\r\n\r\n const model = {\r\n permissionKey: sqlInjectValidator(permissionKey),\r\n permissionDescription: sqlInjectValidator(permissionDescription),\r\n isActive\r\n };\r\n\r\n if (this.formValidation()) {\r\n if (isEdit) await this.editPermission(model);\r\n else await this.createPermission(model);\r\n }\r\n }\r\n\r\n private async createPermission(model: any) {\r\n const data = await permissionService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editPermission(model: any) {\r\n const data = await permissionService.update({ ...model, id: this.props.match.params.permissionId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderPermissionKey() {\r\n const { permissionKey, permissionKeyError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderPermissionDescription() {\r\n const { permissionDescription, permissionDescriptionError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage, isEdit } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {isEdit ? : }\r\n İzin {isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {isEdit ? \"Bu ekrandan izin bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda izin ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n İzin {isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderPermissionKey()}\r\n {this.renderPermissionDescription()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(PermissionForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from \"@material-ui/core/Typography\"\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_PARTNER, EDIT_PARTNER } from '../../routes/paths'\r\n\r\nimport { partnerService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IPartnerListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewPartner: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class PartnerList extends Component {\r\n public readonly props: any;\r\n public readonly state: IPartnerListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"İş Ortağı silmek istediginize emin misiniz?\",\r\n confirmTitle: \"İş Ortağı Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewPartner: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewPartner = this.addNewPartner.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getPartners(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Partner.CreatePartner') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getPartners(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await partnerService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.partners, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await partnerService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removePartner() {\r\n if (this.deleteConfirmId) {\r\n await partnerService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((partner: any) => partner.id !== this.deleteConfirmId) })\r\n this.getPartners(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewPartner() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewPartner: false });\r\n } else {\r\n this.setState({ addNewPartner: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Partner.UpdatePartner') != -1) && (permissionList.indexOf('Partner.DeletePartner') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Partner.UpdatePartner') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Partner.DeletePartner') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemovePartner(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getPartners(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getPartners(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getPartners(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removePartner();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getPartners(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getPartners(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive, resources } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? resources.LabelStatus1 : resources.LabelStatus2} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList, resources } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n İş Ortağı Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n İrtibat Kişi\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Email Adresi\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Cep Telefonu\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Ülke\r\n \r\n \r\n this.handleSort(orderBy === 13 ? 14 : 13)}>\r\n \r\n Şehir\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n İlçe\r\n \r\n \r\n this.handleSort(orderBy === 17 ? 18 : 17)}>\r\n \r\n Adres\r\n \r\n \r\n this.handleSort(orderBy === 19 ? 20 : 19)}>\r\n \r\n Açıklama\r\n \r\n \r\n this.handleSort(orderBy === 21 ? 22 : 21)}>\r\n \r\n Kullanıcı Adı\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n {resources.ListLabelStatus}\r\n \r\n \r\n {((permissionList.indexOf('Partner.UpdatePartner') != -1) && (permissionList.indexOf('Partner.DeletePartner') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewPartner, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n\r\n {addNewPartner && }\r\n \r\n \r\n {resources.MenuLeftmenu1_6_7} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {loading && }\r\n\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((partner: any) => (\r\n \r\n {partner.partnerName}\r\n {partner.contactPerson}\r\n {partner.emailAddress}\r\n {partner.mobilePhoneNumber}\r\n {partner.countryName}\r\n {partner.cityName}\r\n {partner.districtName}\r\n {partner.address}\r\n {partner.description}\r\n {partner.nameSurname}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemovePartner(partner.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport PartnerList from './PartnerList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service'\r\n\r\ninterface IPartnerState {\r\n resources: any\r\n}\r\n\r\ninterface IPartnerProps {\r\n location: any,\r\n}\r\n\r\nexport default class Partner extends Component {\r\n public readonly state: IPartnerState;\r\n public readonly props: IPartnerProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_6_7}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_6}
    • \r\n
    • {resources.MenuLeftmenu1_6_7}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n\r\n
    \r\n )\r\n }\r\n}\r\n","//Partner\r\nfunction emailValidation(email: string) {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)\r\n}\r\n\r\nexport const partnerNameValidator = (partnerName: string): string => {\r\n if (partnerName === \"\") return 'İş Ortağı adı alanını boş geçemezsiniz!'\r\n else if (partnerName.length < 6) return 'İş Ortağı adı en az 6 karakter olabilir!'\r\n return '';\r\n}\r\n\r\nexport const contactPersonValidator = (contactPerson: string): string => {\r\n if (contactPerson === \"\") return 'İrtibat Kişi adı alanını boş geçemezsiniz!'\r\n else if (contactPerson.length < 6) return 'İrtibat Kişi adı en az 6 karakter olabilir!'\r\n return '';\r\n}\r\n\r\nexport const emailAddressValidator = (emailAddress: string): string => {\r\n if (emailAddress === \"\") return 'Mail alanını boş geçemezsiniz!'\r\n else if (emailAddress.length < 6) return 'Kullanici adi en az 6 karakter olabilir!'\r\n else if (!emailValidation(emailAddress)) return 'Geçersiz bir E-posta Adresi girdiniz!'\r\n return '';\r\n}\r\n\r\nexport const mobilePhoneNumberValidator = (mobilePhoneNumber: string): string => {\r\n if (mobilePhoneNumber === \"\") return 'Cep telefonu alanını boş geçemezsiniz!'\r\n else if (mobilePhoneNumber.length < 10 || mobilePhoneNumber.length > 10) return 'Telefon numarası 10 karakter olmalıdır, başında 0 kullanmayın!'\r\n return '';\r\n}\r\n\r\nexport const countryValidator = (countryId: number): string => {\r\n if (countryId === 0) return 'Ülke seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const cityValidator = (cityId: number): string => {\r\n if (cityId === 0) return 'Şehir seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const districtValidator = (districtId: number): string => {\r\n if (districtId === 0) return 'İlçe seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const addressValidator = (address: string): string => {\r\n if (address === \"\") return 'Adres alanını boş geçemezsiniz!'\r\n else if (address.length < 15) return 'Adres alanı en az 15 karakter olabilir!'\r\n return '';\r\n}\r\n\r\nexport const userValidator = (userId: number): string => {\r\n if (userId === 0) return 'Kullanıcı seçiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\nimport moment from 'moment';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { partnerService, locationService } from '../../service';\r\nimport { PARTNER } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport { partnerNameValidator, contactPersonValidator, emailAddressValidator, mobilePhoneNumberValidator, countryValidator, cityValidator, districtValidator, addressValidator, userValidator } from '../../utils/partner.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IPartnerFormState {\r\n partnerName: string;\r\n partnerNameError: string;\r\n contactPerson: string;\r\n contactPersonError: string;\r\n emailAddress: string;\r\n emailAddressError: string; \r\n mobilePhoneNumber: string;\r\n mobilePhoneNumberError: string;\r\n countryList: [],\r\n countryId: any,\r\n countryError: string,\r\n cityList: [],\r\n cityId: any,\r\n cityError: any,\r\n districtList: [],\r\n districtId: any,\r\n districtError: string, \r\n address: string;\r\n addressError: string;\r\n description: string;\r\n userList: [],\r\n userId: any,\r\n userError: string, \r\n isActive: boolean; \r\n isEdit: boolean,\r\n loading: boolean,\r\n isSuccess: string,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\n\r\nexport interface IPartnerFormProps {\r\n classes: any;\r\n}\r\n\r\nclass PartnerForm extends Component {\r\n public readonly state: IPartnerFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n partnerName: \"\",\r\n partnerNameError: \"\",\r\n contactPerson: \"\",\r\n contactPersonError: \"\",\r\n emailAddress: \"\",\r\n emailAddressError: \"\",\r\n mobilePhoneNumber: \"\",\r\n mobilePhoneNumberError: \"\",\r\n countryList: [],\r\n countryId: 0,\r\n countryError: \"\",\r\n cityList: [],\r\n cityId: 0,\r\n cityError: \"\",\r\n districtList: [],\r\n districtId: 0,\r\n districtError: \"\", \r\n address: \"\",\r\n addressError: \"\",\r\n description: \"\",\r\n userList: [],\r\n userId: 0,\r\n userError: \"\", \r\n isActive: true,\r\n isEdit: false,\r\n loading: true,\r\n isSuccess: \"\",\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangePartnerName = this.onChangePartnerName.bind(this);\r\n this.onChangeContactPerson = this.onChangeContactPerson.bind(this);\r\n this.onChangeEmailAddress = this.onChangeEmailAddress.bind(this);\r\n this.onChangeMobilePhoneNumber = this.onChangeMobilePhoneNumber.bind(this); \r\n this.onChangeCountry = this.onChangeCountry.bind(this);\r\n this.onChangeCity = this.onChangeCity.bind(this);\r\n this.onChangeDistrict = this.onChangeDistrict.bind(this);\r\n this.onChangeAddress = this.onChangeAddress.bind(this);\r\n this.onChangeDescription = this.onChangeDescription.bind(this);\r\n this.onChangeUser = this.onChangeUser.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.partnerId) this.getEditablePartner();\r\n else { this.getCountries(0); this.getUsers(); this.setState({ loading: false }); }\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n\r\n\r\n\r\n private async getEditablePartner() {\r\n const { data } = await partnerService.getById(this.props.match.params.partnerId);\r\n\r\n await this.getCountries(data.countryId);\r\n await this.getUsers();\r\n\r\n const state = {\r\n ...data,\r\n isEdit: true,\r\n countryId: this.state.countryList.find((item: any) => item.id === data.countryId),\r\n cityId: this.state.cityList.find((item: any) => item.id === data.cityId),\r\n userId: this.state.userList.find((item: any) => item.id === data.userId),\r\n };\r\n\r\n this.setState({ ...state, loading: false });\r\n\r\n await this.getDistricts(state.countryId.id, state.cityId.id);\r\n this.setState({ districtId: this.state.districtList.find((item: any) => item.id === data.districtId), loading: false })\r\n\r\n\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n \r\n\r\n private onChangePartnerName(e: ChangeEvent) {\r\n this.setState({ partnerName: e.currentTarget.value, partnerNameError: partnerNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeContactPerson(e: ChangeEvent) {\r\n this.setState({ contactPerson: e.currentTarget.value, contactPersonError: contactPersonValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeEmailAddress(e: ChangeEvent) {\r\n this.setState({ emailAddress: e.target.value, emailAddressError: emailAddressValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeMobilePhoneNumber(e: ChangeEvent) {\r\n this.setState({ mobilePhoneNumber: e.currentTarget.value, mobilePhoneNumberError: mobilePhoneNumberValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCountry(countryId: any) {\r\n this.setState({ countryId, countryError: countryValidator(countryId), cityId: 0, districtId: 0 });\r\n this.getCities(countryId.id);\r\n }\r\n\r\n private onChangeCity(cityId: any) {\r\n this.setState({ cityId, cityError: cityValidator(cityId), districtId: 0 });\r\n this.getDistricts(this.state.countryId.id, cityId.id);\r\n }\r\n\r\n private onChangeDistrict(districtId: any) {\r\n this.setState({ districtId, districtError: districtValidator(districtId) });\r\n }\r\n\r\n private onChangeAddress(e: ChangeEvent) {\r\n this.setState({ address: e.currentTarget.value, addressError: addressValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeDescription(e: ChangeEvent) {\r\n this.setState({ description: e.currentTarget.value});\r\n }\r\n\r\n private onChangeUser(userId: any) {\r\n this.setState({ userId, userError: userValidator(userId)});\r\n } \r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.currentTarget.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(PARTNER);\r\n }\r\n\r\n private async getCountries(countryId?: number) {\r\n const { data } = await locationService.getCountries();\r\n\r\n const state = {\r\n countryId: this.state.countryId === 0 ? countryId : this.state.countryId.id,\r\n countryList: data.countries,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n if (this.props.match.params.partnerId) await this.getCities(state.countryId);\r\n }\r\n\r\n private async getCities(countryId: number) {\r\n const { data } = await locationService.getCities(countryId);\r\n\r\n const state = {\r\n cityList: data.cities,\r\n cityId: this.state.cityId === 0 ? 0 : this.state.cityId.id\r\n };\r\n\r\n this.setState(state);\r\n\r\n if (this.props.match.params.partnerId) await this.getDistricts(countryId, state.cityId);\r\n }\r\n\r\n private async getDistricts(countryId: number, cityId: number) {\r\n const { data } = await locationService.getDistricts(countryId, cityId);\r\n\r\n const state = {\r\n districtList: data.districts,\r\n districtId: this.state.districtId === 0 ? 0 : this.state.districtId.id\r\n }\r\n\r\n this.setState(state);\r\n }\r\n\r\n private async getUsers(useDefault: boolean = true) {\r\n const { data } = await locationService.getUsersOfPartners();\r\n\r\n const state = {\r\n userId: useDefault ? 0 : this.state.userId.id,\r\n userList: data.users\r\n };\r\n\r\n this.setState(state);\r\n }\r\n \r\n private formValidation() {\r\n const { partnerName, contactPerson, emailAddress, mobilePhoneNumber, countryId, cityId, districtId, address, userId } = this.state;\r\n\r\n if (\r\n partnerNameValidator(partnerName) !== \"\" ||\r\n contactPersonValidator(contactPerson) !== \"\" ||\r\n emailAddressValidator(emailAddress) !== \"\" ||\r\n mobilePhoneNumberValidator(mobilePhoneNumber) !== \"\" ||\r\n countryValidator(countryId) !== \"\" ||\r\n cityValidator(cityId) !== \"\" ||\r\n districtValidator(districtId) !== \"\" ||\r\n addressValidator(address) !== \"\" ||\r\n userValidator(userId) !== \"\"\r\n ) {\r\n\r\n this.setState({\r\n partnerNameError: partnerNameValidator(partnerName),\r\n contactPersonError: contactPersonValidator(contactPerson),\r\n emailAddressError: emailAddressValidator(emailAddress),\r\n mobilePhoneNumberError: mobilePhoneNumberValidator(mobilePhoneNumber),\r\n countryError: countryValidator(countryId),\r\n cityError: cityValidator(cityId),\r\n districtError: districtValidator(districtId),\r\n addressError: addressValidator(address),\r\n userError: userValidator(userId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n const { partnerName, contactPerson, emailAddress, mobilePhoneNumber, countryId, cityId, districtId, address, description, userId, isActive, isEdit } = this.state;\r\n\r\n\r\n if (this.formValidation()) {\r\n\r\n\r\n const model = {\r\n partnerName: sqlInjectValidator(partnerName),\r\n contactPerson: sqlInjectValidator(String(contactPerson)),\r\n emailAddress: sqlInjectValidator(emailAddress),\r\n mobilePhoneNumber: sqlInjectValidator(mobilePhoneNumber),\r\n countryId: sqlInjectValidator(String(countryId.id)),\r\n cityId: sqlInjectValidator(String(cityId.id)),\r\n districtId: sqlInjectValidator(String(districtId.id)),\r\n address: sqlInjectValidator(address),\r\n description: sqlInjectValidator(description),\r\n userId: sqlInjectValidator(String(userId.id)),\r\n isActive\r\n };\r\n\r\n\r\n\r\n if (isEdit) await this.editPartner(model);\r\n else await this.createPartner(model);\r\n }\r\n\r\n }\r\n\r\n private async createPartner(model: any) {\r\n const data = await partnerService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editPartner(model: any) {\r\n const data = await partnerService.update({ ...model, id: this.props.match.params.partnerId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderPartnerName() {\r\n const { partnerName, partnerNameError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderContactPerson() {\r\n const { contactPerson, contactPersonError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderEmailAddress() {\r\n const { emailAddress, emailAddressError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderMobilePhoneNumber() {\r\n const { mobilePhoneNumber, mobilePhoneNumberError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n \r\n private renderCountries() {\r\n const { countryId, countryList, countryError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {countryError}\r\n \r\n );\r\n }\r\n\r\n private renderCities() {\r\n const { cityId, cityList, cityError, countryId } = this.state;\r\n\r\n return (\r\n \r\n \r\n {cityError}\r\n \r\n );\r\n }\r\n\r\n private renderDistricts() {\r\n const { districtId, districtList, districtError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {districtError}\r\n \r\n );\r\n }\r\n\r\n private renderAddress() {\r\n const { address, addressError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderDescription() {\r\n const { description } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderUsers() {\r\n const { userId, userList, userError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {userError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading ?\r\n <>\r\n \r\n\r\n {this.state.isEdit ? : }\r\n İş Ortağı {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan İş Ortağı bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda İş Ortağı ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n\r\n
    e.preventDefault()}>\r\n İş Ortağı {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderPartnerName()}\r\n {this.renderContactPerson()}\r\n {this.renderEmailAddress()}\r\n {this.renderMobilePhoneNumber()}\r\n {this.renderCountries()}\r\n {this.renderCities()}\r\n {this.renderDistricts()}\r\n {this.renderUsers()}\r\n {this.renderAddress()}\r\n {this.renderDescription()}\r\n \r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : null}\r\n
    \r\n\r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(PartnerForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_ROLE, EDIT_ROLE } from '../../routes/paths'\r\n\r\nimport { roleService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IRoleListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewRole: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class RoleList extends Component {\r\n public readonly props: any;\r\n public readonly state: IRoleListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Rol silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Rol Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewRole: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewRole = this.addNewRole.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getRoles(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Role.CreateRole') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getRoles(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await roleService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.roles, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await roleService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeRole() {\r\n if (this.deleteConfirmId) {\r\n await roleService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((role: any) => role.id !== this.deleteConfirmId) });\r\n this.getRoles(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewRole() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewRole: false });\r\n } else {\r\n this.setState({ addNewRole: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Role.UpdateRole') != -1) && (permissionList.indexOf('Role.DeleteRole') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Role.UpdateRole') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Role.DeleteRole') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveRole(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getRoles(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getRoles(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getRoles(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeRole();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getRoles(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getRoles(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Rol Adı\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Role.UpdateRole') != -1) && (permissionList.indexOf('Role.DeleteRole') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewRole, addNewButton, list, loading, currentPage, searchText, totalCount, confirmStatus, searchTotalCount, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewRole && }\r\n \r\n \r\n {resources.MenuLeftmenu1_7_2} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((role: any) => (\r\n \r\n \r\n {role.roleName}\r\n \r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveRole(role.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport RoleList from './RoleList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IRoleState {\r\n resources: any\r\n}\r\n\r\ninterface IRoleProps {\r\n location: any,\r\n}\r\n\r\nexport default class Role extends Component {\r\n public readonly state: IRoleState;\r\n public readonly props: IRoleProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_7_2}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_7}
    • \r\n
    • {resources.MenuLeftmenu1_7_2}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//Role\r\n\r\nexport const roleNameValidator = (roleName: string): string => {\r\n if (roleName === \"\") return 'Rol adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { roleService } from '../../service';\r\nimport { ROLE } from '../../routes/paths';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { roleNameValidator } from '../../utils/role.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\n\r\nexport interface IRoleFormState {\r\n roleName: string;\r\n roleNameError: string,\r\n isActive: boolean;\r\n isSuccess: string,\r\n isEdit: boolean;\r\n loading: boolean;\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IRoleFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass RoleForm extends Component {\r\n public readonly state: IRoleFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n roleName: \"\",\r\n roleNameError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeRoleName = this.onChangeRoleName.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.roleId) this.getEditableRole();\r\n else this.setState({ loading: false });\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableRole() {\r\n const { data, isSuccess, errorCode, errorMessage } = await roleService.getById(this.props.match.params.roleId);\r\n\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n const state = {\r\n ...data,\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeRoleName(e: ChangeEvent) {\r\n this.setState({ roleName: e.target.value, roleNameError: roleNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(ROLE);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { roleName } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n roleNameValidator(roleName) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n roleNameError: roleNameValidator(roleName)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { roleName, isActive, isEdit } = this.state;\r\n\r\n const model = {\r\n roleName: sqlInjectValidator(roleName),\r\n isActive\r\n };\r\n\r\n if (this.formValidation()) {\r\n if (isEdit) await this.editRole(model);\r\n else await this.createRole(model);\r\n }\r\n }\r\n\r\n private async createRole(model: any) {\r\n const data = await roleService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editRole(model: any) {\r\n const data = await roleService.update({ ...model, id: this.props.match.params.roleId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderRoleName() {\r\n const { roleName, roleNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage, isEdit } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {isEdit ? : }\r\n Rol {isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {isEdit ? \"Bu ekrandan rol bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda rol ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Rol {isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderRoleName()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(RoleForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_LANGUAGE, EDIT_LANGUAGE } from '../../routes/paths'\r\n\r\nimport { languageService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface ILanguageListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewLanguage: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class LanguageList extends Component {\r\n public readonly props: any;\r\n public readonly state: ILanguageListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Dil silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Dil Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewLanguage: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewLanguage = this.addNewLanguage.bind(this);\r\n\r\n }\r\n\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getLanguages(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Language.CreateLanguage') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getLanguages(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await languageService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.languages, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await languageService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeLanguage() {\r\n if (this.deleteConfirmId) {\r\n await languageService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((language: any) => language.id !== this.deleteConfirmId) });\r\n\r\n this.getLanguages(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n }\r\n\r\n private addNewLanguage() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewLanguage: false });\r\n } else {\r\n this.setState({ addNewLanguage: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Language.UpdateLanguage') != -1) && (permissionList.indexOf('Language.DeleteLanguage') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Language.UpdateLanguage') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Language.DeleteLanguage') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveLanguage(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getLanguages(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getLanguages(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getLanguages(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeLanguage();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getLanguages(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getLanguages(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Dil Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Dil Kodu\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Language.UpdateLanguage') != -1) && (permissionList.indexOf('Language.DeleteLanguage') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewLanguage, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewLanguage && }\r\n \r\n \r\n {resources.MenuLeftmenu1_9_1} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((language: any) => (\r\n \r\n \r\n {language.languageName}\r\n \r\n {language.languageCode}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveLanguage(language.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n\r\n\r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport LanguageList from './LanguageList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface ILanguageState {\r\n resources: any\r\n}\r\n\r\ninterface ILanguageProps {\r\n location: any,\r\n}\r\n\r\nexport default class Language extends Component {\r\n public readonly state: ILanguageState;\r\n public readonly props: ILanguageProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_9_1}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_9}
    • \r\n
    • {resources.MenuLeftmenu1_9_1}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//Language\r\n\r\nexport const languageNameValidator = (languageName: string): string => {\r\n if (languageName === \"\") return 'Dil adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const languageCodeValidator = (languageCode: string): string => {\r\n if (languageCode === \"\") return 'Dil kodu alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { languageService } from '../../service';\r\nimport { LANGUAGE } from '../../routes/paths';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { languageCodeValidator, languageNameValidator } from '../../utils/language.validators'\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface ILanguageFormState {\r\n languageName: string;\r\n languageNameError: string;\r\n languageCode: string;\r\n languageCodeError: string;\r\n isActive: boolean;\r\n isSuccess: string,\r\n isEdit: boolean;\r\n loading: boolean;\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface ILanguageFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass LanguageForm extends Component {\r\n public readonly state: ILanguageFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n languageName: \"\",\r\n languageNameError: \"\",\r\n languageCode: \"\",\r\n languageCodeError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeLanguageName = this.onChangeLanguageName.bind(this);\r\n this.onChangeLanguageCode = this.onChangeLanguageCode.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.languageId) this.getEditableLanguage();\r\n else this.setState({ loading: false });\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableLanguage() {\r\n const { data, isSuccess, errorCode, errorMessage } = await languageService.getById(this.props.match.params.languageId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n const state = {\r\n ...data,\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeLanguageName(e: ChangeEvent) {\r\n this.setState({ languageName: e.target.value, languageNameError: languageNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeLanguageCode(e: ChangeEvent) {\r\n this.setState({ languageCode: e.target.value, languageCodeError: languageCodeValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(LANGUAGE);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { languageCode, languageName } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n languageCodeValidator(languageCode) !== \"\" ||\r\n languageNameValidator(languageName) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n languageCodeError: languageCodeValidator(languageCode),\r\n languageNameError: languageNameValidator(languageName)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { languageName, languageCode, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n languageName: sqlInjectValidator(languageName),\r\n languageCode: sqlInjectValidator(languageCode),\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editLanguage(model);\r\n else await this.createLanguage(model);\r\n }\r\n }\r\n\r\n private async createLanguage(model: any) {\r\n const data = await languageService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editLanguage(model: any) {\r\n const data = await languageService.update({ ...model, id: this.props.match.params.languageId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderLanguageName() {\r\n const { languageName, languageNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderLanguageCode() {\r\n const { languageCode, languageCodeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage, isEdit } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {isEdit ? : }\r\n\r\n Dil {isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {isEdit ? \"Bu ekrandan dil bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda dil ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Dil {isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderLanguageName()}\r\n {this.renderLanguageCode()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(LanguageForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_RESOURCETYPE, EDIT_RESOURCETYPE } from '../../routes/paths'\r\n\r\nimport { resourceTypeService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IResourceTypeListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewResourceType: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class ResourceTypeList extends Component {\r\n public readonly props: any;\r\n public readonly state: IResourceTypeListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Kaynak Tipi silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Kaynak Tipi Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewResourceType: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewResourceType = this.addNewResourceType.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getResourceTypes(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('ResourceType.CreateResourceType') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getResourceTypes(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await resourceTypeService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.resourceTypes, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await resourceTypeService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeResourceType() {\r\n if (this.deleteConfirmId) {\r\n await resourceTypeService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((resourceType: any) => resourceType.id !== this.deleteConfirmId) });\r\n this.getResourceTypes(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewResourceType() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewResourceType: false });\r\n } else {\r\n this.setState({ addNewResourceType: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('ResourceType.UpdateResourceType') != -1) && (permissionList.indexOf('ResourceType.DeleteResourceType') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('ResourceType.UpdateResourceType') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('ResourceType.DeleteResourceType') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveResourceType(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getResourceTypes(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getResourceTypes(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getResourceTypes(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeResourceType();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getResourceTypes(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getResourceTypes(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Kaynak Tipi Adı\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('ResourceType.UpdateResourceType') != -1) && (permissionList.indexOf('ResourceType.DeleteResourceType') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewResourceType, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewResourceType && }\r\n \r\n \r\n {resources.MenuLeftmenu1_9_2} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((resourceType: any) => (\r\n \r\n \r\n {resourceType.resourceTypeName}\r\n \r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveResourceType(resourceType.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport ResourceTypeList from './ResourceTypeList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IResourceTypeState {\r\n resources: any\r\n}\r\n\r\ninterface IResourceTypeProps {\r\n location: any,\r\n}\r\n\r\nexport default class ResourceType extends Component {\r\n public readonly state: IResourceTypeState;\r\n public readonly props: IResourceTypeProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_9_2}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_9}
    • \r\n
    • {resources.MenuLeftmenu1_9_2}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//ResourceType\r\n\r\nexport const resourceTypeNameValidator = (resourceTypeName: string): string => {\r\n if (resourceTypeName === \"\") return 'Kaynak tipi adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { resourceTypeService } from '../../service';\r\nimport { RESOURCETYPE } from '../../routes/paths';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { resourceTypeNameValidator } from '../../utils/resourcetype.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IResourceTypeFormState {\r\n resourceTypeName: string;\r\n resourceTypeNameError: string,\r\n isActive: boolean;\r\n isSuccess: string,\r\n isEdit: boolean;\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IResourceTypeFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass ResourceTypeForm extends Component {\r\n public readonly state: IResourceTypeFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resourceTypeName: \"\",\r\n resourceTypeNameError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeResourceTypeName = this.onChangeResourceTypeName.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.resourceTypeId) this.getEditableResourceType();\r\n else this.setState({ loading: false });\r\n }\r\n\r\n private async getEditableResourceType() {\r\n const { data, isSuccess, errorCode, errorMessage } = await resourceTypeService.getById(this.props.match.params.resourceTypeId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n const state = {\r\n ...data,\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeResourceTypeName(e: ChangeEvent) {\r\n this.setState({ resourceTypeName: e.target.value, resourceTypeError: resourceTypeNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(RESOURCETYPE);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { resourceTypeName } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n resourceTypeNameValidator(resourceTypeName) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n resourceTypeNameError: resourceTypeNameValidator(resourceTypeName)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { resourceTypeName, isActive, isEdit } = this.state;\r\n\r\n const model = {\r\n resourceTypeName: sqlInjectValidator(resourceTypeName),\r\n isActive\r\n };\r\n\r\n if (this.formValidation()) {\r\n if (isEdit) await this.editResourceType(model);\r\n else await this.createResourceType(model);\r\n }\r\n }\r\n\r\n private async createResourceType(model: any) {\r\n const data = await resourceTypeService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editResourceType(model: any) {\r\n const data = await resourceTypeService.update({ ...model, id: this.props.match.params.resourceTypeId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private renderResourceTypeyName() {\r\n const { resourceTypeName, resourceTypeNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Kaynak Tipi {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan kaynak tipi bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda kaynak tipi ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Kaynak Tipi {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderResourceTypeyName()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(ResourceTypeForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_RESOURCE, EDIT_RESOURCE } from '../../routes/paths'\r\n\r\nimport { resourceService, userService, cookieService } from '../../service'\r\n\r\n\r\ninterface IResourceListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewResource: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class ResourceList extends Component {\r\n public readonly props: any;\r\n public readonly state: IResourceListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Kaynak silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Kaynak Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewResource: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewResource = this.addNewResource.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getResources(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Resource.CreateResource') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResourcesList();\r\n }\r\n\r\n private async getResourcesList() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getResources(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await resourceService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.resources, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await resourceService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeResource() {\r\n if (this.deleteConfirmId) {\r\n await resourceService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((resource: any) => resource.id !== this.deleteConfirmId) });\r\n\r\n this.getResources(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewResource() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewResource: false });\r\n } else {\r\n this.setState({ addNewResource: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Resource.UpdateResource') != -1) && (permissionList.indexOf('Resource.DeleteResource') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Resource.UpdateResource') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Resource.DeleteResource') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveResource(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getResources(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getResources(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getResources(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeResource();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getResources(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getResources(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Kaynak Anahtarı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Kaynak Değeri\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Kaynak Tipi\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Dil\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Resource.UpdateResource') != -1) && (permissionList.indexOf('Resource.DeleteResource') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewResource, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewResource && }\r\n \r\n \r\n {resources.MenuLeftmenu1_9_3} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((resource: any) => (\r\n \r\n \r\n {resource.resourceKey}\r\n \r\n {resource.value}\r\n {resource.resourceTypeName}\r\n {resource.languageName}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveResource(resource.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport ResourceList from './ResourceList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IResourceState {\r\n resources: any\r\n}\r\n\r\ninterface IResourceProps {\r\n location: any,\r\n}\r\n\r\nexport default class Resource extends Component {\r\n public readonly state: IResourceState;\r\n public readonly props: IResourceProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_9_3}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_9}
    • \r\n
    • {resources.MenuLeftmenu1_9_3}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//Resource\r\n\r\nexport const resourceKeyValidator = (resourceKey: string): string => {\r\n if (resourceKey === \"\") return 'Kaynak anahtarı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const valueValidator = (value: string): string => {\r\n if (value === \"\") return 'Kaynak Değeri alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const resourceTypeValidator = (resourceTypeId: number): string => {\r\n if (resourceTypeId === 0) return 'Kaynak tipi seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const languageValidator = (languageId: number): string => {\r\n if (languageId === 0) return 'Dil seçiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Typography from '@material-ui/core/Typography'\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { resourceService, locationService } from '../../service';\r\nimport { RESOURCE } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { resourceKeyValidator, resourceTypeValidator, languageValidator, valueValidator } from '../../utils/resource.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IResourceFormState {\r\n resourceTypeList: [],\r\n resourceTypeId: any,\r\n resourceTypeError: string,\r\n languageList: [],\r\n languageId: any,\r\n languageError: string,\r\n resourceKey: string,\r\n resourceKeyError: string,\r\n value: string,\r\n valueError: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IResourceFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass ResourceForm extends Component {\r\n public readonly state: IResourceFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resourceTypeList: [],\r\n resourceTypeId: 0,\r\n resourceTypeError: \"\",\r\n languageList: [],\r\n languageId: 0,\r\n languageError: \"\",\r\n resourceKey: \"\",\r\n resourceKeyError: \"\",\r\n value: \"\",\r\n valueError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeResourceKey = this.onChangeResourceKey.bind(this);\r\n this.onChangeResourceValue = this.onChangeResourceValue.bind(this);\r\n this.onChangeResourceType = this.onChangeResourceType.bind(this);\r\n this.onChangeResourceLanguage = this.onChangeResourceLanguage.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.resourceId) this.getEditableResource();\r\n else {\r\n this.getResourceTypes();\r\n this.getLanguages();\r\n this.setState({ loading: false });\r\n }\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableResource() {\r\n const { data, isSuccess, errorCode, errorMessage } = await resourceService.getById(this.props.match.params.resourceId);\r\n\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getResourceTypes();\r\n await this.getLanguages();\r\n const state = {\r\n ...data,\r\n resourceTypeId: this.state.resourceTypeList.find((item: any) => item.id === data.resourceTypeId),\r\n languageId: this.state.languageList.find((item: any) => item.id === data.languageId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private async cancel() {\r\n this.props.history.push(RESOURCE);\r\n }\r\n\r\n private onChangeResourceKey(e: ChangeEvent) {\r\n this.setState({ resourceKey: e.target.value, resourceKeyError: resourceKeyValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeResourceValue(e: ChangeEvent) {\r\n this.setState({ value: e.target.value, valueError: valueValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeResourceType(resourceTypeId: any) {\r\n this.setState({ resourceTypeId, resourceTypeError: resourceTypeValidator(resourceTypeId) });\r\n }\r\n\r\n private onChangeResourceLanguage(languageId: any) {\r\n this.setState({ languageId, languageError: languageValidator(languageId) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async getResourceTypes() {\r\n const { data } = await locationService.getResourceTypes();\r\n\r\n const state = {\r\n resourceTypeId: this.state.resourceTypeId === 0 ? 0 : this.state.resourceTypeId.id,\r\n resourceTypeList: data.resourceTypes\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private async getLanguages() {\r\n const { data } = await locationService.getLanguages();\r\n\r\n const state = {\r\n languageId: this.state.languageId === 0 ? 0 : this.state.languageId.id,\r\n languageList: data.languages\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { resourceKey, resourceTypeId, languageId, value } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n resourceKeyValidator(resourceKey) !== \"\" ||\r\n resourceTypeValidator(resourceTypeId) !== \"\" ||\r\n languageValidator(languageId) !== \"\" ||\r\n valueValidator(value) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n resourceKeyError: resourceKeyValidator(resourceKey),\r\n resourceTypeError: resourceTypeValidator(resourceTypeId),\r\n languageError: languageValidator(languageId),\r\n valueError: valueValidator(value)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { resourceTypeId, languageId, resourceKey, value, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n resourceTypeId: sqlInjectValidator(String(resourceTypeId.id)),\r\n languageId: sqlInjectValidator(String(languageId.id)),\r\n resourceKey: sqlInjectValidator(resourceKey),\r\n value: sqlInjectValidator(value),\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editResource(model);\r\n else await this.createResource(model);\r\n }\r\n }\r\n\r\n private async createResource(model: any) {\r\n const data = await resourceService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editResource(model: any) {\r\n const data = await resourceService.update({ ...model, id: this.props.match.params.resourceId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n\r\n private renderResourceKey() {\r\n const { resourceKey, resourceKeyError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n\r\n private renderResourceValue() {\r\n const { value, valueError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private renderResources() {\r\n const { resourceTypeId, resourceTypeList, resourceTypeError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {resourceTypeError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderLanguages() {\r\n const { languageId, languageList, languageError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {languageError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Kaynak {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan kaynak bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda kaynak ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Kaynak {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderResourceKey()}\r\n {this.renderResourceValue()}\r\n {this.renderResources()}\r\n {this.renderLanguages()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(ResourceForm);\r\n","import React, { Component } from 'react'\r\nimport { withStyles } from '@material-ui/core/';\r\n\r\nimport { accountBalancesService } from '../../service';\r\nimport Paper from '@material-ui/core/Paper/Paper';\r\nimport CircularProgress from '@material-ui/core/CircularProgress/CircularProgress';\r\n\r\nimport Chart, {\r\n Series,\r\n Label,\r\n Connector,\r\n Size,\r\n Export,\r\n Margin\r\n} from 'devextreme-react/chart';\r\n\r\ninterface IBalanceChartProps {\r\n currencyId: number;\r\n name: string;\r\n classes: any;\r\n}\r\n\r\ninterface IBalanceChartState {\r\n data: [];\r\n companyBalance: [];\r\n loading: boolean;\r\n}\r\n\r\nconst style = (theme: any) => ({\r\n wrapper: {\r\n display: \"flex\",\r\n width: \"100%\"\r\n },\r\n chart: {\r\n marginRight: \"10px\",\r\n width: \"100%\",\r\n backgroundColor: \"#fff\"\r\n }\r\n})\r\n\r\nclass BalanceChart extends Component {\r\n public props: IBalanceChartProps;\r\n public state: IBalanceChartState;\r\n\r\n constructor(props: IBalanceChartProps) {\r\n super(props);\r\n this.props = props;\r\n this.state = {\r\n data: [],\r\n companyBalance: [],\r\n loading: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n private async getData() {\r\n this.setState({ loading: true });\r\n const { data } = await accountBalancesService.getAccountBalances(this.props.currencyId);\r\n const { companyBalance } = await accountBalancesService.getAccountBalanceTotalsByCompany(this.props.currencyId);\r\n this.setState({ data: data.accountBalances, loading: false });\r\n }\r\n\r\n private renderCharts() {\r\n const { data } = this.state;\r\n const { classes } = this.props;\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n \r\n {this.state.loading ? :
    {this.renderCharts()}
    }\r\n
    \r\n\r\n )\r\n }\r\n}\r\nexport default withStyles(style)(BalanceChart);","import React, { Component } from 'react'\r\nimport Wrapper from '../layout/Wrapper';\r\nimport Tabs from '@material-ui/core/Tabs/Tabs';\r\nimport Typography from '@material-ui/core/Typography/Typography';\r\nimport Tab from '@material-ui/core/Tab/Tab';\r\nimport BalanceChart from './BalanceChart';\r\nimport Paper from '@material-ui/core/Paper/Paper';\r\n\r\n\r\nexport default class Reports extends Component {\r\n public state: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n tabValue: 0\r\n }\r\n\r\n this.handleTabChange = this.handleTabChange.bind(this);\r\n }\r\n\r\n private handleTabChange(_: any, tabValue: any) {\r\n this.setState({ tabValue });\r\n }\r\n\r\n private renderCharts() {\r\n const { tabValue } = this.state;\r\n if (tabValue === 0) return ;\r\n else if (tabValue === 1) return ;\r\n else if (tabValue === 2) return ;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.renderCharts()}\r\n \r\n\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport { GridSize } from '@material-ui/core/Grid'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel'\r\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary'\r\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails'\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport moment from 'moment'\r\nimport 'moment/locale/tr'\r\nimport { accountBalancesService } from '../../service'\r\nimport {\r\n CurrencyCode,\r\n CurrencyId,\r\n priceFormatter,\r\n} from '../../helpers/priceFormatter'\r\nimport { CircularProgress } from '@material-ui/core'\r\n\r\nmoment.locale('tr')\r\n\r\ninterface BalanceHistory {\r\n companyName: string\r\n companyId: number\r\n balance: number\r\n bankAccountCode: string\r\n bankAccountId: number\r\n bankAccountName: string\r\n bankAccountNo: string\r\n bankBranchCode: string\r\n bankId: number\r\n bankName: string\r\n createDateTime: string\r\n currencyCode: CurrencyCode\r\n currencyId: CurrencyId\r\n currencyName: string\r\n iban: string\r\n id: number\r\n isActive: boolean\r\n}\r\n\r\ninterface BalanceHistoryResponse {\r\n accountBalanceHistories: BalanceHistory[]\r\n}\r\n\r\ninterface BalanceHistoryForList {\r\n companyId: number\r\n companyName: string\r\n list: BalanceHistory[]\r\n}\r\n\r\nconst headCommon = {\r\n padding: '8px 0',\r\n fontWeight: 600,\r\n fontSize: '13.5px',\r\n}\r\n\r\nconst midHeadingCommon = {\r\n ...headCommon,\r\n fontSize: '14px',\r\n}\r\n\r\nconst classes: { [key: string]: React.CSSProperties } = {\r\n bankcard: {\r\n margin: '1%',\r\n width: '23%',\r\n },\r\n accordionDetail: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n borderBottom: {\r\n borderBottom: '1px solid #888',\r\n },\r\n dateContainer: {\r\n borderBottom: '1px solid #888',\r\n fontWeight: 600,\r\n },\r\n heading: {\r\n fontSize: 14,\r\n },\r\n head: {\r\n ...headCommon,\r\n },\r\n headFirst: {\r\n ...headCommon,\r\n paddingLeft: '8px',\r\n },\r\n currencyTotal: {\r\n fontWeight: 600,\r\n fontStyle: 'italic',\r\n padding: '8px 0',\r\n },\r\n midHeadingCenter: {\r\n ...midHeadingCommon,\r\n textAlign: 'center',\r\n background: '#99bef8',\r\n color: '#444',\r\n },\r\n midHeading: {\r\n ...midHeadingCommon,\r\n paddingLeft: '8px',\r\n background: '#f3f3f3',\r\n },\r\n normalCell: {\r\n fontWeight: 500,\r\n padding: '8px 0',\r\n },\r\n cellFirst: {\r\n fontWeight: 500,\r\n padding: '8px 0 8px 8px',\r\n },\r\n}\r\n\r\nexport interface ICompanyFormState {\r\n loading: boolean\r\n balanceHistoryList: BalanceHistoryForList[]\r\n createDateTimeList: string[]\r\n expandedCompany: number\r\n}\r\n\r\nexport interface ICompanyFormProps {\r\n classes: any\r\n}\r\n\r\nclass BalanceAnalysis extends Component {\r\n public readonly state: ICompanyFormState\r\n public readonly props: any\r\n\r\n constructor(props: any) {\r\n super(props)\r\n\r\n this.props = props\r\n\r\n this.state = {\r\n loading: false,\r\n balanceHistoryList: [],\r\n createDateTimeList: [],\r\n expandedCompany: 0,\r\n }\r\n\r\n this.getBalanceHistory = this.getBalanceHistory.bind(this)\r\n }\r\n\r\n componentWillMount() {\r\n this.getBalanceHistory()\r\n }\r\n\r\n seperateByKey(\r\n list: BalanceHistory[],\r\n idKey: T,\r\n nameKey: K\r\n ) {\r\n const transformedList = list.reduce((acc: any, curr) => {\r\n const idKeyValue = curr[idKey]\r\n const nameKeyValue = curr[nameKey]\r\n\r\n const isInList = acc.find((item: any) => item[idKey] === idKeyValue)\r\n\r\n if (!isInList) {\r\n acc = [\r\n ...acc,\r\n { [idKey]: idKeyValue, [nameKey]: nameKeyValue, list: [curr] },\r\n ]\r\n } else {\r\n acc = acc.map((item: any) =>\r\n item[idKey] === idKeyValue\r\n ? { ...item, list: [...item.list, curr] }\r\n : item\r\n )\r\n }\r\n\r\n return acc\r\n }, [])\r\n\r\n return transformedList\r\n }\r\n\r\n getUniqueDateTimeList(data: BalanceHistory[]) {\r\n const uniqueDateList = data\r\n .reduce((acc: string[], curr) => {\r\n const currentDateTime = curr.createDateTime.split(' ')[0]\r\n\r\n const isInList = acc.includes(currentDateTime)\r\n\r\n if (!isInList) {\r\n acc = [...acc, currentDateTime]\r\n }\r\n\r\n return acc\r\n }, [])\r\n .sort((a, b) => moment(b).valueOf() - moment(a).valueOf())\r\n\r\n return uniqueDateList\r\n }\r\n\r\n getGridColList(length: number): GridSize[] {\r\n if (length === 4) {\r\n return [4, 2, 2, 2, 2]\r\n }\r\n if (length > 5) {\r\n const allAuto = Array.from({ length: length + 1 }, () => 'auto' as 'auto')\r\n return allAuto\r\n }\r\n\r\n const defaultValue = Array.from({ length: length + 1 }, () => {\r\n return Math.floor(12 / (length + 1))\r\n }) as GridSize[]\r\n\r\n return defaultValue\r\n }\r\n\r\n sortWithDateTime(data: BalanceHistory[]) {\r\n const listByAccount = this.seperateByKey(\r\n data,\r\n 'bankAccountId',\r\n 'bankAccountName'\r\n ) as {\r\n bankAccountId: number\r\n bankAccountName: string\r\n list: BalanceHistory[]\r\n }[]\r\n\r\n const { createDateTimeList } = this.state\r\n\r\n const transformedList = listByAccount.map((item) => {\r\n const { list } = item\r\n\r\n const newList = Array.from(createDateTimeList, (v, i) => {\r\n const accountWithThisDateTime = list.find(\r\n (item) => item.createDateTime.split(' ')[0] === v\r\n )\r\n\r\n if (accountWithThisDateTime) {\r\n return { createDateTime: v, balance: accountWithThisDateTime.balance }\r\n } else {\r\n return { createDateTime: v, balance: 0 }\r\n }\r\n }).sort(\r\n (a, b) =>\r\n moment(b.createDateTime).valueOf() -\r\n moment(a.createDateTime).valueOf()\r\n )\r\n\r\n return { ...item, list: newList }\r\n })\r\n\r\n return transformedList\r\n }\r\n\r\n getTotalsForDate(data: BalanceHistory[]) {\r\n const { createDateTimeList } = this.state\r\n\r\n const totalsForDate = Array.from(createDateTimeList, (v, i) => {\r\n const total = data.reduce((acc, curr) => {\r\n if (curr.createDateTime.split(' ')[0] === v) {\r\n acc += curr.balance\r\n }\r\n\r\n return acc\r\n }, 0)\r\n\r\n return { createDateTime: v, total }\r\n }).sort(\r\n (a, b) =>\r\n moment(b.createDateTime).valueOf() - moment(a.createDateTime).valueOf()\r\n )\r\n\r\n return totalsForDate\r\n }\r\n\r\n async getBalanceHistory() {\r\n this.setState({ loading: true })\r\n\r\n const data = (\r\n await accountBalancesService.getAccountBalanceHistoriesReport()\r\n ).data as BalanceHistoryResponse\r\n\r\n // console.log('data', data)\r\n\r\n const balanceHistoryList = this.seperateByKey(\r\n data.accountBalanceHistories,\r\n 'companyId',\r\n 'companyName'\r\n )\r\n\r\n const createDateTimeList = this.getUniqueDateTimeList(\r\n data.accountBalanceHistories\r\n )\r\n\r\n this.setState({\r\n loading: false,\r\n balanceHistoryList,\r\n createDateTimeList,\r\n expandedCompany: balanceHistoryList[0] && balanceHistoryList[0].companyId,\r\n })\r\n }\r\n\r\n renderDatesRow() {\r\n const { createDateTimeList } = this.state\r\n\r\n const colList = this.getGridColList(createDateTimeList.length)!\r\n\r\n return (\r\n \r\n \r\n {createDateTimeList.map((date, i) => {\r\n return (\r\n \r\n
    {date}
    \r\n
    \r\n )\r\n })}\r\n
    \r\n )\r\n }\r\n\r\n renderExpansionPanels() {\r\n const { expandedCompany, balanceHistoryList, createDateTimeList } =\r\n this.state\r\n\r\n // console.log('balanceHistoryList', balanceHistoryList)\r\n\r\n const colList = this.getGridColList(createDateTimeList.length)!\r\n\r\n return balanceHistoryList.map(({ companyId, companyName, list }) => {\r\n return (\r\n this.setState({ expandedCompany: companyId })}\r\n >\r\n }>\r\n {companyName}\r\n \r\n \r\n {this.renderDatesRow()}\r\n {this.seperateByKey(list, 'bankId', 'bankName').map(\r\n ({ bankName, bankId, list }: any) => {\r\n return (\r\n <>\r\n \r\n \r\n
    {bankName}
    \r\n
    \r\n
    \r\n\r\n {this.seperateByKey(list, 'currencyId', 'currencyCode').map(\r\n ({ currencyId, currencyCode, list }: any) => {\r\n // console.log('listByCurrency', list)\r\n\r\n const listByDateTime = this.sortWithDateTime(list)\r\n\r\n const totalsForDate = this.getTotalsForDate(list)\r\n return (\r\n <>\r\n \r\n \r\n
    \r\n {currencyCode}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {/* Olmayan dateTime'lar da üretilecek şekilde listByCurrency listesi güncellenecek. */}\r\n {listByDateTime.map(\r\n ({ bankAccountName, bankAccountId, list }) => {\r\n return (\r\n <>\r\n \r\n
    \r\n {bankAccountName}\r\n
    \r\n
    \r\n {list.map(\r\n ({ createDateTime, balance }, i) => {\r\n return (\r\n \r\n
    \r\n {balance === 0\r\n ? '-'\r\n : priceFormatter(\r\n balance,\r\n currencyId\r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n )}\r\n \r\n )\r\n }\r\n )}\r\n
    \r\n \r\n \r\n
    Toplam
    \r\n
    \r\n {totalsForDate.map(({ total }, i) => {\r\n return (\r\n \r\n
    \r\n {total === 0\r\n ? '-'\r\n : priceFormatter(total, currencyId)}\r\n
    \r\n
    \r\n )\r\n })}\r\n
    \r\n \r\n )\r\n }\r\n )}\r\n \r\n )\r\n }\r\n )}\r\n\r\n {/* Şirketlerdeki Toplam Bakiye */}\r\n \r\n {this.renderDatesRow()}\r\n \r\n \r\n \r\n Toplam Bakiye\r\n \r\n \r\n \r\n {this.seperateByKey(list, 'currencyId', 'currencyCode').map(\r\n ({ currencyId, currencyCode, list }: any) => {\r\n const totalsForDate = this.getTotalsForDate(list)\r\n\r\n return (\r\n \r\n \r\n {`Toplam ${currencyCode}`}\r\n \r\n {totalsForDate.map(({ total }, i) => {\r\n return (\r\n \r\n
    \r\n {total === 0\r\n ? '-'\r\n : priceFormatter(total, currencyId)}\r\n
    \r\n
    \r\n )\r\n })}\r\n
    \r\n )\r\n }\r\n )}\r\n\r\n {/* Şirketlerdeki Toplam Bakiye Değişimi */}\r\n \r\n \r\n \r\n Toplam Bakiye Değişimi\r\n \r\n \r\n \r\n {this.seperateByKey(list, 'currencyId', 'currencyCode').map(\r\n ({ currencyId, currencyCode, list }: any) => {\r\n const totalsForDate = this.getTotalsForDate(list)\r\n const listLength = totalsForDate.length\r\n\r\n const differencesByDayBefore = Array.from(\r\n { length: listLength },\r\n (v, i) => {\r\n if (i === listLength - 1) {\r\n return 0\r\n } else {\r\n return totalsForDate[i].total - totalsForDate[i + 1].total\r\n }\r\n }\r\n )\r\n return (\r\n \r\n \r\n {`Toplam ${currencyCode}`}\r\n \r\n {differencesByDayBefore.map((difference, i) => {\r\n return (\r\n \r\n
    \r\n {difference === 0\r\n ? '-'\r\n : priceFormatter(difference, currencyId)}\r\n
    \r\n
    \r\n )\r\n })}\r\n
    \r\n )\r\n }\r\n )}\r\n
    \r\n \r\n )\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.loading ? (\r\n \r\n ) : (\r\n
    \r\n \r\n Şirketlere Göre Bakiye Analizleri\r\n \r\n {this.renderExpansionPanels()}\r\n
    \r\n )}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default BalanceAnalysis\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nimport { ADD_NEW_PAYMENT } from '../../routes/paths';\r\n\r\n\r\ninterface IPaymentListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n currentPage: number;\r\n sortType: string;\r\n searchText: string;\r\n selectedRow: number;\r\n orderBy: number;\r\n}\r\n\r\n\r\nconst addPaymentView = (props: any) => ;\r\n\r\n\r\nexport default class PaymentList extends Component {\r\n public readonly props: any;\r\n public readonly state: IPaymentListState;\r\n private deleteConfirmId: number | null;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n selectedRow: 25,\r\n totalCount: 0,\r\n currentPage: 0,\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n orderBy: 0\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.AddPayment = this.AddPayment.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPayments(\"\", this.state.currentPage, this.state.selectedRow);\r\n }\r\n\r\n private async getPayments(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy) {\r\n //const { data } = await paymentService.get(searchText, pageNumber, rowPerPage, orderBy);\r\n //this.setState({ list: data.payments, loading: false, totalCount: data.totalCount })\r\n }\r\n\r\n private async AddPayment() {\r\n this.props.history.push();\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getPayments(this.state.searchText, page, this.state.selectedRow);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getPayments(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getPayments(value, this.state.currentPage, this.state.selectedRow);\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getPayments(this.state.searchText, this.state.currentPage, selectedRow);\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Ödeme Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Kuruluş Sayısı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)} style={{ textAlign: 'right' }}>\r\n \r\n Üyelik Modeli\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)} style={{ textAlign: 'right' }}>\r\n \r\n Tutar\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)} style={{ textAlign: 'right' }}>\r\n \r\n Üyelik Bitiş\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Henüz Faturanız Bulunmamaktadır!\r\n Oluşturulmuş veya geçmiş bir faturanız henüz bulunmamaktadır!\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Button from '@material-ui/core/Button'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport Wrapper from '../layout/Wrapper';\r\n//import PaymentForm from './PaymentForm';\r\nimport PaymentList from './PaymentList';\r\n\r\nimport { ADD_NEW_PAYMENT } from '../../routes/paths';\r\n\r\ninterface IPaymentState {\r\n addNewPayment: boolean\r\n}\r\n\r\nexport default class Payment extends Component {\r\n public readonly state: IPaymentState;\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n addNewPayment: false\r\n }\r\n\r\n this.addNewPayment = this.addNewPayment.bind(this);\r\n }\r\n\r\n\r\n private addNewPayment() {\r\n this.setState({ addNewPayment: true });\r\n }\r\n\r\n render() {\r\n const { addNewPayment } = this.state;\r\n return (\r\n \r\n {addNewPayment && }\r\n \r\n \r\n
      \r\n
    • Ödeme
    • \r\n
    • Finans
    • \r\n
    • Ödeme
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport classNames from 'classnames'\r\n\r\nimport Paper from '@material-ui/core/Paper/Paper'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Table from '@material-ui/core/Table'\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableFooter from \"@material-ui/core/TableFooter\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport Tabs from '@material-ui/core/Tabs/Tabs'\r\nimport Tab from '@material-ui/core/Tab/Tab'\r\nimport Card from '@material-ui/core/Card'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Checkbox from '@material-ui/core/Checkbox'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport { withStyles } from '@material-ui/core/styles'\r\n\r\nimport { PAYMENT } from '../../routes/paths';\r\n\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\n\r\nexport interface IPaymentFormState {\r\n\r\n //Form\r\n nameSurname: string,\r\n cardNumber: string,\r\n experationDate: string,\r\n cvc: string,\r\n automaticPay: boolean,\r\n discountCode: string,\r\n\r\n isSuccess: boolean,\r\n\r\n //Product\r\n product: string,\r\n yearPrice: number,\r\n monthPrice: number,\r\n discount: number,\r\n\r\n //Package\r\n productId: number,\r\n payType: boolean,\r\n planId: number,\r\n tabValue: number,\r\n packages: any,\r\n}\r\n\r\nexport interface IPaymentFormProps {\r\n classes: any,\r\n packageName: string,\r\n price: number\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n },\r\n card: {\r\n marginRight: \"10px\",\r\n width: \"100%\",\r\n backgroundColor: \"#fff\",\r\n }\r\n});\r\n\r\nclass PaymentForm extends Component {\r\n public readonly state: IPaymentFormState;\r\n public readonly props: IPaymentFormProps;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n\r\n //Form\r\n nameSurname: \"\",\r\n cardNumber: \"\",\r\n experationDate: \"\",\r\n cvc: \"\",\r\n automaticPay: false,\r\n discountCode: \"\",\r\n\r\n isSuccess: false,\r\n\r\n //Product\r\n productId: 0,\r\n product: \"\",\r\n yearPrice: 0,\r\n monthPrice: 0,\r\n discount: 0,\r\n\r\n //Package\r\n payType: true,\r\n planId: 1,\r\n tabValue: 0,\r\n packages: [\r\n {\r\n \"id\": 2,\r\n \"planId\": 1,\r\n \"packageName\": \"STARTER\",\r\n \"year\": 2500,\r\n \"month\": 250\r\n },\r\n {\r\n \"id\": 3,\r\n \"planId\": 1,\r\n \"packageName\": \"PROFESSIONAL\",\r\n \"year\": 4000,\r\n \"month\": 400\r\n },\r\n {\r\n \"id\": 4,\r\n \"planId\": 1,\r\n \"packageName\": \"BUSINESS\",\r\n \"year\": 7000,\r\n \"month\": 700\r\n },\r\n {\r\n \"id\": 5,\r\n \"planId\": 1,\r\n \"packageName\": \"ENTERPRISE\",\r\n \"year\": 11000,\r\n \"month\": 1100\r\n },\r\n {\r\n \"id\": 6,\r\n \"planId\": 2,\r\n \"packageName\": \"STARTER\",\r\n \"year\": 15000,\r\n \"month\": 1500\r\n },\r\n {\r\n \"id\": 7,\r\n \"planId\": 2,\r\n \"packageName\": \"PROFESSIONAL\",\r\n \"year\": 25000,\r\n \"month\": 2500\r\n },\r\n {\r\n \"id\": 8,\r\n \"planId\": 2,\r\n \"packageName\": \"BUSINESS\",\r\n \"year\": 35000,\r\n \"month\": 3500\r\n },\r\n {\r\n \"id\": 9,\r\n \"planId\": 2,\r\n \"packageName\": \"ENTERPRISE\",\r\n \"year\": 40000,\r\n \"month\": 4000\r\n },\r\n ],\r\n };\r\n\r\n this.onChangePayType = this.onChangePayType.bind(this);\r\n this.onChangeDiscountCode = this.onChangeDiscountCode.bind(this);\r\n this.onChangeCardNumber = this.onChangeCardNumber.bind(this);\r\n this.onChangeNameSurname = this.onChangeNameSurname.bind(this);\r\n this.onChangeExperationDate = this.onChangeExperationDate.bind(this);\r\n this.onChangeCVC = this.onChangeCVC.bind(this);\r\n this.handleTabChange = this.handleTabChange.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangePayType(e: ChangeEvent) {\r\n this.setState({ payType: e.target.checked });\r\n }\r\n\r\n private onChangeDiscountCode(e: ChangeEvent) {\r\n this.setState({ discountCode: e.target.value });\r\n }\r\n\r\n private onChangeCardNumber(e: ChangeEvent) {\r\n this.setState({ cardNumber: e.target.value });\r\n }\r\n\r\n private onChangeNameSurname(e: ChangeEvent) {\r\n this.setState({ nameSurname: e.target.value });\r\n }\r\n\r\n private onChangeExperationDate(e: ChangeEvent) {\r\n this.setState({ experationDate: e.target.value });\r\n }\r\n\r\n private onChangeCVC(e: ChangeEvent) {\r\n this.setState({ cvc: e.target.value });\r\n }\r\n\r\n private handleTabChange(_: any, tabValue: any) {\r\n this.setState({ tabValue });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n private renderPayType() {\r\n const { payType } = this.state;\r\n\r\n return (<>\r\n \r\n \r\n }\r\n label={\"\"} style={{ marginRight: 0, marginLeft: 0 }} />\r\n \r\n )\r\n }\r\n\r\n\r\n private renderPlans() {\r\n const { tabValue } = this.state;\r\n if (tabValue === 0) return this.renderPackages(1);\r\n else if (tabValue === 1) return this.renderPackages(2);\r\n }\r\n\r\n\r\n private renderPackages(planId: number) {\r\n const { packages, payType, productId } = this.state;\r\n\r\n return (\r\n\r\n\r\n packages.map((pack: any) => (\r\n (planId == pack.planId) ?\r\n pack.id == 1 ?\r\n \r\n {pack.packageName}\r\n \r\n {payType ? pack.year : pack.month} +kdv \r\n \r\n \r\n :\r\n \r\n {pack.packageName}\r\n \r\n {payType ? pack.year : pack.month} +kdv \r\n \r\n \r\n : null\r\n ))\r\n\r\n );\r\n }\r\n\r\n\r\n private renderDiscountCode() {\r\n const { discountCode } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCardNumber() {\r\n const { cardNumber } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderNameSurname() {\r\n const { nameSurname } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderExperationDate() {\r\n const { experationDate } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCVC() {\r\n const { cvc } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderAutomaticPay() {\r\n const { automaticPay } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label=\"Otomatik ödeme alınmasını istiyorum.\"\r\n className=\"checkbox\"\r\n />\r\n )\r\n }\r\n\r\n\r\n private async addPackage(id: number) {\r\n const { packages } = this.state;\r\n packages.map((pack: any) => (\r\n (pack.id == id) ? this.setState({ product: pack.packageName, yearPrice: pack.year, monthPrice: pack.month, productId: pack.id }) : null\r\n ))\r\n }\r\n\r\n\r\n\r\n\r\n\r\n public render() {\r\n const { payType, product, yearPrice, monthPrice, tabValue } = this.state;\r\n\r\n return (\r\n \r\n {this.state.isSuccess && }\r\n \r\n \r\n
      \r\n
    • Ödeme İşlemleri
    • \r\n
    • Finans
    • \r\n
    • Ödeme İşlemleri
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Fiyatlandırma planını seç tek adımda ödemeni yap.\r\n \r\n İşinizin boyutuna uygun olan üyelik planına sürpriz ücretler olmaksızın aylık veya yıllık olarak üye olabilirsiniz.\r\n {this.renderPayType()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.renderPlans()}\r\n \r\n \r\n \r\n \r\n {this.renderDiscountCode()}\r\n \r\n
    \r\n Sipariş Özeti\r\n \r\n \r\n \r\n {product} ({payType ? \"yıllık\" : \"aylık\"})\r\n {payType ? yearPrice : monthPrice} TL\r\n \r\n \r\n \r\n \r\n İndirim\r\n 0 TL\r\n \r\n \r\n \r\n \r\n Toplam Tutar\r\n {payType ? yearPrice : monthPrice} TL\r\n \r\n \r\n
    \r\n
    \r\n \r\n Kredi Kart Bilgileri\r\n {this.renderCardNumber()}\r\n {this.renderNameSurname()}\r\n {this.renderExperationDate()}\r\n {this.renderCVC()}\r\n {this.renderAutomaticPay()}\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(PaymentForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_BANKACCOUNTUSER, EDIT_BANKACCOUNTUSER } from '../../routes/paths'\r\n\r\nimport { bankAccountUserService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IBankAccountUserListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewBankAccountUser: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class BankAccountUserList extends Component {\r\n public readonly props: any;\r\n public readonly state: IBankAccountUserListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Hesap kullanıcısı silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Hesap Kullanıcısı Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewBankAccountUser: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewBankAccountUser = this.addNewBankAccountUser.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getBankAccountUsers(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('BankAccountUser.CreateBankAccountUser') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getBankAccountUsers(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy) {\r\n const { data } = await bankAccountUserService.get(searchText, pageNumber, rowPerPage, orderBy);\r\n this.setState({ list: data.bankAccountUsers, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await bankAccountUserService.download(this.state.searchText);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeBankAccountUser() {\r\n if (this.deleteConfirmId) {\r\n await bankAccountUserService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((bankAccountUser: any) => bankAccountUser.id !== this.deleteConfirmId) });\r\n\r\n this.getBankAccountUsers(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy);\r\n }\r\n }\r\n\r\n private addNewBankAccountUser() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewBankAccountUser: false });\r\n } else {\r\n this.setState({ addNewBankAccountUser: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('BankAccountUser.UpdateBankAccountUser') != -1) && (permissionList.indexOf('BankAccountUser.DeleteBankAccountUser') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('BankAccountUser.UpdateBankAccountUser') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('BankAccountUser.DeleteBankAccountUser') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveBankAccountUser(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getBankAccountUsers(this.state.searchText, page, this.state.selectedRow, this.state.orderBy);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getBankAccountUsers(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getBankAccountUsers(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeBankAccountUser();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getBankAccountUsers(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Hesap Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Kullanıcı Adı\r\n \r\n \r\n {((permissionList.indexOf('BankAccountUser.UpdateBankAccountUser') != -1) && (permissionList.indexOf('BankAccountUser.DeleteBankAccountUser') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewBankAccountUser, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewBankAccountUser && }\r\n \r\n \r\n {resources.MenuLeftmenu1_8_6} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((bankAccountUser: any) => (\r\n \r\n \r\n {bankAccountUser.companyName}\r\n \r\n {bankAccountUser.bankAccountName}\r\n {bankAccountUser.nameSurname}\r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveBankAccountUser(bankAccountUser.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport BankAccountUserList from './BankAccountUserList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IBankAccountUserState {\r\n resources: any\r\n}\r\ninterface IBankAccountUserProps {\r\n location: any,\r\n}\r\n\r\nexport default class BankAccountUser extends Component {\r\n public readonly state: IBankAccountUserState;\r\n public readonly props: IBankAccountUserProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n (errorMessage.includes('Başarıyla')) ? : \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_6}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_6}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//BankAccountUser\r\n\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankAccountValidator = (bankAccountId: number): string => {\r\n if (bankAccountId === 0) return 'Hesap seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const userValidator = (userId: number): string => {\r\n if (userId === 0) return 'Kullanıcı seçiniz!'\r\n return '';\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { bankAccountUserService, locationService } from '../../service';\r\nimport { BANKACCOUNTUSER } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { companyValidator, bankAccountValidator, userValidator } from '../../utils/bankaccountuser.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IBankAccountUserFormState {\r\n companyList: [],\r\n companyId: any,\r\n companyError: string,\r\n bankAccountList: [],\r\n bankAccountId: any,\r\n bankAccountError: string,\r\n userList: [],\r\n userId: any,\r\n userError: string,\r\n searchText: string,\r\n isActive: boolean,\r\n clientType:string,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IBankAccountUserFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass BankAccountUserForm extends Component {\r\n public readonly state: IBankAccountUserFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n bankAccountList: [],\r\n bankAccountId: 0,\r\n bankAccountError: \"\",\r\n userList: [],\r\n userId: 0,\r\n userError: \"\",\r\n searchText: \"\",\r\n isActive: true,\r\n clientType:\"WEB\",\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeBankAccount = this.onChangeBankAccount.bind(this);\r\n this.onChangeUser = this.onChangeUser.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.bankAccountUserId) this.getEditableBankAccountUser();\r\n else { {/*this.getBankAccounts();*/} this.getCompanies(); this.getUsers(); this.setState({ loading: false }); }\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableBankAccountUser() {\r\n const { data, isSuccess, errorCode, errorMessage } = await bankAccountUserService.getById(this.props.match.params.bankAccountUserId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getCompanies();\r\n await this.getBankAccounts(data.companyId);\r\n await this.getUsers();\r\n const state = {\r\n ...data,\r\n bankAccountId: this.state.bankAccountList.find((item: any) => item.id === data.bankAccountId),\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId),\r\n userId: this.state.userList.find((item: any) => item.id === data.userId),\r\n isEdit: true\r\n }\r\n\r\n if (isSuccess) this.setState({ ...state, loading: false }); \r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeBankAccount(bankAccountId: any) {\r\n this.setState({ bankAccountId, bankAccountError: bankAccountValidator(bankAccountId) });\r\n }\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) });\r\n this.getBankAccounts(companyId.id);\r\n }\r\n\r\n private onChangeUser(userId: any) {\r\n this.setState({ userId, userError: userValidator(userId) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(BANKACCOUNTUSER);\r\n }\r\n\r\n private async getBankAccounts(companyId: number) {\r\n const { data } = await locationService.getBankAccountsCompanyDropDown(companyId);\r\n const state = {\r\n bankAccountList: data.bankAccounts,\r\n bankAccountId: this.state.bankAccountId === 0 ? 0 : this.state.bankAccountId.id, \r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n\r\n\r\n private async getUsers() {\r\n const { data } = await locationService.getUsers();\r\n\r\n const state = {\r\n userId: this.state.userId === 0 ? 0 : this.state.userId.id,\r\n userList: data.users\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private async getCompanies() {\r\n const { data } = await locationService.getCompanies();\r\n\r\n const state = {\r\n companyId: this.state.companyId === 0 ? 0 : this.state.companyId.id,\r\n companyList: data.companies\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n this.state.errorMessage !== \"\" ? : null\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { companyId, bankAccountId, userId } = this.state;\r\n\r\n if (\r\n companyValidator(companyId) !== \"\" ||\r\n userValidator(userId) !== \"\" ||\r\n bankAccountValidator(bankAccountId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n companyError: companyValidator(companyId),\r\n userError: userValidator(userId),\r\n bankAccountError: bankAccountValidator(bankAccountId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { bankAccountId, companyId, userId, clientType, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n bankAccountId: sqlInjectValidator(String(bankAccountId.id)),\r\n companyId: sqlInjectValidator(String(companyId.id)),\r\n userId: sqlInjectValidator(String(userId.id)),\r\n clientType\r\n };\r\n\r\n if (isEdit) await this.editBankAccountUser(model);\r\n else await this.createBankAccountUser(model);\r\n }\r\n }\r\n\r\n private async createBankAccountUser(model: any) {\r\n const data = await bankAccountUserService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editBankAccountUser(model: any) {\r\n const data = await bankAccountUserService.update({ ...model, id: this.props.match.params.bankAccountUserId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderBankAccounts() {\r\n const { bankAccountId, bankAccountList, bankAccountError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankAccountError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderUsers() {\r\n const { userId, userList, userError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {userError}\r\n \r\n );\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Hesap Kullanıcı {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan hesap kullanıcı bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda hesap kullanıcısı ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Hesap Kullanıcı {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderCompanies()}\r\n {this.renderBankAccounts()}\r\n {this.renderUsers()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(BankAccountUserForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_COMPANYUSER, EDIT_COMPANYUSER } from '../../routes/paths'\r\n\r\nimport { companyUserService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface ICompanyUserListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewCompanyUser: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class CompanyUserList extends Component {\r\n public readonly props: any;\r\n public readonly state: ICompanyUserListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Firma kullanıcısı silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Firma Kullanıcısı Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewCompanyUser: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewCompanyUser = this.addNewCompanyUser.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getCompanyUsers(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('CompanyUser.CreateCompanyUser') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getCompanyUsers(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy) {\r\n const { data } = await companyUserService.get(searchText, pageNumber, rowPerPage, orderBy);\r\n this.setState({ list: data.companyUsers, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await companyUserService.download(this.state.searchText);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeCompanyUser() {\r\n if (this.deleteConfirmId) {\r\n await companyUserService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((companyUser: any) => companyUser.id !== this.deleteConfirmId) })\r\n this.getCompanyUsers(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy);\r\n }\r\n }\r\n\r\n private addNewCompanyUser() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewCompanyUser: false });\r\n } else {\r\n this.setState({ addNewCompanyUser: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('CompanyUser.UpdateCompanyUser') != -1) && (permissionList.indexOf('CompanyUser.DeleteCompanyUser') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('CompanyUser.UpdateCompanyUser') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('CompanyUser.DeleteCompanyUser') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveCompanyUser(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getCompanyUsers(this.state.searchText, page, this.state.selectedRow, this.state.orderBy);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getCompanyUsers(this.state.searchText, this.state.currentPage, this.state.selectedRow);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getCompanyUsers(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeCompanyUser();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getCompanyUsers(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Kullanıcı Adı\r\n \r\n \r\n {((permissionList.indexOf('CompanyUser.UpdateCompanyUser') != -1) && (permissionList.indexOf('CompanyUser.DeleteCompanyUser') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewCompanyUser, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewCompanyUser && }\r\n \r\n \r\n {resources.MenuLeftmenu1_6_2} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((companyUser: any) => (\r\n \r\n \r\n {companyUser.companyName}\r\n \r\n {companyUser.nameSurname}\r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveCompanyUser(companyUser.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport CompanyUserList from './CompanyUserList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface ICompanyUserState {\r\n resources: any\r\n}\r\n\r\ninterface ICompanyUserProps {\r\n location: any,\r\n}\r\n\r\nexport default class CompanyUser extends Component {\r\n public readonly state: ICompanyUserState;\r\n public readonly props: ICompanyUserProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n (errorMessage.includes('Başarıyla')) ? : \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_6_2}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_6}
    • \r\n
    • {resources.MenuLeftmenu1_6_2}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//CompanyUser\r\n\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const userValidator = (userId: number): string => {\r\n if (userId === 0) return 'Kullanıcı seçiniz!'\r\n return '';\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { companyUserService, locationService } from '../../service';\r\nimport { COMPANYUSER } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { companyValidator, userValidator } from '../../utils/companyuser.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface ICompanyUserFormState {\r\n companyList: [],\r\n companyId: any,\r\n companyError: string,\r\n userList: [],\r\n userId: any,\r\n userError: string,\r\n searchText: string,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface ICompanyUserFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass CompanyUserForm extends Component {\r\n public readonly state: ICompanyUserFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n userList: [],\r\n userId: 0,\r\n userError: \"\",\r\n searchText: \"\",\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeUser = this.onChangeUser.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.companyUserId) this.getEditableCompanyUser();\r\n else { this.getCompanies(); this.getUsers(); this.setState({ loading: false }); }\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableCompanyUser() {\r\n const { data, isSuccess, errorCode, errorMessage } = await companyUserService.getById(this.props.match.params.companyUserId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getCompanies();\r\n await this.getUsers();\r\n const state = {\r\n ...data,\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId),\r\n userId: this.state.userList.find((item: any) => item.id === data.userId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId });\r\n }\r\n\r\n private onChangeUser(userId: any) {\r\n this.setState({ userId });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(COMPANYUSER);\r\n }\r\n\r\n\r\n\r\n private async getUsers(useDefault: boolean = true) {\r\n const { data } = await locationService.getUsers();\r\n\r\n const state = {\r\n userId: useDefault ? 0 : this.state.userId.id,\r\n userList: data.users\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private async getCompanies(useDefault: boolean = true) {\r\n const { data } = await locationService.getCompanies();\r\n\r\n const state = {\r\n companyId: useDefault ? 0 : this.state.companyId.id,\r\n companyList: data.companies\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return ( \r\n this.state.errorMessage !== \"\" ? : null\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { userId, companyId } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n userValidator(userId) !== \"\" ||\r\n companyValidator(companyId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n userError: userValidator(userId),\r\n companyError: companyValidator(companyId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { companyId, userId, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n companyId: sqlInjectValidator(String(companyId.id)),\r\n userId: sqlInjectValidator(String(userId.id))\r\n };\r\n\r\n if (isEdit) await this.editCompanyUser(model);\r\n else await this.createCompanyUser(model);\r\n }\r\n }\r\n\r\n private async createCompanyUser(model: any) {\r\n const data = await companyUserService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editCompanyUser(model: any) {\r\n const data = await companyUserService.update({ ...model, id: this.props.match.params.companyUserId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderUsers() {\r\n const { userId, userList, userError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {userError}\r\n \r\n );\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Firma Kullanıcı {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan hesap kullanıcı bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda hesap kullanıcısı ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Firma Kullanıcı {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderCompanies()}\r\n {this.renderUsers()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(CompanyUserForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_USERPERMISSION, EDIT_USERPERMISSION } from '../../routes/paths'\r\n\r\nimport { userPermissionService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IUserPermissionListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewUserPermission: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class UserPermissionList extends Component {\r\n public readonly props: any;\r\n public readonly state: IUserPermissionListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Kullanıcı izni silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Kullanıcı İzni Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewUserPermission: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewUserPermission = this.addNewUserPermission.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({\r\n permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId\r\n });\r\n this.getUserPermissions(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('UserPermission.CreateUserPermission') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getUserPermissions(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await userPermissionService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.userPermissions, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await userPermissionService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeUserPermission() {\r\n if (this.deleteConfirmId) {\r\n await userPermissionService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((userPermission: any) => userPermission.id !== this.deleteConfirmId) });\r\n\r\n this.getUserPermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewUserPermission() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewUserPermission: false });\r\n } else {\r\n this.setState({ addNewUserPermission: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('UserPermission.UpdateUserPermission') != -1) && (permissionList.indexOf('UserPermission.DeleteUserPermission') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('UserPermission.UpdateUserPermission') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('UserPermission.DeleteUserPermission') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveUserPermission(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getUserPermissions(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getUserPermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getUserPermissions(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeUserPermission();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getUserPermissions(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getUserPermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Kullanıcı Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n İzin Anahtarı\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('UserPermission.UpdateUserPermission') != -1) && (permissionList.indexOf('UserPermission.DeleteUserPermission') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewUserPermission, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewUserPermission && }\r\n \r\n \r\n {resources.MenuLeftmenu1_7_4} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((userPermission: any) => (\r\n \r\n \r\n {userPermission.nameSurname}\r\n \r\n {userPermission.companyName}\r\n {userPermission.permissionDescription}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveUserPermission(userPermission.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport UserPermissionList from './UserPermissionList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IUserPermissionState {\r\n resources: any\r\n}\r\ninterface IUserPermissionProps {\r\n location: any,\r\n}\r\n\r\nexport default class UserPermission extends Component {\r\n public readonly state: IUserPermissionState;\r\n public readonly props: IUserPermissionProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_7_4}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_7}
    • \r\n
    • {resources.MenuLeftmenu1_7_4}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//UserPermission\r\n\r\nexport const userValidator = (userId: number): string => {\r\n if (userId === 0) return 'Kullanıcı seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const permissionValidator = (permissionId: number): string => {\r\n if (permissionId === 0) return 'İzin seçiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { userPermissionService, locationService } from '../../service';\r\nimport { USERPERMISSION } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { companyValidator, permissionValidator, userValidator } from '../../utils/userpermission.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IUserPermissionFormState {\r\n companyList: [],\r\n companyId: any,\r\n companyError: string,\r\n permissionList: [],\r\n permissionId: any,\r\n permissionError: string,\r\n userList: [],\r\n userId: any,\r\n userError: string,\r\n searchText: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IUSerPermissionFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass UserPermissionForm extends Component {\r\n public readonly state: IUserPermissionFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n permissionList: [],\r\n permissionId: 0,\r\n permissionError: \"\",\r\n userList: [],\r\n userId: 0,\r\n userError: \"\",\r\n searchText: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangePermission = this.onChangePermission.bind(this);\r\n this.onChangeUser = this.onChangeUser.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.userPermissionId) this.getEditableUserPermission();\r\n else { this.getPermissions(); this.getCompanies(); this.getUsers(); this.setState({ loading: false }); }\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableUserPermission() {\r\n const { data, isSuccess, errorCode, errorMessage } = await userPermissionService.getById(this.props.match.params.userPermissionId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getCompanies();\r\n await this.getPermissions();\r\n await this.getUsers();\r\n const state = {\r\n ...data,\r\n permissionId: this.state.permissionList.find((item: any) => item.id === data.permissionId),\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId),\r\n userId: this.state.userList.find((item: any) => item.id === data.userId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangePermission(permissionId: any) {\r\n this.setState({ permissionId, permissionError: permissionValidator(permissionId) });\r\n }\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) });\r\n }\r\n\r\n private onChangeUser(userId: any) {\r\n this.setState({ userId, userError: userValidator(userId) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(USERPERMISSION);\r\n }\r\n\r\n private async getPermissions() {\r\n const { data } = await locationService.getPermissions();\r\n\r\n const state = {\r\n permissionId: this.state.permissionId === 0 ? 0 : this.state.permissionId.id,\r\n permissionList: data.permissions\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n\r\n\r\n private async getUsers() {\r\n const { data } = await locationService.getUsers();\r\n\r\n const state = {\r\n userId: this.state.userId === 0 ? 0 : this.state.userId.id,\r\n userList: data.users\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private async getCompanies() {\r\n const { data } = await locationService.getCompanies();\r\n\r\n const state = {\r\n companyId: this.state.companyId === 0 ? 0 : this.state.companyId.id,\r\n companyList: data.companies\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { userId, companyId, permissionId } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n userValidator(userId) !== \"\" ||\r\n companyValidator(companyId) !== \"\" ||\r\n permissionValidator(permissionId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n userError: userValidator(userId),\r\n companyError: companyValidator(companyId),\r\n permissionError: permissionValidator(permissionId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { permissionId, companyId, userId, isActive, isEdit } = this.state;\r\n\r\n const model = {\r\n permissionId: sqlInjectValidator(String(permissionId.id)),\r\n companyId: sqlInjectValidator(String(companyId.id)),\r\n userId: sqlInjectValidator(String(userId.id)),\r\n isActive\r\n };\r\n\r\n if (this.formValidation()) {\r\n if (isEdit) await this.editUserPermission(model);\r\n else await this.createUserPermission(model);\r\n }\r\n }\r\n\r\n private async createUserPermission(model: any) {\r\n const data = await userPermissionService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editUserPermission(model: any) {\r\n const data = await userPermissionService.update({ ...model, id: this.props.match.params.userPermissionId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderPermissions() {\r\n const { permissionId, permissionList, permissionError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {permissionError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderUsers() {\r\n const { userId, userList, userError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {userError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Kullanıcı İzni {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan kullanıcı izinlerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda kullanıcı izinleri ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Kullanıcı İzni {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderPermissions()}\r\n {this.renderCompanies()}\r\n {this.renderUsers()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(UserPermissionForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_ROLEPERMISSION, EDIT_ROLEPERMISSION } from '../../routes/paths'\r\n\r\nimport { rolePermissionService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IRolePermissionListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewRolePermission: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class RolePermissionList extends Component {\r\n public readonly props: any;\r\n public readonly state: IRolePermissionListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Rol izinleri silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Rol İzinleri Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewRolePermission: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewRolePermission = this.addNewRolePermission.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getRolePermissions(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('RolePermission.CreateRolePermission') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getRolePermissions(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await rolePermissionService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.rolePermissions, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await rolePermissionService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeRolePermission() {\r\n if (this.deleteConfirmId) {\r\n await rolePermissionService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((rolePermission: any) => rolePermission.id !== this.deleteConfirmId) });\r\n\r\n this.getRolePermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewRolePermission() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewRolePermission: false });\r\n } else {\r\n this.setState({ addNewRolePermission: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('RolePermission.UpdateRolePermission') != -1) && (permissionList.indexOf('RolePermission.DeleteRolePermission') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('RolePermission.UpdateRolePermission') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('RolePermission.DeleteRolePermission') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveRolePermission(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getRolePermissions(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getRolePermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getRolePermissions(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeRolePermission();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getRolePermissions(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getRolePermissions(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Role Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n İzin Açıklaması\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('RolePermission.UpdateRolePermission') != -1) && (permissionList.indexOf('RolePermission.DeleteRolePermission') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewRolePermission, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewRolePermission && }\r\n \r\n \r\n {resources.MenuLeftmenu1_7_3} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((rolePermission: any) => (\r\n \r\n \r\n {rolePermission.roleName}\r\n \r\n {rolePermission.permissionDescription}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveRolePermission(rolePermission.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport RolePermissionList from './RolePermissionList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface IRolePermissionState {\r\n resources: any\r\n}\r\n\r\ninterface IRolePermissionProps {\r\n location: any,\r\n}\r\n\r\nexport default class RolePermission extends Component {\r\n public readonly state: IRolePermissionState;\r\n public readonly props: IRolePermissionProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_7_3}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_7}
    • \r\n
    • {resources.MenuLeftmenu1_7_3}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//RolePermission\r\n\r\n\r\nexport const roleValidator = (roleId: number): string => {\r\n if (roleId === 0) return 'Rol seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const permissionValidator = (permissionId: number): string => {\r\n if (permissionId === 0) return 'İzin seçiniz!'\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { rolePermissionService, locationService } from '../../service';\r\nimport { ROLEPERMISSION } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { roleValidator, permissionValidator } from '../../utils/rolepermission.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IRolePermissionFormState {\r\n roleList: [],\r\n roleId: any,\r\n roleError: string;\r\n permissionList: [],\r\n permissionId: any,\r\n permissionError: string,\r\n searchText: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IRolePermissionFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass RolePermissionForm extends Component {\r\n public readonly state: IRolePermissionFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n roleList: [],\r\n roleId: 0,\r\n roleError: \"\",\r\n permissionList: [],\r\n permissionId: 0,\r\n permissionError: \"\",\r\n searchText: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeRole = this.onChangeRole.bind(this);\r\n this.onChangePermission = this.onChangePermission.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.rolePermissionId) this.getEditableRolePermission();\r\n else { this.getPermissions(); this.getRoles(); this.setState({ loading: false }); }\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableRolePermission() {\r\n const { data, isSuccess, errorCode, errorMessage } = await rolePermissionService.getById(this.props.match.params.rolePermissionId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getRoles();\r\n await this.getPermissions();\r\n\r\n const state = {\r\n ...data,\r\n permissionId: this.state.permissionList.find((item: any) => item.id === data.permissionId),\r\n roleId: this.state.roleList.find((item: any) => item.id === data.roleId),\r\n isEdit: true\r\n }\r\n if (isSuccess) this.setState({ ...state, loading: false });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangePermission(permissionId: any) {\r\n this.setState({ permissionId, permissionError: permissionValidator(permissionId) });\r\n }\r\n\r\n private onChangeRole(roleId: any) {\r\n this.setState({ roleId, roleError: roleValidator(roleId) });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(ROLEPERMISSION);\r\n }\r\n\r\n private async getRoles() {\r\n const { data } = await locationService.getRoles();\r\n\r\n const state = {\r\n roleId: this.state.roleId === 0 ? 0 : this.state.roleId.id,\r\n roleList: data.roles\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private async getPermissions(useDefault: boolean = true) {\r\n const { data } = await locationService.getPermissions();\r\n\r\n const state = {\r\n permissionId: this.state.permissionId === 0 ? 0 : this.state.permissionId.id,\r\n permissionList: data.permissions\r\n };\r\n\r\n this.setState(state);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { roleId, permissionId } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n roleValidator(roleId) !== \"\" ||\r\n permissionValidator(permissionId) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n roleError: roleValidator(roleId),\r\n permissionError: permissionValidator(permissionId)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { permissionId, roleId, isActive, isEdit } = this.state;\r\n\r\n const model = {\r\n permissionId: sqlInjectValidator(String(permissionId.id)),\r\n roleId: sqlInjectValidator(String(roleId.id)),\r\n isActive\r\n };\r\n\r\n if (this.formValidation()) {\r\n if (isEdit) await this.editRolePermission(model);\r\n else await this.createRolePermission(model);\r\n }\r\n }\r\n\r\n private async createRolePermission(model: any) {\r\n const data = await rolePermissionService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editRolePermission(model: any) {\r\n const data = await rolePermissionService.update({ ...model, id: this.props.match.params.rolePermissionId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n private renderRoles() {\r\n const { roleId, roleList, roleError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {roleError}\r\n \r\n );\r\n }\r\n\r\n\r\n private renderPermissions() {\r\n const { permissionId, permissionList, permissionError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {permissionError}\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Kullanıcı İzni {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan kullanıcı izinlerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda kullanıcı izinleri ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Kullanıcı İzni {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderPermissions()}\r\n {this.renderRoles()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(RolePermissionForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_NOTIFICATION, EDIT_NOTIFICATION } from '../../routes/paths'\r\n\r\nimport { notificationService, userService } from '../../service'\r\n\r\n\r\ninterface INotificationListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewNotification: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class NotificationList extends Component {\r\n public readonly props: any;\r\n public readonly state: INotificationListState;\r\n private deleteConfirmId: number | null;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Bildirim silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Bildirim Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewNotification: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewNotification = this.addNewNotification.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getNotifications(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Notification.CreateNotification') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n }\r\n\r\n private async getNotifications(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await notificationService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.notifications, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount })\r\n }\r\n\r\n private async getExportExcel() {\r\n return await notificationService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeNotification() {\r\n if (this.deleteConfirmId) {\r\n await notificationService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((notification: any) => notification.id !== this.deleteConfirmId) })\r\n this.getNotifications(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewNotification() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewNotification: false });\r\n } else {\r\n this.setState({ addNewNotification: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Notification.UpdateNotification') != -1) && (permissionList.indexOf('Notification.DeleteNotification') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Notification.UpdateNotification') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Notification.DeleteNotification') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveNotification(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getNotifications(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getNotifications(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getNotifications(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeNotification();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getNotifications(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getNotifications(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n EYLEMLER \r\n
      \r\n
      HIZLI EYLEMLER
      \r\n
    • this.getExportExcel()}> Excel'e aktar
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n YENİ EKLE +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Banka Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Hesap Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Şube Kodu\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Hesap Numarası\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n IBAN\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Açıklama\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Gönderen IBAN\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Gönderen VKN/TCKN\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Bildirim Alacak Kullanıcı\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Notification.UpdateNotification') != -1) && (permissionList.indexOf('Notification.DeleteNotification') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewNotification, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport } = this.state;\r\n return (\r\n \r\n \r\n\r\n {addNewNotification && }\r\n \r\n \r\n Bildirim Listesi\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n false}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {loading && }\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((notification: any) => (\r\n \r\n \r\n {notification.companyName}\r\n \r\n {notification.bankName}\r\n {notification.bankAccountName}\r\n {notification.bankBranchCode}\r\n {notification.bankAccountCode}\r\n {notification.iban}\r\n {notification.description}\r\n {notification.senderIBAN}\r\n {notification.senderTaxNumber}\r\n {notification.nameSurname}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveNotification(notification.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} Kayittan ${from} - ${to} arasi gosteriliyor.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" Kayıt İçerisinden Bulunan)\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>Önceki : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> Sonraki : null}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper'\r\nimport NotificationList from './NotificationList'\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\ninterface INotificationState {\r\n resources: any\r\n}\r\ninterface INotificationProps {\r\n location: any,\r\n}\r\n\r\nexport default class Notification extends Component {\r\n public readonly state: INotificationState;\r\n public readonly props: INotificationProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_8_7}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_8}
    • \r\n
    • {resources.MenuLeftmenu1_8_7}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","export const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankValidator = (bankId: number): string => {\r\n if (bankId === 0) return 'Banka seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const bankAccountValidator = (bankAccountId: number): string => {\r\n if (bankAccountId === 0) return 'Hesap seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const userValidator = (userId: number): string => {\r\n if (userId === 0) return 'Kullanıcı seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const descriptionValidator = (description: string): string => {\r\n if (description === \"\") return 'Açıklama alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const senderIBANValidator = (senderIBAN: string): string => {\r\n {/*if (senderIBAN === \"\") return 'Gönderen IBAN alanını boş geçemezsiniz!'*/}\r\n return '';\r\n}\r\n\r\nexport const senderTaxNumberValidator = (taxNumber: string): string => {\r\n {/*if (taxNumber === \"\") return 'Gönderen Vergi Numarası alanını boş geçemezsiniz!'*/}\r\n return '';\r\n}","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { notificationService, locationService } from '../../service';\r\nimport { NOTIFICATION } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\nimport { companyValidator, bankValidator, bankAccountValidator, userValidator, descriptionValidator, senderIBANValidator, senderTaxNumberValidator } from '../../utils/notification.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface INotificationFormState {\r\n companyList: [],\r\n companyId: any,\r\n companyError: string,\r\n bankList: [],\r\n bankId: any,\r\n bankError: string, \r\n bankAccountList: [],\r\n bankAccountId: any,\r\n bankAccountError: any,\r\n userList: [],\r\n userId: any,\r\n userError: string,\r\n description: string,\r\n descriptionError: string,\r\n senderIBAN: string,\r\n senderIBANError: string,\r\n senderTaxNumber: string,\r\n senderTaxNumberError: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface INotificationFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass NotificationForm extends Component {\r\n public readonly state: INotificationFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n bankList: [],\r\n bankId: 0,\r\n bankError: \"\",\r\n bankAccountList: [],\r\n bankAccountId: 0,\r\n bankAccountError: \"\",\r\n userList: [],\r\n userId: 0,\r\n userError: \"\",\r\n description: \"\",\r\n descriptionError: \"\",\r\n senderIBAN: \"\",\r\n senderIBANError: \"\",\r\n senderTaxNumber: \"\",\r\n senderTaxNumberError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeBank = this.onChangeBank.bind(this);\r\n this.onChangeBankAccount = this.onChangeBankAccount.bind(this);\r\n this.onChangeUser = this.onChangeUser.bind(this);\r\n this.onChangeDescription = this.onChangeDescription.bind(this);\r\n this.onChangeSenderIBAN = this.onChangeSenderIBAN.bind(this);\r\n this.onChangeSenderTaxNumber = this.onChangeSenderTaxNumber.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (this.props.match.params.notificationId) this.getEditableNotification();\r\n else { {/*this.getBanks();*/} this.getCompanies(); this.getUsers();}\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n private async getEditableNotification() {\r\n const { data, isSuccess, errorCode, errorMessage } = await notificationService.getById(this.props.match.params.notificationId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n await this.getBanks();\r\n await this.getCompanies();\r\n await this.getUsers();\r\n const state = {\r\n ...data,\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId),\r\n bankId: this.state.bankList.find((item: any) => item.id === data.bankId),\r\n /*bankAccountId: this.state.bankAccountList.find((item: any) => item.id === data.bankAccountId),*/\r\n userId: this.state.userList.find((item: any) => item.id === data.userId),\r\n isEdit: true\r\n }\r\n\r\n if (isSuccess) this.setState({ ...state}); \r\n\r\n await this.getBankAccounts(state.companyId.id, state.bankAccountId.id, true);\r\n this.setState({ bankAccountId: this.state.bankAccountList.find((item: any) => item.id === data.bankAccountId), loading: false }) \r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) })\r\n this.getBanks();;\r\n }\r\n\r\n private onChangeBank(bankId: any) {\r\n this.setState({ bankId, bankError: bankValidator(bankId), bankAccountId : 0 });\r\n console.log(this.state.companyId.id)\r\n this.getBankAccounts(this.state.companyId.id, bankId.id, true);\r\n }\r\n\r\n private onChangeBankAccount(bankAccountId: any) {\r\n this.setState({ bankAccountId, bankAccountError: bankAccountValidator(bankAccountId)});\r\n } \r\n\r\n private onChangeUser(userId: any) {\r\n this.setState({ userId, userError: userValidator(userId) });\r\n }\r\n\r\n private onChangeDescription(e: ChangeEvent) {\r\n this.setState({ description: e.target.value, descriptionError: descriptionValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeSenderIBAN(e: ChangeEvent) {\r\n this.setState({ senderIBAN: e.target.value, senderIBANError: senderIBANValidator(e.currentTarget.value) });\r\n } \r\n\r\n private onChangeSenderTaxNumber(e: ChangeEvent) {\r\n this.setState({ senderTaxNumber: e.target.value, senderTaxNumberError: senderTaxNumberValidator(e.currentTarget.value) });\r\n }\r\n \r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async cancel() {\r\n this.props.history.push(NOTIFICATION);\r\n } \r\n\r\n private async getCompanies() {\r\n const { data } = await locationService.getCompanies();\r\n\r\n const state = {\r\n companyId: this.state.companyId === 0 ? 0 : this.state.companyId.id,\r\n companyList: data.companies,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private async getBanks(useDefault: boolean = true) {\r\n const { data } = await locationService.getBanks();\r\n\r\n const state = {\r\n bankId: useDefault ? 0 : this.state.bankId.id,\r\n bankList: data.banks,\r\n /*loading: false*/\r\n };\r\n\r\n this.setState(state);\r\n\r\n /*if (this.props.match.params.companyId) await this.getBankAccounts(state.bankId);*/\r\n {/*await this.getBankAccounts(state.bankId, useDefault);*/}\r\n }\r\n\r\n private async getBankAccounts(companyId: number, bankId: number, useDefault: boolean) {\r\n const { data } = await locationService.getBankAccountsCompanyBankDropDown(companyId, bankId);\r\n\r\n const state = {\r\n bankAccountList: data.bankAccounts,\r\n bankAccountId: useDefault ? 0 : this.state.bankAccountId.id,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n } \r\n\r\n private async getUsers() {\r\n const { data } = await locationService.getUsers();\r\n\r\n const state = {\r\n userId: this.state.userId === 0 ? 0 : this.state.userId.id,\r\n userList: data.users\r\n };\r\n\r\n this.setState(state);\r\n }\r\n \r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const {companyId, bankId, bankAccountId, userId, description, senderIBAN, senderTaxNumber } = this.state;\r\n\r\n if (\r\n companyValidator(companyId) !== \"\" ||\r\n bankValidator(bankId) !== \"\" ||\r\n bankAccountValidator(bankAccountId) !== \"\" ||\r\n userValidator(userId) !== \"\" ||\r\n descriptionValidator(description) !== \"\" ||\r\n senderIBANValidator(senderIBAN) !== \"\" ||\r\n senderTaxNumberValidator(senderTaxNumber) !== \"\"\r\n\r\n ) {\r\n\r\n this.setState({\r\n companyError: companyValidator(companyId),\r\n bankError: bankValidator(bankId),\r\n bankAccountError: bankAccountValidator(bankAccountId),\r\n userError: userValidator(userId),\r\n descriptionError: descriptionValidator(description), \r\n senderIBANError: senderIBANValidator(senderIBAN),\r\n senderTaxNumberError: senderTaxNumberValidator(senderTaxNumber)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { companyId, bankId, bankAccountId, userId, description, senderIBAN, senderTaxNumber, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) { \r\n const model = {\r\n companyId: companyId.id,\r\n bankId: bankId.id,\r\n bankAccountId: bankAccountId.id,\r\n userId: userId.id,\r\n description: sqlInjectValidator(description),\r\n senderIBAN: sqlInjectValidator(senderIBAN),\r\n senderTaxNumber: sqlInjectValidator(senderTaxNumber),\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editNotification(model);\r\n else await this.createNotification(model);\r\n }\r\n }\r\n\r\n private async createNotification(model: any) {\r\n const data = await notificationService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editNotification(model: any) {\r\n const data = await notificationService.update({ ...model, id: this.props.match.params.notificationId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n private renderBanks() {\r\n const { bankId, bankList, bankError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankError}\r\n \r\n );\r\n }\r\n\r\n private renderBankAccounts() {\r\n const { bankAccountId, bankAccountList, bankAccountError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {bankAccountError}\r\n \r\n );\r\n }\r\n\r\n private renderUsers() {\r\n const { userId, userList, userError } = this.state;\r\n\r\n return (\r\n \r\n \r\n {userError}\r\n \r\n );\r\n }\r\n\r\n private renderDescription() {\r\n const { description, descriptionError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderSenderIBAN() {\r\n const { senderIBAN, senderIBANError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderSenderTaxNumber() {\r\n const { senderTaxNumber, senderTaxNumberError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n \r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n {this.state.isEdit ? : }\r\n Bildirim {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan bildirim bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda bildirim ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n
    e.preventDefault()}>\r\n Bildirim {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu \r\n {this.renderCompanies()}\r\n {this.renderBanks()}\r\n {this.renderBankAccounts()}\r\n {this.renderUsers()}\r\n {this.renderDescription()}\r\n {this.renderSenderIBAN()}\r\n {this.renderSenderTaxNumber()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(NotificationForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from \"@material-ui/core/Typography\"\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport ConfirmDialog from '../layout/Confirm'\r\n\r\nimport { ADD_NEW_INVOICE, EDIT_INVOICE } from '../../routes/paths'\r\n\r\nimport { invoiceService, userService, cookieService, resourceService } from '../../service'\r\n\r\n\r\ninterface IInvoiceListState {\r\n list: [],\r\n loading: boolean;\r\n totalCount: number;\r\n searchTotalCount: number;\r\n isActive: boolean;\r\n resources: any;\r\n\r\n //Paging\r\n sortType: string;\r\n searchText: string;\r\n currentPage: number;\r\n selectedRow: number;\r\n orderBy: number;\r\n\r\n //Confirm\r\n confirmStatus: boolean;\r\n deleteConfirm: boolean;\r\n confirmMessage: string;\r\n confirmTitle: string;\r\n confirmIcon: string;\r\n confirmType: string;\r\n\r\n //Permission\r\n userId: number;\r\n access: string;\r\n permissionList: any;\r\n addNewInvoice: boolean;\r\n addNewButton: boolean;\r\n updateButton: boolean;\r\n deleteButton: boolean;\r\n isExcelAndPdfExport: boolean;\r\n}\r\n\r\nexport default class InvoiceList extends Component {\r\n public readonly props: any;\r\n public readonly state: IInvoiceListState;\r\n private deleteConfirmId: number | null;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n this.deleteConfirmId = null;\r\n this.state = {\r\n list: [],\r\n loading: true,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n isActive: true,\r\n resources: [],\r\n\r\n //Paging\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n currentPage: 0,\r\n selectedRow: 25,\r\n orderBy: 0,\r\n\r\n //Confirm\r\n confirmStatus: false,\r\n deleteConfirm: false,\r\n confirmMessage: \"Fatura silmek istediginize emin misiniz?\",\r\n confirmTitle: \"Fatura Sil\",\r\n confirmIcon: \"far fa-trash-alt\",\r\n confirmType: \"yes/no\",\r\n\r\n //Permission\r\n userId: 0,\r\n access: \"\",\r\n permissionList: [],\r\n updateButton: false,\r\n deleteButton: false,\r\n isExcelAndPdfExport: false,\r\n addNewInvoice: false,\r\n addNewButton: false,\r\n }\r\n\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.onConfirmApprove = this.onConfirmApprove.bind(this);\r\n this.onConfirmClose = this.onConfirmClose.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.permissionNot = this.permissionNot.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n this.addNewInvoice = this.addNewInvoice.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getPermissionControl();\r\n }\r\n\r\n private async getPermissionControl() {\r\n const { data } = await userService.permission();\r\n this.setState({ permissionList: data.unauthorizedPermissions, isExcelAndPdfExport: data.isExcelAndPdfExport, userId: data.userId });\r\n this.getInvoices(\"\", this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n this.renderAccessProcess();\r\n\r\n this.state.permissionList.indexOf('Invoice.CreateInvoice') == -1 ? this.setState({ addNewButton: true }) : this.setState({ access: \"close\" })\r\n\r\n this.state.userId === 21 ? this.setState({ access: \"popup\" }) : null\r\n this.getResources();\r\n }\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getInvoices(searchText: string, pageNumber: number, rowPerPage: number, orderBy: number = this.state.orderBy, isActive: boolean) {\r\n const { data } = await invoiceService.get(searchText, pageNumber, rowPerPage, orderBy, isActive);\r\n this.setState({ list: data.invoices, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount });\r\n }\r\n\r\n private async getExportExcel() {\r\n return await invoiceService.download(this.state.searchText, this.state.isActive);\r\n }\r\n\r\n private permissionNot() {\r\n this.setState({ confirmMessage: \"Bu işlem için erişim yetkiniz bulunmuyor!\", confirmTitle: \"Erişim Uyarısı\", confirmIcon: \"fas fa-lock\", confirmType: \"ok\", confirmStatus: true });\r\n }\r\n\r\n public async removeInvoice() {\r\n if (this.deleteConfirmId) {\r\n await invoiceService.delete(this.deleteConfirmId);\r\n this.setState({ list: this.state.list.filter((company: any) => company.id !== this.deleteConfirmId) })\r\n this.getInvoices(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n }\r\n\r\n private addNewInvoice() {\r\n const { access } = this.state;\r\n if (access === \"popup\") {\r\n this.setState({ confirmStatus: true });\r\n } else if (access === \"close\") {\r\n this.setState({ addNewInvoice: false });\r\n } else {\r\n this.setState({ addNewInvoice: true });\r\n }\r\n }\r\n\r\n private renderAccessProcess() {\r\n const { permissionList, userId } = this.state;\r\n\r\n if ((permissionList.indexOf('Invoice.UpdateInvoice') != -1) && (permissionList.indexOf('Invoice.DeleteInvoice') != -1)) {\r\n this.setState({ access: \"close\" });\r\n } else if (userId === 21) {\r\n this.setState({ access: \"popup\" });\r\n } else {\r\n if (permissionList.indexOf('Invoice.UpdateInvoice') == -1) {\r\n this.setState({ updateButton: true });\r\n }\r\n if (permissionList.indexOf('Invoice.DeleteInvoice') == -1) {\r\n this.setState({ deleteButton: true });\r\n }\r\n this.setState({ access: \"show\" });\r\n }\r\n\r\n }\r\n\r\n private handleRemoveInvoice(id: number) {\r\n this.deleteConfirmId = id;\r\n this.setState({ confirmStatus: true });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page });\r\n this.getInvoices(this.state.searchText, page, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy });\r\n this.getInvoices(this.state.searchText, this.state.currentPage, this.state.selectedRow, orderBy, this.state.isActive);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getInvoices(value, this.state.currentPage, this.state.selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onConfirmClose() {\r\n this.setState({ confirmStatus: false });\r\n this.deleteConfirmId = null;\r\n }\r\n\r\n private onConfirmApprove() {\r\n this.setState({ confirmStatus: false });\r\n this.removeInvoice();\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow });\r\n this.getInvoices(this.state.searchText, this.state.currentPage, selectedRow, this.state.orderBy, this.state.isActive);\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n this.getInvoices(this.state.searchText, this.state.currentPage, this.state.selectedRow, this.state.orderBy, e.target.checked);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n {this.state.resources.MenuOperationmenu1} \r\n
      \r\n
      {this.state.resources.MenuOperationmenu1_1}
      \r\n
    • this.getExportExcel()}> {this.state.resources.MenuOperationmenu1_2}
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderAddButton() {\r\n return (\r\n \r\n {this.state.resources.Button12} +\r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Tümü\"} className=\"isActiveLabel\" />\r\n )\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy, permissionList } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Fatura Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Firma\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Fatura Tarihi\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Bitiş Tarihi\r\n \r\n \r\n this.handleSort(orderBy === 9 ? 10 : 9)} className=\"statusArea\">\r\n \r\n Durum\r\n \r\n \r\n {((permissionList.indexOf('Invoice.UpdateInvoice') != -1) && (permissionList.indexOf('Invoice.DeleteInvoice') != -1)) ? null :\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { addNewInvoice, addNewButton, list, loading, currentPage, searchText, totalCount, searchTotalCount, confirmStatus, selectedRow, access, updateButton, deleteButton, isExcelAndPdfExport, resources } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n\r\n {addNewInvoice && }\r\n \r\n \r\n {resources.MenuLeftmenu1_6_3} {resources.LabelList}\r\n \r\n \r\n {isExcelAndPdfExport ? this.renderDownloadButton() : null}\r\n {addNewButton ? this.renderAddButton() : null}\r\n {this.renderStatus()}\r\n \r\n \r\n\r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {loading && }\r\n\r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((invoice: any) => (\r\n \r\n {invoice.invoiceName}\r\n {invoice.companyName}\r\n {invoice.startDateTime}\r\n {invoice.dueDateTime}\r\n \r\n \r\n \r\n {access === \"close\" ? null :\r\n \r\n {access === \"popup\" ?\r\n <>\r\n this.permissionNot()} className=\"far fa-edit\">\r\n this.permissionNot()} className=\"far fa-trash-alt\">\r\n \r\n : null}\r\n {access === \"show\" ?\r\n <>\r\n {updateButton ?\r\n \r\n : null}\r\n {deleteButton ?\r\n this.handleRemoveInvoice(invoice.id)} className=\"far fa-trash-alt\">\r\n : null}\r\n \r\n : null}\r\n \r\n }\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react'\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Wrapper from '../layout/Wrapper';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { cookieService, resourceService } from '../../service';\r\n\r\nimport InvoiceList from './InvoiceList';\r\n\r\ninterface IInvoiceState {\r\n resources: any\r\n}\r\n\r\ninterface IInvoiceProps {\r\n location: any,\r\n}\r\n\r\nexport default class Invoice extends Component {\r\n public readonly state: IInvoiceState;\r\n public readonly props: IInvoiceProps;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n resources: []\r\n }\r\n\r\n\r\n }\r\n\r\n componentWillMount() {\r\n this.getResources()\r\n }\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources, loading: false });\r\n }\r\n\r\n private renderMessage(errorMessage: string) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { resources } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • {resources.MenuLeftmenu1_6_3}
    • \r\n
    • {resources.MenuLeftmenu2_2}
    • \r\n
    • {resources.MenuLeftmenu1_6}
    • \r\n
    • {resources.MenuLeftmenu1_6_3}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.location.state !== undefined ? this.renderMessage(this.props.location.state.errorMessage) : null}\r\n
    \r\n )\r\n }\r\n}\r\n","//Invoice\r\n\r\nexport const invoiceNameValidator = (invoiceName: string): string => {\r\n if (invoiceName === \"\") return 'Fatura adı alanını boş geçemezsiniz!'\r\n return '';\r\n}\r\n\r\nexport const companyValidator = (companyId: number): string => {\r\n if (companyId === 0) return 'Firma seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const createDateTimeValidator = (createDateTime: string): string => {\r\n if (createDateTime === '0000-00-00') return 'Lütfen bir tarih seçiniz!'\r\n return '';\r\n}\r\n\r\nexport const dueDateTimeValidator = (dueDateTime: string): string => {\r\n if (dueDateTime === '0000-00-00') return 'Lütfen bir tarih seçiniz!'\r\n return '';\r\n}\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport { Redirect } from 'react-router';\r\n\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Button from '@material-ui/core/Button'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Switch from '@material-ui/core/Switch'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Wrapper from '../layout/Wrapper';\r\nimport moment from 'moment';\r\n\r\nimport { Snackbar } from '@material/react-snackbar';\r\nimport '@material/react-snackbar/dist/snackbar.css';\r\n\r\nimport { invoiceService, locationService } from '../../service';\r\nimport { INVOICE } from '../../routes/paths';\r\nimport CustomSelect from '../layout/CustomSelect';\r\n\r\nimport Error from '../NotFound/NotFound'\r\n\r\n\r\nimport { invoiceNameValidator, companyValidator, createDateTimeValidator, dueDateTimeValidator } from '../../utils/invoice.validators';\r\nimport { sqlInjectValidator } from '../../utils/sql.inject.validators';\r\n\r\nexport interface IInvoiceFormState {\r\n companyList: any,\r\n companyId: any,\r\n companyError: string,\r\n invoiceName: string,\r\n invoiceNameError: string,\r\n createDateTime: string,\r\n createDateTimeError: string,\r\n dueDateTime: string,\r\n dueDateTimeError: string,\r\n isActive: boolean,\r\n isSuccess: string,\r\n isEdit: boolean,\r\n loading: boolean,\r\n errorCode: string,\r\n errorMessage: string\r\n}\r\n\r\nexport interface IInvoiceFormProps {\r\n classes: any\r\n}\r\n\r\nconst styles = (theme: any) => ({\r\n main: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n});\r\n\r\nclass InvoiceForm extends Component {\r\n public readonly state: IInvoiceFormState;\r\n public readonly props: any;\r\n private form: any;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.props = props;\r\n\r\n this.state = {\r\n companyList: [],\r\n companyId: 0,\r\n companyError: \"\",\r\n invoiceName: \"\",\r\n invoiceNameError: \"\",\r\n createDateTime: \"0000-00-00\",\r\n createDateTimeError: \"\",\r\n dueDateTime: \"0000-00-00\",\r\n dueDateTimeError: \"\",\r\n isActive: true,\r\n isSuccess: \"\",\r\n isEdit: false,\r\n loading: true,\r\n errorCode: \"\",\r\n errorMessage: \"\"\r\n };\r\n\r\n this.onChangeCompany = this.onChangeCompany.bind(this);\r\n this.onChangeInvoiceName = this.onChangeInvoiceName.bind(this);\r\n this.onChangeCreateDateTime = this.onChangeCreateDateTime.bind(this);\r\n this.onChangeDueDateTime = this.onChangeDueDateTime.bind(this);\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.saveChanges = this.saveChanges.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.getCompanies();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.match.params.invoiceId) this.getEditableInvoice();\r\n else this.setState({ loading: false });\r\n\r\n this.form = React.createRef();\r\n }\r\n\r\n\r\n\r\n\r\n private async getEditableInvoice() {\r\n const { data, isSuccess, errorCode, errorMessage } = await invoiceService.getById(this.props.match.params.invoiceId);\r\n if (errorCode !== null) {\r\n this.setState({ errorCode, errorMessage, loading: false });\r\n } else {\r\n\r\n const state = {\r\n ...data,\r\n isEdit: true,\r\n createDateTime: moment(data.createDateTime).format(\"YYYY-MM-DD\"),\r\n dueDateTime: moment(data.dueDateTime).format(\"YYYY-MM-DD\"),\r\n companyId: this.state.companyList.find((item: any) => item.id === data.companyId)\r\n };\r\n if (isSuccess) this.setState({ ...state });\r\n }\r\n }\r\n\r\n /** EVENT LISTENERS */\r\n\r\n private onChangeCompany(companyId: any) {\r\n this.setState({ companyId, companyError: companyValidator(companyId) });\r\n }\r\n\r\n private onChangeInvoiceName(e: ChangeEvent) {\r\n this.setState({ invoiceName: e.target.value, invoiceNameError: invoiceNameValidator(e.currentTarget.value) });\r\n }\r\n\r\n private onChangeCreateDateTime(e: ChangeEvent) {\r\n this.setState({ createDateTime: e.target.value });\r\n }\r\n\r\n private onChangeDueDateTime(e: ChangeEvent) {\r\n this.setState({ dueDateTime: e.target.value });\r\n }\r\n\r\n private onChangeStatus(e: ChangeEvent) {\r\n this.setState({ isActive: e.target.checked });\r\n }\r\n\r\n /** VIEW RENDER */\r\n\r\n private async getCompanies(useDefault: boolean = true) {\r\n const { data } = await locationService.getAllCompanies();\r\n\r\n const state = {\r\n companyId: useDefault ? 0 : this.state.companyId.id,\r\n companyList: data.companies,\r\n loading: false\r\n };\r\n\r\n this.setState(state);\r\n\r\n }\r\n\r\n private async cancel() {\r\n this.props.history.push(INVOICE);\r\n }\r\n\r\n private getErrorMessage() {\r\n const { errorCode, errorMessage } = this.state;\r\n return (\r\n errorCode !== \"\" ? : null\r\n\r\n );\r\n }\r\n\r\n private formValidation() {\r\n const { invoiceName, companyId, createDateTime, dueDateTime } = this.state;\r\n\r\n //Submit Validation\r\n if (\r\n companyValidator(companyId) !== \"\" ||\r\n invoiceNameValidator(invoiceName) !== \"\" ||\r\n createDateTimeValidator(createDateTime) ||\r\n dueDateTimeValidator(dueDateTime)\r\n ) {\r\n\r\n this.setState({\r\n companyError: companyValidator(companyId),\r\n invoiceNameError: invoiceNameValidator(invoiceName),\r\n createDateTimeError: createDateTimeValidator(createDateTime),\r\n dueDateTimeError: dueDateTimeValidator(dueDateTime)\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n private async saveChanges() {\r\n this.setState({ isSuccess: \"\", errorCode: \"\", errorMessage: \"\" });\r\n\r\n\r\n const { companyId, invoiceName, createDateTime, dueDateTime, isActive, isEdit } = this.state;\r\n\r\n if (this.formValidation()) {\r\n\r\n const model = {\r\n companyId: sqlInjectValidator(String(companyId.id)),\r\n invoiceName: sqlInjectValidator(invoiceName),\r\n createDateTime: sqlInjectValidator(createDateTime),\r\n dueDateTime: sqlInjectValidator(dueDateTime),\r\n isActive\r\n };\r\n\r\n if (isEdit) await this.editInvoice(model);\r\n else await this.createInvoice(model);\r\n }\r\n }\r\n\r\n private async createInvoice(model: any) {\r\n const data = await invoiceService.create(model);\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n private async editInvoice(model: any) {\r\n const data = await invoiceService.update({ ...model, id: this.props.match.params.invoiceId });\r\n this.setState({ isSuccess: data.isSuccess ? \"success\" : \"error\", errorCode: data.errorCode, errorMessage: data.errorMessage });\r\n }\r\n\r\n\r\n\r\n private renderCompanies() {\r\n const { companyId, companyList, companyError } = this.state;\r\n return (\r\n \r\n \r\n {companyError}\r\n \r\n );\r\n }\r\n\r\n private renderInvoiceName() {\r\n const { invoiceName, invoiceNameError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderCreateDateTime() {\r\n const { createDateTime, createDateTimeError } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderDueDateTime() {\r\n const { dueDateTime, dueDateTimeError } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderStatus() {\r\n const { isActive } = this.state;\r\n\r\n return (\r\n \r\n }\r\n label={isActive ? \"Aktif\" : \"Pasif\"} />\r\n )\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render() {\r\n const { loading, isSuccess, errorCode, errorMessage } = this.state;\r\n if (isSuccess === \"error\") this.renderMessage();\r\n\r\n return (\r\n \r\n {isSuccess === \"success\" ? : null}\r\n \r\n\r\n {loading && }\r\n {!loading && errorCode === \"\" ?\r\n <>\r\n \r\n\r\n {this.state.isEdit ? : }\r\n Fatura {this.state.isEdit ? \"Düzenle\" : \"Ekle\"}\r\n

    \r\n {this.state.isEdit ? \"Bu ekrandan fatura bilgilerini düzenleyebilirsiniz.\" : \"Bu ekrandan sınırsız sayıda fatura ekleme özgürlüğüne sahipsiniz.\"}\r\n

    \r\n
    \r\n \r\n\r\n
    e.preventDefault()}>\r\n Fatura {this.state.isEdit ? \"Düzenleme\" : \"Ekleme\"} Formu\r\n {this.renderInvoiceName()}\r\n {this.renderCompanies()}\r\n {this.renderCreateDateTime()}\r\n {this.renderDueDateTime()}\r\n {this.renderStatus()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n : this.getErrorMessage()}\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default withStyles(styles)(InvoiceForm);\r\n","import React, { Component, ChangeEvent } from 'react'\r\nimport Paper from \"@material-ui/core/Paper\"\r\nimport Grid from '@material-ui/core/Grid'\r\nimport Table from \"@material-ui/core/Table\"\r\nimport TableHead from \"@material-ui/core/TableHead\"\r\nimport TableBody from \"@material-ui/core/TableBody\"\r\nimport TableRow from \"@material-ui/core/TableRow\"\r\nimport TableCell from \"@material-ui/core/TableCell\"\r\nimport TablePagination from '@material-ui/core/TablePagination'\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\r\nimport Typography from \"@material-ui/core/Typography\"\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button'\r\nimport InputLabel from \"@material-ui/core/InputLabel\"\r\nimport Icon from '@material-ui/core/Icon'\r\n\r\nimport CustomSelect from '../layout/CustomSelect'\r\n\r\nimport moment from 'moment'\r\nimport { DateRangePicker } from 'react-dates'\r\nimport 'react-dates/initialize'\r\nimport 'react-dates/lib/css/_datepicker.css'\r\n\r\nimport { cookieService, resourceService, accountBalancesService, bankAccountService, userService } from '../../service'\r\n\r\ninterface IAccountBalanceHistoriesState {\r\n list: [],\r\n account: any,\r\n accountList: [],\r\n loading: boolean,\r\n totalCount: number,\r\n searchTotalCount: number,\r\n bankId: number,\r\n currencyId: number,\r\n resources: any,\r\n\r\n //DatePicker\r\n startDate: any,\r\n endDate: any,\r\n focusedInput: any,\r\n\r\n //Paging\r\n sortType: string,\r\n searchText: string,\r\n clientType: string,\r\n iban: string,\r\n currentPage: number,\r\n selectedRow: number,\r\n orderBy: number,\r\n\r\n //Permission\r\n isExcelAndPdfExport: boolean,\r\n}\r\n\r\n\r\nexport default class AccountBalanceHistory extends Component {\r\n public readonly state: IAccountBalanceHistoriesState;\r\n public props: any;\r\n\r\n private timeout = 3000;\r\n private interval: any;\r\n\r\n public readonly LANGUAGE_NAME = 'LANGUAGE_TOKEN';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.props = props;\r\n\r\n this.state = {\r\n list: [],\r\n account: [],\r\n accountList: [],\r\n loading: false,\r\n totalCount: 0,\r\n searchTotalCount: 0,\r\n bankId: 0,\r\n currencyId: 0,\r\n resources: [],\r\n\r\n //DatePicker\r\n //startDate: moment().startOf('month'),\r\n //endDate: moment().endOf('month'),\r\n startDate: moment().startOf('day'),\r\n //endDate: moment().endOf('day'),\r\n endDate: moment().add(1,'day'),\r\n \r\n focusedInput: null,\r\n\r\n //Paging\r\n selectedRow: 25,\r\n currentPage: 0,\r\n sortType: \"asc\",\r\n searchText: \"\",\r\n clientType: \"WEB\",\r\n iban: \"\",\r\n orderBy: 0,\r\n\r\n //Permission\r\n isExcelAndPdfExport: false,\r\n }\r\n\r\n this.onChangeAccount = this.onChangeAccount.bind(this);\r\n this.onDatesChange = this.onDatesChange.bind(this);\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleSort = this.handleSort.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleRowsPerPageChange = this.handleRowsPerPageChange.bind(this);\r\n this.updateList = this.updateList.bind(this);\r\n this.getData = this.getData.bind(this);\r\n this.getExportExcel = this.getExportExcel.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.init();\r\n }\r\n\r\n private onChangeAccount(account: any) {\r\n this.setState({ account });\r\n }\r\n\r\n private async init() {\r\n this.setState({ loading: true });\r\n\r\n this.getPermissions();\r\n\r\n await Promise.all([\r\n this.getData(),\r\n this.getAccounts()\r\n ]);\r\n\r\n if (this.props.bankId) {\r\n this.setState({ bankId: this.props.bankId, currencyId: this.props.currencyId });\r\n this.getData(this.state.startDate, this.state.endDate, this.props.currencyId, this.props.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n if (this.props.accountId) {\r\n this.setState({ loading: true, account: this.state.accountList.find((account: any) => account.id === Number(this.props.accountId)) })\r\n\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.props.accountId, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n }\r\n\r\n private async getPermissions() {\r\n const { data } = await userService.permission();\r\n this.setState({ isExcelAndPdfExport: data.isExcelAndPdfExport });\r\n\r\n this.getResources();\r\n }\r\n\r\n\r\n\r\n private async getResources() {\r\n const resourceLanguage: any = cookieService.resourceItem(this.LANGUAGE_NAME);\r\n const { data } = await resourceService.language(resourceLanguage);\r\n var resources: any = {};\r\n data.resources.forEach((item: any) => {\r\n resources[item.resourceKey] = item.value;\r\n });\r\n\r\n this.setState({ resources: resources });\r\n }\r\n\r\n private async getData(startDate?: any, endDate?: any, currencyId?: number, bankId?: number, id?: number, searchText?: string, clientType?: string, iban?: string, rowsPerPage?: number, pageNumber?: number, orderBy?: number) {\r\n const unixStartDate = startDate ? startDate.format('DD.MM.YYYY') : this.state.startDate.format('DD.MM.YYYY');\r\n const unixEndDate = endDate ? endDate.format('DD.MM.YYYY') : this.state.endDate.format('DD.MM.YYYY');\r\n const accountId = Number(id == undefined ? 0 : id);\r\n const search = String(searchText ? searchText : this.state.searchText);\r\n const client = String(clientType ? clientType : this.state.clientType);\r\n const IBAN = String(iban ? iban : this.state.iban);\r\n const selectedRow = Number(rowsPerPage ? rowsPerPage : this.state.selectedRow);\r\n const currentPage = Number(pageNumber ? pageNumber : this.state.currentPage);\r\n const order = Number(orderBy ? orderBy : this.state.orderBy);\r\n const { data } = await accountBalancesService.get(unixStartDate, unixEndDate, currencyId, bankId, accountId, search, client, IBAN, selectedRow, currentPage, order);\r\n this.setState({ list: data.accountBalanceHistories, loading: false, totalCount: data.totalCount, searchTotalCount: data.searchTotalCount });\r\n }\r\n\r\n private updateList() {\r\n this.setState({ loading: true, selectedRow: 25, currentPage: 0, orderBy: 0, totalCount: 0 });\r\n const accountId = this.state.account ? this.state.account.id : 0;\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, accountId, this.state.searchText, this.state.clientType,this.state.iban, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private async getAccounts() {\r\n const { data } = await bankAccountService.get(\"\", \"WEB\", 0, 999, 0, true, false);\r\n this.setState({ accountList: data.bankAccounts, })\r\n }\r\n\r\n private async getExportExcel() {\r\n const accountId = this.state.account.id | 0;\r\n return await accountBalancesService.download(this.state.startDate.format('DD.MM.YYYY'), this.state.endDate.format('DD.MM.YYYY'), this.state.currencyId, this.state.bankId, accountId, this.state.searchText, this.state.iban);\r\n }\r\n\r\n private renderAccounts() {\r\n const { accountList, account } = this.state;\r\n\r\n return (\r\n \r\n Hesap\r\n \r\n \r\n );\r\n }\r\n\r\n private renderDatePickers() {\r\n const { startDate, endDate } = this.state;\r\n return (\r\n this.setState({ focusedInput })}\r\n startDatePlaceholderText=\"DD\"\r\n endDatePlaceholderText=\"DD\"\r\n isOutsideRange={() => false}\r\n displayFormat=\"DD.MM.YYYY\"\r\n monthFormat=\"MMMM YYYY\"\r\n />\r\n );\r\n }\r\n\r\n private renderDownloadButton() {\r\n return (\r\n \r\n EYLEMLER \r\n
      \r\n
      HIZLI EYLEMLER
      \r\n
    • this.getExportExcel()}> Excel'e aktar
    • \r\n
    \r\n \r\n );\r\n }\r\n\r\n private onDatesChange({ startDate, endDate }: any) {\r\n this.setState({ startDate, endDate });\r\n }\r\n\r\n private handleChangePage(_: any, page: number) {\r\n this.setState({ currentPage: page, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, page, this.state.orderBy);\r\n }\r\n\r\n private handleSort(orderBy: number) {\r\n this.setState({ orderBy, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, this.state.selectedRow, this.state.currentPage, orderBy);\r\n }\r\n\r\n private handleSearch({ target: { value } }: ChangeEvent) {\r\n this.setState({ searchText: value });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, value, this.state.iban, this.state.clientType, this.state.selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private handleRowsPerPageChange({ target: { value } }: any) {\r\n const selectedRow = Number(value);\r\n this.setState({ selectedRow, loading: true });\r\n this.getData(this.state.startDate, this.state.endDate, this.state.currencyId, this.state.bankId, this.state.account.id, this.state.searchText, this.state.clientType, this.state.iban, selectedRow, this.state.currentPage, this.state.orderBy);\r\n }\r\n\r\n private renderPagination() {\r\n const { searchTotalCount, selectedRow, currentPage } = this.state;\r\n let pageCount = 1;\r\n let pages = [];\r\n searchTotalCount <= selectedRow ? pageCount = 1 : pageCount = (searchTotalCount / selectedRow)\r\n\r\n for (let i = 1; i <= Math.ceil(pageCount); i++) {\r\n if (currentPage + 1 < i + 3 && currentPage + 1 > i - 3) {\r\n pages[i - 1] = i;\r\n }\r\n }\r\n\r\n const listItems = pages.map((page) =>\r\n <>\r\n {currentPage + 1 === page ? this.handleChangePage(null, page - 1)} style={{ color: '#408af8' }}>{page} : this.handleChangePage(null, page - 1)}>{page}}\r\n \r\n );\r\n\r\n return listItems;\r\n }\r\n\r\n private renderAmountConvert(amount: string) {\r\n if (amount === null) return;\r\n\r\n if (amount == \"0\") {\r\n return \"0,00\";\r\n }\r\n\r\n let p = \"\";\r\n let isaretli = \"\"\r\n\r\n let sayi = amount.split(\".\");\r\n let net = sayi[0];\r\n let ondalik = sayi[1];\r\n\r\n net.indexOf(\"-\") != -1 ? isaretli = \"-\" : null\r\n net = net.replace(\"-\", \"\");\r\n\r\n ondalik == undefined ? ondalik = \"00\" : null\r\n ondalik.length == 1 ? ondalik += \"0\" : null\r\n\r\n let tersSayi = ((net.split(\"\")).reverse()).join(\"\");\r\n\r\n for (let i = 0; i < tersSayi.length; i++) {\r\n if (i % 3 == 0 && i != 0) p += \".\"\r\n p += tersSayi.substr(i, 1);\r\n }\r\n\r\n\r\n return isaretli + (((p.split(\"\")).reverse()).join(\"\")) + \",\" + ondalik;\r\n }\r\n\r\n private renderRowHeaders() {\r\n const { orderBy } = this.state;\r\n return (\r\n \r\n this.handleSort(orderBy === 1 ? 2 : 1)}>\r\n \r\n Firma Adı\r\n \r\n \r\n this.handleSort(orderBy === 3 ? 4 : 3)}>\r\n \r\n Banka Adı\r\n \r\n \r\n this.handleSort(orderBy === 5 ? 6 : 5)}>\r\n \r\n Hesap Adı\r\n \r\n \r\n this.handleSort(orderBy === 7 ? 8 : 7)}>\r\n \r\n Hesap No\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)}>\r\n \r\n Döviz\r\n \r\n \r\n this.handleSort(orderBy === 11 ? 12 : 11)} style={{ textAlign: 'right' }}>\r\n \r\n Bakiye\r\n \r\n \r\n this.handleSort(orderBy === 15 ? 16 : 15)}>\r\n \r\n Tarih\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderTable() {\r\n const { list, loading, isExcelAndPdfExport, currentPage, searchText, totalCount, searchTotalCount, selectedRow, resources } = this.state;\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n {this.renderAccounts()}\r\n {this.renderDatePickers()}\r\n \r\n \r\n {!isExcelAndPdfExport ? null :\r\n
    \r\n {this.renderDownloadButton()}\r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n \r\n \r\n false}\r\n labelRowsPerPage={resources.LabelViewData}\r\n onChangePage={() => false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {this.renderRowHeaders()}\r\n \r\n \r\n {list.map((company: any) => (\r\n \r\n {company.companyName}\r\n {company.bankName}\r\n {company.bankAccountName} \r\n {company.bankAccountNo}\r\n {company.currencyCode}\r\n {this.renderAmountConvert(String(company.balance))} \r\n {company.createDateTime} \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n `${count} ${resources.LabelPagination2} ${from} - ${to} ${resources.LabelPagination3}.`}\r\n labelRowsPerPage=\"Görüntülenen Kayıt\"\r\n backIconButtonProps={{\r\n 'aria-label': 'Önceki Sayfa',\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': 'Sonraki Sayfa',\r\n }}\r\n onChangePage={this.handleChangePage}\r\n />\r\n {\"(\" + totalCount + \" \" + resources.LabelPagination1 + \")\"}\r\n
    \r\n {currentPage > 0 ? this.handleChangePage(null, this.state.currentPage - 1)}>{resources.LabelPrevious} : null}\r\n {currentPage > 3 ? <> this.handleChangePage(null, 0)}>1... : null}\r\n\r\n {loading === false ? this.renderPagination() : null}\r\n\r\n {(currentPage + 1) < (Math.floor((searchTotalCount / selectedRow)) - 2) ? ... : null}\r\n\r\n {(currentPage) + 1 < (Math.ceil((searchTotalCount / selectedRow)) - 2) ? this.handleChangePage(null, Math.ceil((searchTotalCount / selectedRow) - 1))}>{Math.ceil((searchTotalCount / selectedRow))} : null}\r\n {(currentPage + 1) < (Math.ceil(searchTotalCount / selectedRow)) ? this.handleChangePage(null, this.state.currentPage + 1)}> {resources.LabelNext} : null}\r\n
    \r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.loading ? : this.renderTable()}\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Wrapper from '../layout/Wrapper';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport AccountBalanceHistoryList from './AccountBalanceHistoryList';\r\n\r\nexport default class AccountBalanceHistory extends Component { \r\n public props: any;\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
      \r\n
    • Bakiye Geçmişi
    • \r\n
    • Finans
    • \r\n
    • Bakiye Geçmişi
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n","import React, { Component, ReactNode } from 'react'\r\nimport { Switch, Route, HashRouter, Redirect } from 'react-router-dom'\r\nimport ProtectedRoute from './protected'\r\nimport {\r\n LOGIN,\r\n REGISTER,\r\n REMEMBER,\r\n HOME,\r\n DOCUMENTATION,\r\n ACCOUNT,\r\n ACCOUNTBALANCEHISTORY,\r\n ACCOUNTSTATEMENT,\r\n BANK_STATEMENT,\r\n ACCOUNT_DETAIL,\r\n POSSTATEMENT,\r\n VALORDATE,\r\n COMPANY,\r\n ADD_NEW_COMPANY,\r\n EDIT_COMPANY,\r\n BANK,\r\n ADD_NEW_BANK,\r\n EDIT_BANK,\r\n BANKBRANCH,\r\n ADD_NEW_BANKBRANCH,\r\n EDIT_BANKBRANCH,\r\n BANKACCOUNT,\r\n ADD_NEW_BANKACCOUNT,\r\n EDIT_BANKACCOUNT,\r\n BANKCREDENTIAL,\r\n ADD_NEW_BANKCREDENTIAL,\r\n EDIT_BANKCREDENTIAL,\r\n BANKFTPCREDENTIAL,\r\n ADD_NEW_BANKFTPCREDENTIAL,\r\n EDIT_BANKFTPCREDENTIAL,\r\n COUNTRY,\r\n ADD_NEW_COUNTRY,\r\n EDIT_COUNTRY,\r\n CITY,\r\n ADD_NEW_CITY,\r\n EDIT_CITY,\r\n CURRENCY,\r\n ADD_NEW_CURRENCY,\r\n EDIT_CURRENCY,\r\n DISTRICT,\r\n ADD_NEW_DISTRICT,\r\n EDIT_DISTRICT,\r\n USER,\r\n ADD_NEW_USER,\r\n ADD_MULTI_USER,\r\n EDIT_USER,\r\n PROFILE,\r\n PASSWORD_RESET,\r\n PASSWORD_UPDATE,\r\n PERMISSION,\r\n ADD_NEW_PERMISSION,\r\n EDIT_PERMISSION,\r\n ROLE,\r\n ADD_NEW_ROLE,\r\n EDIT_ROLE,\r\n LANGUAGE,\r\n ADD_NEW_LANGUAGE,\r\n EDIT_LANGUAGE,\r\n RESOURCETYPE,\r\n ADD_NEW_RESOURCETYPE,\r\n EDIT_RESOURCETYPE,\r\n RESOURCE,\r\n ADD_NEW_RESOURCE,\r\n EDIT_RESOURCE,\r\n ACCOUNT_STATEMENT,\r\n REPORTS,\r\n PAYMENT,\r\n ADD_NEW_PAYMENT,\r\n BANKACCOUNTUSER,\r\n ADD_NEW_BANKACCOUNTUSER,\r\n EDIT_BANKACCOUNTUSER,\r\n COMPANYUSER,\r\n ADD_NEW_COMPANYUSER,\r\n EDIT_COMPANYUSER,\r\n USERPERMISSION,\r\n ADD_NEW_USERPERMISSION,\r\n EDIT_USERPERMISSION,\r\n ROLEPERMISSION,\r\n ADD_NEW_ROLEPERMISSION,\r\n EDIT_ROLEPERMISSION,\r\n NOTIFICATION,\r\n ADD_NEW_NOTIFICATION,\r\n EDIT_NOTIFICATION,\r\n INVOICE,\r\n ADD_NEW_INVOICE,\r\n EDIT_INVOICE,\r\n PARTNER,\r\n ADD_NEW_PARTNER,\r\n EDIT_PARTNER,\r\n NOTFOUND,\r\n EDIT_CONSENT_AGREEMENT,\r\n EDIT_CONSENT_RENEWAL,\r\n EDIT_CONSENT_CANCEL,\r\n BALANCEANALYSIS,\r\n} from './paths'\r\n\r\n//VIEWS\r\nimport Login from '../components/login/Login'\r\nimport Remember from '../components/remember/Remember'\r\nimport Navbar from '../components/Navbar'\r\nimport Sidebar from '../components/Sidebar'\r\nimport Register from '../components/register/Register'\r\nimport Company from '../components/company/Company'\r\nimport Cockpit from '../components/cockpit/Cockpit'\r\nimport Documentation from '../components/documentation/Documentation'\r\nimport CompanyForm from '../components/company/CompanyForm'\r\nimport ConsentAgreementForm from '../components/company/ConsentAgreementForm'\r\nimport ConsentRenewalForm from '../components/company/ConsentRenewalForm'\r\nimport ConsentCancelForm from '../components/company/ConsentCancelForm'\r\nimport AccountStatement from '../components/accountStatement/AccountStatement'\r\nimport BankStatement from '../components/accountStatement/AccountStatement'\r\nimport PosStatement from '../components/posStatement/PosStatement'\r\nimport ValorDate from '../components/posValorDate/PosStatementValorDate'\r\nimport NotFound from '../components/NotFound/NotFound'\r\n\r\nimport Account from '../components/account/Account'\r\nimport AccountDetail from '../components/account/AccountDetail'\r\n\r\nimport Bank from '../components/bank/Bank'\r\nimport BankForm from '../components/bank/BankForm'\r\n\r\nimport BankBranch from '../components/bankBranch/BankBranch'\r\nimport BankBranchForm from '../components/bankBranch/BankBranchForm'\r\n\r\nimport BankAccount from '../components/bankAccount/BankAccount'\r\nimport BankAccountForm from '../components/bankAccount/BankAccountForm'\r\n\r\nimport BankCredential from '../components/bankCredential/BankCredential'\r\nimport BankCredentialForm from '../components/bankCredential/BankCredentialForm'\r\n\r\nimport BankFTPCredential from '../components/bankFTPCredential/BankFTPCredential'\r\nimport BankFTPCredentialForm from '../components/bankFTPCredential/BankFTPCredentialForm'\r\n\r\nimport Country from '../components/country/Country'\r\nimport CountryForm from '../components/country/CountryForm'\r\n\r\nimport City from '../components/city/City'\r\nimport CityForm from '../components/city/CityForm'\r\n\r\nimport District from '../components/district/District'\r\nimport DistrictForm from '../components/district/DistrictForm'\r\n\r\nimport Currency from '../components/currency/Currency'\r\nimport CurrencyForm from '../components/currency/CurrencyForm'\r\n\r\nimport User from '../components/user/User'\r\nimport UserForm from '../components/user/UserForm'\r\nimport UserMultiForm from '../components/multipleUser/MultipleUser'\r\nimport Profile from '../components/user/Profile'\r\nimport PasswordReset from '../components/user/PasswordReset'\r\nimport PasswordUpdate from '../components/user/PasswordUpdate'\r\n\r\nimport Permission from '../components/permission/Permission'\r\nimport PermissionForm from '../components/permission/PermissionForm'\r\n\r\nimport Partner from '../components/partner/Partner'\r\nimport PartnerForm from '../components/partner/PartnerForm'\r\n\r\nimport Role from '../components/role/Role'\r\nimport RoleForm from '../components/role/RoleForm'\r\n\r\nimport Language from '../components/language/Language'\r\nimport LanguageForm from '../components/language/LanguageForm'\r\n\r\nimport ResourceType from '../components/resourceType/ResourceType'\r\nimport ResourceTypeForm from '../components/resourceType/ResourceTypeForm'\r\n\r\nimport Resource from '../components/resource/Resource'\r\nimport ResourceForm from '../components/resource/ResourceForm'\r\n\r\nimport Reports from '../components/reports/Reports'\r\nimport BalanceAnalysis from '../components/reports/BalanceAnalysis'\r\n\r\nimport Payment from '../components/payment/Payment'\r\nimport PaymentForm from '../components/payment/PaymentForm'\r\n\r\nimport BankAccountUser from '../components/bankAccountUser/BankAccountUser'\r\nimport BankAccountUserForm from '../components/bankAccountUser/BankAccountUserForm'\r\n\r\nimport CompanyUser from '../components/companyUser/CompanyUser'\r\nimport CompanyUserForm from '../components/companyUser/CompanyUserForm'\r\n\r\nimport UserPermission from '../components/userPermission/UserPermission'\r\nimport UserPermissionForm from '../components/userPermission/UserPermissionForm'\r\n\r\nimport RolePermission from '../components/rolePermission/RolePermission'\r\nimport RolePermissionForm from '../components/rolePermission/RolePermissionForm'\r\n\r\nimport Notification from '../components/notification/Notification'\r\nimport NotificationForm from '../components/notification/NotificationForm'\r\n\r\nimport Invoice from '../components/invoice/Invoice'\r\nimport InvoiceForm from '../components/invoice/InvoiceForm'\r\nimport AccountBalanceHistory from '../components/accountbalancehistory/AccountBalanceHistory'\r\n\r\nexport default class Routes extends Component {\r\n private sidebarStatus(location: any) {\r\n return (\r\n !location.pathname.includes('/login') &&\r\n !location.pathname.includes('/register') &&\r\n !location.pathname.includes('/remember')\r\n )\r\n }\r\n\r\n private renderStatics(): ReactNode {\r\n return (\r\n {\r\n if (this.sidebarStatus(location)) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n )\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n\r\n private renderProtecteds(): ReactNode {\r\n return (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n private renderDefaultView() {\r\n return } />\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.renderStatics()}\r\n {this.renderProtecteds()}\r\n {this.renderDefaultView()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Routes from './routes';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\n\r\nclass App extends Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default App;","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\n\r\nvar isMobile = {\r\n Android: function () {\r\n return navigator.userAgent.match(/Android/i);\r\n },\r\n BlackBerry: function () {\r\n return navigator.userAgent.match(/BlackBerry/i);\r\n },\r\n iOS: function () {\r\n return navigator.userAgent.match(/iPhone|iPad|iPod/i);\r\n },\r\n Opera: function () {\r\n return navigator.userAgent.match(/Opera Mini/i);\r\n },\r\n Windows: function () {\r\n return navigator.userAgent.match(/IEMobile/i);\r\n },\r\n any: function () {\r\n return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());\r\n }\r\n};\r\n\r\nif (isMobile.iOS()) {\r\n window.location.replace('https://apps.apple.com/us/app/finstant/id1476070573');\r\n} else if (isMobile.Android()) {\r\n window.location.replace('https://apps.apple.com/us/app/finstant/id1476070573');\r\n} else {\r\n ReactDOM.render(, document.getElementById('root'));\r\n}"],"sourceRoot":""}