{"version":3,"sources":["Services/Services.ts","Components/LoginForm.tsx","Components/TreeView.tsx","Components/FormComponent.tsx","utils.ts","Pages/ReportsPage.tsx","Pages/RegisterPage.tsx","Components/CardItem.tsx","Components/Row.tsx","Pages/ProductsPage.tsx","Pages/OrdersPage.tsx","Pages/CheckoutPage.tsx","Pages/HomePage.tsx","App2.tsx","serviceWorker.ts","Components/AppNavBarCart.tsx","Components/HeaderComponent.tsx","AppHeader.tsx","index.tsx"],"names":["fetchViewList8","Username","Password","a","fetch","data","json","result","fetchViewPersonalPurchases","EmployeeId","Period","fetchViewByPeriodWallet","fetchViewByWallet","fetchViewListPeriods","fetchViewListEmployeeChilds","fetchViewClient","fetchViewAgent","fetchViewSelectedPromotor","fetchViewListCatProducts","viewList","fetchViewEmployeeDetail","Key","fetchViewListProducts","LocalizationId","EmployeeType","fetchViewListOrdersDetail","clienId","fetchViewList","fetchViewRegisterClient","Client","console","log","method","headers","body","JSON","stringify","address","billName","billNit","ciudad","documentNumber","email","firstName","lastName1","lastName2","mobile","name","observaciones","parentId","password","phone","tipo","SendOrder2","order","arrayOfItems","i","items","length","item","ProductId","productId","ProductName","ProductQuantity","quantity","ProductSalePrice","price","description","observation","ProductImage","push","branchId","clientId","latitude","longitude","scheduledDate","tableId","userId","state","useStyles","makeStyles","theme","createStyles","paper","position","width","backgroundColor","palette","background","border","boxShadow","shadows","padding","spacing","getModalStyle","top","left","transform","LoginForm","React","useState","modalStyle","hidden","setHidden","username","setUsername","setPassword","classes","userResult","undefined","user","sessionStorage","setItem","window","location","reload","handleClose","setInterval","modalValue","getItem","modalValue2","Modal","open","onClose","style","className","id","textAlign","marginTop","marginBottom","type","placeholder","value","onInput","e","target","onClick","Login","NumberIcon","Id","minWidth","height","cx","cy","r","stroke","strokeWidth","fill","fontFamily","textAnchor","alignmentBaseline","x","y","useTreeItemStyles","root","color","text","secondary","grey","content","borderTopRightRadius","borderBottomRightRadius","paddingRight","fontWeight","typography","fontWeightMedium","fontWeightBold","group","marginLeft","paddingLeft","expanded","label","labelRoot","display","alignItems","labelIcon","marginRight","labelText","flexGrow","fontSize","minHeight","StyledTreeItem","props","labelNumber","other","labelInfo","bgColor","TreeItem","variant","maxWidth","nested","DropDownOption","children","setStatus","setTreeUser","currentNumeration","numeration","setNumeration","useEffect","map","m","nodeId","toString","CompleteName","changeUser","Children","TreeViewRed","EmployeeList","setEmployeeList","guardado","currentUser","parse","currentEmployeee","getDataFromUser","Container","overflow","Grid","container","xs","xl","TreeView","defaultCollapseIcon","defaultExpandIcon","CircularProgress","root2","table","formControl","margin","selectEmpty","FormComponent","dataRow","currentReport","hasTotal","hasTwo","hasData","currentPagination","setCurrentPagination","dataRowsToShowPromotoresReferidos","setDataRowsToShowPromotoresReferidos","currentPage","setCurrentPage","currentProps","setCurrentProps","total","setTotal","subTotal","setSubTotal","loading","setLoading","getByProperty","row","title","BillDate","BillNumber","Source","BillAmount","BillCode","BranchName","Employee","Amount","SumChild2","Subtotal","Parent","Level","CP","AccountId","AccountDetailId","AccountDetailType","AccountDetailDate","AccountDetailAmmount","AccountDetailTask","AccountDetailNetAmount","CreatedBy","AccountDetailDescription","Deposit","Withdrawal","Balance","PCN","Wallet","auxArray","Object","entries","key","setTimeout","newDataRow","slice","subAuxTotal","auxTotal","k","n","toFixed","nn","NaN","aux","arrayWithLevels","addLevels","round","num","decimales","base","precioxBase","rPrecioxBase","Math","precioFinal","TableContainer","component","Paper","Table","aria-label","tableLayout","TableHead","TableRow","index","TableCell","scope","align","renamerColumn","TableBody","row2","index2","colSpan","rowAux","getSubTotal3","getTotal3","getSubTotal","getSubTotal2","getTotal","getTotal2","TablePagination","rowsPerPageOptions","count","rowsPerPage","page","onChangePage","event","newPage","onChangeRowsPerPage","parseInt","mapperToReportModel","genericArray","arrayResult","date","split","mapperToWalletLevel","mapperToWalletModel","mapperToClientPromotor","mapperToClientPromotor2","ReportsPage","setDataRow","dataRow2","setDataRow2","dataRow3","setDataRow3","dataRow4","setDataRow4","setCurrentViewStatus","dataPeriods","setDataPeriods","period","setPeriod","currentViewStatus","setCurrentViewTableStatus","setDataWallet","dataWallettoShow","setDataWallettoShow","dataRowMiRed1","setDataMiRed1","dataRowMiRed2","setDataMiRed2","report1","setReport1","report2","setReport2","report3","setReport3","report4","setReport4","report5","setReport5","setReport6","setReport7","treeUser","treeUserName","setTreeUserName","handleChange","setCurrentViewTable","view","getDataWallet","currentList1","currentList11","currentList2","currentList22","currentList3","currentList33","currentList4","currentList5","currentList55","currentList555","currentList6","currentList66","currentList7","currentList77","currentList","PeriodId","getDataPeriods","getData","getDataRed","selectedIndex","setSelectedIndex","handleListItemClick","fixed","lg","md","Slide","direction","in","mountOnEnter","unmountOnExit","ListItem","button","selected","ListItemIcon","ListItemText","cookieUser","currentUserlogged","UserName","treeUserSet","FormControl","InputLabel","Select","labelId","onChange","MenuItem","PeriodDescription","input","labelFocused","RegisterPage","setFirstName","lastName","setLastName","setLastName2","setEmail","telephone","setTelephone","cellphone","setCellphone","setAddress","city","setCity","nit","setNit","obs","setObs","setType","parent","setParent","parentName","setParentName","openCheckBoxData","setOpenCheckBoxData","openCheckBoxData2","setOpenCheckBoxData2","currentUserLogged","setCurrentUserLogged","Alert","elevation","validarNumber","str","test","handleClickData","handleCloseData","reason","handleClickData2","handleCloseData2","client","localizationId","TextField","error","InputProps","disableUnderline","inputProps","InputLabelProps","focused","Button","disableElevation","registerClient","Snackbar","autoHideDuration","severity","borderWidth","media","paddingTop","expand","transition","transitions","create","duration","shortest","expandOpen","avatar","avatar2","avatar3","avatar4","maxHeight","overflowY","CardItem","ProductDetailItem","SetCurrentCart","HandleClick","CurrentCart","isOnCart","cart","UserNit","ProductCartDetail","counter","FindInDetail2","Card","CardHeader","Tooltip","IconButton","Avatar","NewCartDetail","status","newItem","ProductImageURL","FindInDetail","CardMedia","image","CardContent","ProductDescription","Row","ProductTypeDetail","onlySection","currentProductList","setCurrentProductList","ProductTypeId","List","getProductTypes","ProductTypeName","dividerColor","paddingBottom","useStyles2","ProductsPage","currentProductTypes","setCurrentProductTypes","currentProductTypes2","setCurrentProductTypes2","setLocalizationId","setEmployeeType","respon","setRespon","setOpen","cat","setCat","handleClick","getWindowDimensions","windowDimensions","setWindowDimensions","handleResize","addEventListener","removeEventListener","useWindowDimensions","innerWidth","innerHeight","handleChangeUser","item2","OrdersPage","currentOrdersUser","setCurrentOrder","require","getOrderDetail","OrderNum","OrderDate","Total","data-toggle","data-original-title","paper2","CheckoutPage","DrawCart","oldCart","setCurrentCart","setCounter","currentOrder","setFullName","setBillName","setBillNit","orderNumber","setOrderNumber","openCheckBox1","setOpenCheckBox1","openCheckBoxError","setOpenCheckBoxError","openCheckBoxUser","setOpenCheckBoxUser","parentNamee","openModal","setOpenModal","handleOpenModal","orderCart","code","forEach","orderElement","cartElement","actualOrder","newOrderToAdd","imageUrl","addToOrder","sendOrder","handleClose1","setView","handleCloseError","handleCloseUser","parentNameAux","d","Date","orderNum","dropCart","cloneDeep","ClientFirstName","ClientLastName1","ClientLastName2","ClientAddress","ClientName","ClientNIT","ClientCelularPhone","role","src","productCart","alt","size","oldCartDetail","DropCartItem","reduce","b","SendClientorder","aria-labelledby","aria-describedby","HomePage","isLogged","setIsLogged","myFunction3","myFunction2","backgroundImage","backgroundSize","backgroundAttachment","backgroundPosition","href","url","App2","currentState","setCurrentState","currentCart","Boolean","hostname","match","AppNavBarCart","aria-hidden","HeaderComponent","isVisible2","setIsVisible2","ShowChart","isUserlog","data-target","removeItem","borderRadius","float","GetCartStatus","GetCartTotal","goCheckout","AppHeader","ReactDOM","render","StrictMode","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","message"],"mappings":"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","file":"static/js/main.ad703b9b.chunk.js","sourcesContent":["import { ClientModel, ClientPromotorModel, EmployeeModel, Order, OrderDetailItem, OrderReceive, PeriodModel, ProductDetail, ProductType, ReportModel } from \"../Models/Models\";\r\n\r\nexport const fetchViewList8 = async (Username: String, Password: String): Promise => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/api/user?username=${Username}&password=${Password}`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\n\r\n\r\n\r\nexport const fetchViewPersonalPurchases = async (EmployeeId: String, Period: String): Promise> => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Sales/EmployeePeriodSales?employeeId=${EmployeeId}&periodId=${Period}`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\nexport const fetchViewByPeriodWallet = async (EmployeeId: String, Period: String): Promise> => {\r\n\r\n const data = await fetch(` https://montecristows.ttsoluciones.com/Sales/EmployeePeriodWalletByLevel?employeeId=${EmployeeId}&periodId=${Period}`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\nexport const fetchViewByWallet = async (EmployeeId: String): Promise> => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Sales/EmployeeWallet?employeeId=${EmployeeId}`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\n\r\n\r\nexport const fetchViewListPeriods = async (): Promise> => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Base/Periods?type=PROMOTORES`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\n\r\n\r\nexport const fetchViewListEmployeeChilds = async (EmployeeId: String): Promise => {\r\n\r\n const data = await fetch(` https://montecristows.ttsoluciones.com/employee/GetChildreenTree?employeeId=${EmployeeId}`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\n\r\n\r\nexport const fetchViewClient = async (EmployeeId: String, Period: String): Promise> => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Sales/EmployeePeriodChildrenSalesByType?employeeId=${EmployeeId}&periodId=${Period}&employeeType=CLIENTE PROMOTOR`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\nexport const fetchViewAgent = async (EmployeeId: String, Period: String): Promise> => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Employee/GetPeriodNetwork?employeeId=${EmployeeId}&periodId=${Period}&employeeType=AGENTE PROMOTOR`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\n\r\n\r\n\r\n//RED\r\nexport const fetchViewRed = async (EmployeeId: String, Period: String): Promise> => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Employee/GetPeriodNetwork?employeeId=${EmployeeId}&periodId=${Period}&employeeType=AGENTE PROMOTOR`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\n\r\n\r\nexport const fetchViewSelectedPromotor = async (EmployeeId: String, Period: String): Promise> => {\r\n\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Sales/EmployeePeriodChildrenSalesByType?employeeId=${EmployeeId}&periodId=${Period}&employeeType=AGENTE PROMOTOR`);\r\n const result = await data.json();\r\n\r\n return result;\r\n};\r\n\r\n\r\nexport const fetchViewListCatProducts = async (): Promise> => {\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/product/deliveryproductypes`);\r\n const viewList = await data.json();\r\n return viewList;\r\n};\r\n\r\nexport const fetchViewEmployeeDetail = async (Key: String): Promise => {\r\n \r\n const data = await fetch(`https://montecristows.ttsoluciones.com/api/employee/${Key}`);\r\n const viewList = await data.json();\r\n return viewList;\r\n};\r\n\r\nexport const fetchViewListProducts = async (Key: String, LocalizationId:String, EmployeeType:String): Promise> => {\r\n //const data = await fetch(`https://montecristows.ttsoluciones.com/Product/DeliveryProductsByTypeId?productTypeId=${Key}`);\r\n \r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Product/DeliveryProductsByLocalizationTypeId?productTypeId=${Key}&localizationId=${LocalizationId}&employeeType=${EmployeeType}`);\r\n \r\n\r\n const viewList = await data.json();\r\n return viewList;\r\n};\r\n// /Sales/EmployeePeriodSales?employeeId=$employeeId&periodId=$periodId\r\n\r\n//https://montecristows.ttsoluciones.com/Sales/EmployeePeriodChildrenSalesByType?employeeId=2767&periodId=123&employeeType=AGENTE PROMOTOR\r\n\r\nexport const fetchViewListOrdersDetail = async (clienId: string): Promise> => {\r\n // https://cottonviuws.ttsoluciones.com/api/client?username=test-email@gmail.com&password=saas\r\n //http://montecristows.ttsoluciones.com/Order/GetByEmployee?EmployeeId=6854\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/Order/GetByEmployee?EmployeeId=${clienId}`);\r\n // const data = await fetch(`https://cottonviuws.ttsoluciones.com/Order/getClientOrders?clientId=35200`);\r\n const result = await data.json();\r\n return result;\r\n};\r\n\r\nexport const fetchViewList = async (): Promise> => {\r\n const data = await fetch(`https://montecristows.ttsoluciones.com/product/deliveryproductypes`);\r\n const viewList = await data.json();\r\n return viewList;\r\n};\r\n\r\n\r\n\r\nexport const fetchViewRegisterClient = async (Client: ClientModel) => {\r\n console.log(\"ClientClient\", Client);\r\n try {\r\n const data = await fetch('https://montecristows.ttsoluciones.com/Client/Register', {\r\n method: 'POST',\r\n headers: { \r\n 'Content-Type': 'application/json', \r\n },\r\n body: JSON.stringify(\r\n {\r\n \"address\": Client.address,\r\n \"billName\": Client.billName,\r\n \"billNit\": Client.billNit,\r\n \"ciudad\": Client.ciudad,\r\n \"documentNumber\": Client.documentNumber,\r\n \"email\": Client.email,\r\n \"firstName\": Client.firstName,\r\n \"lastName1\": Client.lastName1,\r\n \"lastName2\": Client.lastName2,\r\n \"latitude\": 0,\r\n \"localizationId\": 1,\r\n \"longitude\": 0,\r\n \"mobile\": Client.mobile,\r\n \"name\": Client.name,\r\n \"observaciones\": Client.observaciones,\r\n \"parentId\": Client.parentId,\r\n \"password\": Client.password,\r\n \"phone\": Client.phone,\r\n \"tipo\": Client.tipo\r\n }\r\n \r\n \r\n )\r\n })\r\n const result = await data.json();\r\n return result;\r\n }\r\n catch (error) {\r\n console.log('*** hubo error');\r\n }\r\n\r\n};\r\nexport const SendOrder2 = async (order: Order): Promise => {\r\n\r\n console.log(\"order\", order)\r\n let arrayOfItems: OrderDetailItem[] = [];\r\n for (let i = 0; i < order.items.length; i++) {\r\n let item: OrderDetailItem = { ProductId: order.items[i].productId, ProductName: order.items[i].name, ProductQuantity: order.items[i].quantity, ProductSalePrice: order.items[i].price, description: order.items[i].observation, ProductImage: \"\" }\r\n arrayOfItems.push(item);\r\n }\r\n try {\r\n\r\n console.log(\"order--->>to send\", order);\r\n const data = await fetch('https://montecristows.ttsoluciones.com/Employee/EmployeeOrder', {\r\n method: 'POST', \r\n headers: {\r\n 'Content-Type': 'application/json', \r\n },\r\n body: JSON.stringify({\r\n\r\n \"branchId\": order.branchId,\r\n \"clientId\": order.clientId,\r\n \"employeeId\": order.clientId,\r\n \"code\": \"PEDIDO\",\r\n \"items\": arrayOfItems,\r\n \"latitude\": order.latitude,\r\n \"longitude\": order.longitude,\r\n \"observation\": order.observation,\r\n \"scheduledDate\": order.scheduledDate,\r\n \"tableId\": order.tableId,\r\n \"type\": \"WEB\",\r\n \"userId\": order.userId,\r\n \"state\": order.state,\r\n \"billName\": order.billName,\r\n \"billNit\": order.billNit,\r\n \"address\": order.address\r\n\r\n\r\n })\r\n\r\n\r\n })\r\n console.log(\"data\", data)\r\n const viewList = await data.json();\r\n return viewList;\r\n\r\n } catch (error) {\r\n console.log('*** hubo error');\r\n }\r\n\r\n}\r\n","import Modal from '@material-ui/core/Modal';\r\nimport React from 'react';\r\nimport { ClientModel } from '../Models/Models';\r\nimport { fetchViewList8 } from '../Services/Services';\r\nimport '../Styles/LoginFormScss.css'\r\nimport { makeStyles, Theme, createStyles } from '@material-ui/core/styles';\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n paper: {\r\n position: 'absolute',\r\n width: 300,\r\n backgroundColor: theme.palette.background.paper,\r\n border: '2px solid #000',\r\n boxShadow: theme.shadows[5],\r\n padding: theme.spacing(2, 4, 3),\r\n },\r\n }),\r\n);\r\nfunction rand() {\r\n return 0;\r\n // return Math.round(Math.random() * 20) - 10;\r\n }\r\n \r\n function getModalStyle() {\r\n const top = 50 + rand();\r\n const left = 50 + rand();\r\n \r\n return {\r\n top: `${top}%`,\r\n left: `${left}%`,\r\n transform: `translate(-${top}%, -${left}%)`,\r\n };\r\n }\r\n \r\n\r\nconst LoginForm: React.FC = () => {\r\n\r\n const [modalStyle] = React.useState(getModalStyle);\r\n const [hidden, setHidden] = React.useState(false);\r\n const [username, setUsername] = React.useState(\"\");\r\n const [password, setPassword] = React.useState(\"\");\r\n const classes = useStyles();\r\n setInterval(function () {\r\n var modalValue = sessionStorage.getItem('cart');\r\n var modalValue2 = sessionStorage.getItem('cart2');\r\n \r\n if (modalValue) {\r\n // use the value\r\n // remove the value when you are done so that this code doesn't run every time\r\n if (modalValue === \"hover\" ) {\r\n //console.log(\"11\")\r\n \r\n setHidden(true) } else if ( modalValue2!=undefined && modalValue2 ==\"hover\") {\r\n // console.log(\"22\")\r\n \r\n setHidden(true) } else { setHidden(false) }\r\n\r\n \r\n \r\n // sessionStorage.setItem( 'key', modalValue );\r\n }\r\n }, 100);\r\n \r\n async function Login(){\r\n if(username!==\"\" && password!==\"\"){\r\n let userResult : any = await fetchViewList8(username,password)\r\n if(userResult!==null && userResult!= undefined){\r\n console.log(\"userResult\",userResult)\r\n let user :ClientModel = userResult.user;\r\n // DrawCart.UserName=user.email;\r\n \r\n // sessionStorage.setItem(\"keyName\", JSON.stringify(DrawCart));\r\n sessionStorage.setItem(\"user\", JSON.stringify(user)); \r\n window.location.reload();\r\n setUsername(\"\")\r\n setPassword(\"\") \r\n handleClose(); \r\n \r\n }else{\r\n console.log(\"user invalid\")\r\n }\r\n } \r\n // let aux = sessionStorage.getItem('fromCheckout');\r\n // if(aux!== null && aux !==undefined){\r\n // history.push(\"/checkout\");\r\n // window.location.reload();\r\n // sessionStorage.removeItem('fromCheckout')\r\n // \r\n // }else{\r\n // history.push(\"/\");\r\n // window.location.reload();\r\n // } \r\n // }else{\r\n\r\n // handleClick1();\r\n // }\r\n // }else{\r\n // handleClick1();\r\n //\r\n }\r\n const handleClose = () => {\r\n setHidden(false);\r\n sessionStorage.setItem('cart','unhover')\r\n sessionStorage.setItem('cart2','unhover')\r\n };\r\n // style={{zIndex:\"initial\"}}\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

Iniciar Sesión

\r\n

\r\n
\r\n setUsername((e.target as HTMLInputElement).value)} />\r\n
\r\n
\r\n setPassword((e.target as HTMLInputElement).value)} />\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\nexport default LoginForm;","import React, { useEffect, useState } from 'react';\r\nimport 'react-responsive-modal/styles.css';\r\nimport PropTypes from \"prop-types\";\r\nimport { Modal } from 'react-responsive-modal';\r\nimport { ClientModel, EmployeeModel, UserModel } from '../Models/Models';\r\nimport { fetchViewList8, fetchViewListEmployeeChilds } from '../Services/Services';\r\nimport ListSubheader from '@material-ui/core/ListSubheader';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport InboxIcon from '@material-ui/icons/MoveToInbox';\r\nimport DraftsIcon from '@material-ui/icons/Drafts';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport ExpandLess from '@material-ui/icons/ExpandLess';\r\nimport ExpandMore from '@material-ui/icons/ExpandMore';\r\nimport StarBorder from '@material-ui/icons/StarBorder';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TreeView from '@material-ui/lab/TreeView';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\r\nimport TreeItem, { TreeItemProps } from '@material-ui/lab/TreeItem';\r\nimport { Container, Grid, SvgIconProps } from '@material-ui/core';\r\nimport AccessibilityIcon from '@material-ui/icons/Accessibility';\r\nimport Typography from '@material-ui/core/Typography/Typography';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\ninterface MenuProps {\r\n children: EmployeeModel[];\r\n setStatus: React.Dispatch>;\r\n setTreeUser: React.Dispatch>;\r\n currentNumeration: number;\r\n}\r\ninterface OpenStateProps {\r\n Id: Number;\r\n State: boolean;\r\n\r\n}\r\ninterface levelProps {\r\n Id: Number;\r\n\r\n\r\n}\r\n\r\n\r\ninterface NumberIconProps {\r\n Id: any;\r\n}\r\nconst NumberIcon: React.FC = ({ Id }) => {\r\n const [numeration, setNumeration] = React.useState(0);\r\n return (\r\n
\r\n \r\n \r\n {Id}\r\n\r\n
\r\n )\r\n\r\n\r\n}\r\n\r\n\r\nconst useTreeItemStyles = makeStyles(theme => ({\r\n root: {\r\n color: theme.palette.text.secondary,\r\n \"&:focus > $content\": {\r\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.grey[400]})`,\r\n color: \"var(--tree-view-color)\"\r\n }\r\n },\r\n content: {\r\n color: theme.palette.text.secondary,\r\n borderTopRightRadius: theme.spacing(2),\r\n borderBottomRightRadius: theme.spacing(2),\r\n paddingRight: theme.spacing(1),\r\n fontWeight: theme.typography.fontWeightMedium,\r\n \"$expanded > &\": {\r\n fontWeight: theme.typography.fontWeightBold\r\n }\r\n },\r\n group: {\r\n marginLeft: 0,\r\n \"& $content\": {\r\n paddingLeft: theme.spacing(2)\r\n }\r\n },\r\n expanded: {},\r\n label: {\r\n fontWeight: \"inherit\",\r\n color: \"inherit\",\r\n\r\n },\r\n labelRoot: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0.5, 0)\r\n },\r\n labelIcon: {\r\n marginRight: theme.spacing(1)\r\n },\r\n labelText: {\r\n fontWeight: \"inherit\",\r\n flexGrow: 1,\r\n fontSize: \"1.32rem\",\r\n minHeight:\"40px\"\r\n }\r\n}));\r\ntype StyledTreeItemProps = TreeItemProps & {\r\n bgColor?: string;\r\n color?: string;\r\n \r\n labelInfo?: string;\r\n labelText: string;\r\n labelNumber?: string;\r\n};\r\nfunction StyledTreeItem(props: StyledTreeItemProps) {\r\n const classes = useTreeItemStyles();\r\n const { labelText, labelNumber, labelInfo, color, bgColor, ...other } = props;\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n {labelText}\r\n \r\n\r\n \r\n }\r\n style={{\r\n // '--tree-view-color': color?color:\"\",\r\n // '--tree-view-bg-color': bgColor,\r\n }}\r\n classes={{\r\n root: classes.root,\r\n content: classes.content,\r\n expanded: classes.expanded,\r\n // selected: classes.selected,\r\n group: classes.group,\r\n label: classes.label,\r\n }}\r\n {...other}\r\n />\r\n );\r\n}\r\nStyledTreeItem.propTypes = {\r\n bgColor: PropTypes.string,\r\n color: PropTypes.string,\r\n \r\n labelInfo: PropTypes.string,\r\n labelText: PropTypes.string.isRequired\r\n};\r\n\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n\r\n height: 300,\r\n flexGrow: 1,\r\n maxWidth: 400,\r\n fontSize: \"20px\",\r\n // display:\"inline-block\"\r\n\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n}));\r\n\r\nconst DropDownOption: React.FC = ({ children, setStatus, setTreeUser, currentNumeration }) => {\r\n\r\n const [numeration, setNumeration] = React.useState(currentNumeration);\r\n useEffect(() => {\r\n\r\n setNumeration(currentNumeration + 1);\r\n // let myIcon2 = Welcome;\r\n // myIcon2.increment(currentNumeration.toString())\r\n }, []);\r\n\r\n\r\n\r\n function changeUser(m: any) {\r\n\r\n setStatus(m.CompleteName.toString())\r\n setTreeUser(+m.Id)\r\n\r\n }\r\n\r\n\r\n return (\r\n
\r\n\r\n {children && children.map(m => {\r\n return
\r\n\r\n\r\n
\r\n\r\n { changeUser(m) }} labelNumber={currentNumeration.toString()} >\r\n {\r\n m.Children.length > 0 ? : null\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\ninterface TreeViewRedProps {\r\n\r\n setStatus: React.Dispatch>;\r\n setTreeUser: React.Dispatch>;\r\n\r\n}\r\n\r\n\r\nconst TreeViewRed: React.FC = ({ setStatus, setTreeUser }) => {\r\n\r\n\r\n\r\n\r\n const classes = useStyles();\r\n const [EmployeeList, setEmployeeList] = React.useState();\r\n\r\n useEffect(() => {\r\n\r\n getDataFromUser()\r\n }, []);\r\n\r\n async function getDataFromUser() {\r\n\r\n\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n\r\n } else {\r\n let currentUser: UserModel = JSON.parse(guardado ? guardado : \"\");\r\n\r\n let currentEmployeee: EmployeeModel = await fetchViewListEmployeeChilds(currentUser.EmployeeId.toString());\r\n setEmployeeList(currentEmployeee);\r\n\r\n }\r\n\r\n }\r\n\r\n function changeUser(m: any) {\r\n\r\n setStatus(m.CompleteName.toString())\r\n setTreeUser(+m.Id)\r\n\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {\r\n EmployeeList ?}\r\n defaultExpandIcon={}\r\n >\r\n\r\n
\r\n\r\n { changeUser(EmployeeList) }}\r\n\r\n\r\n labelText={EmployeeList?.CompleteName ? EmployeeList?.CompleteName.toString() : \"\"}\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\nexport default TreeViewRed;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useEffect } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { ReportModel } from '../Models/Models';\r\n\r\nimport TablePagination from '@material-ui/core/TablePagination';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\n\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root2: {\r\n '& > *': {\r\n marginTop: theme.spacing(2),\r\n }\r\n },\r\n root: {\r\n width: 150,\r\n maxWidth: 400,\r\n backgroundColor: theme.palette.background.paper,\r\n fontSize: \"1.5rem\"\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: 'center',\r\n color: theme.palette.text.secondary,\r\n },\r\n table: {\r\n // minWidth: 650,\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 50,\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n\r\n}));\r\n\r\n\r\ninterface FormComponentProps {\r\n dataRow: Array;\r\n currentReport: string;\r\n hasTotal: boolean;\r\n hasTwo: boolean;\r\n hasData:boolean;\r\n}\r\n\r\n\r\nconst FormComponent: React.FC = ({ dataRow, currentReport, hasTotal, hasTwo,hasData }) => {\r\n const classes = useStyles();\r\n const [currentPagination, setCurrentPagination] = React.useState(10);\r\n const [dataRowsToShowPromotoresReferidos, setDataRowsToShowPromotoresReferidos] = React.useState>([]);\r\n const [currentPage, setCurrentPage] = React.useState(0);\r\n const [currentProps, setCurrentProps] = React.useState>([]);\r\n const [total, setTotal] = React.useState(0);\r\n const [subTotal, setSubTotal] = React.useState(0);\r\n\r\n const [loading, setLoading] = React.useState(false);\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n // if( dataRow && dataRow[0]){\r\n // Object.getOwnPropertyNames(dataRow[0].array.forEach((element: any) => {\r\n // console.log(\"->\",element) \r\n // }));\r\n // }\r\n let auxArray: Array = [];\r\n if (dataRow && dataRow[0]) {\r\n for (const [key, value] of Object.entries(dataRow[0])) {\r\n auxArray.push(key);\r\n }\r\n }\r\n // console.log(\"my aux\", auxArray);\r\n setCurrentProps(auxArray);\r\n\r\n\r\n \r\n\r\n\r\n\r\n }, [dataRow]);\r\n\r\n \r\n useEffect(() => {\r\n setLoading(true)\r\n setTimeout( () => { setLoading(false) }, 10000 );\r\n\r\n\r\n }, [dataRow]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n let arrayAux1: Array=[];\r\n\r\n if(currentReport===\"RESUMEN PROMOTORES REFERIDOS\"){\r\n\r\n for(let i = 0; i {\r\n\r\n let newDataRow: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n\r\n // console.log(\"newDataRow\", dataRow);\r\n let subAuxTotal: number = 0;\r\n \r\n for (let i = 0; i < newDataRow.length; i++) {\r\n\r\n\r\n if (newDataRow[i].BillAmount) {\r\n subAuxTotal += newDataRow[i].BillAmount\r\n } else if (newDataRow[i].Subtotal) {\r\n subAuxTotal += newDataRow[i].Subtotal\r\n } else {\r\n subAuxTotal += newDataRow[i].CP;\r\n }\r\n\r\n\r\n\r\n\r\n // newDataRow[i].BillAmount ?\r\n // subAuxTotal += newDataRow[i].BillAmount :\r\n // // newDataRow[i].Subtotal ?\r\n // subAuxTotal += +newDataRow[i].Subtotal\r\n // //:subAuxTotal += newDataRow[i].CP;\r\n\r\n }\r\n let auxTotal: any = 0;\r\n for (let k = 0; k < dataRow.length; k++) {\r\n\r\n dataRow[k].BillAmount ?\r\n auxTotal += dataRow[k].BillAmount :\r\n\r\n //dataRow[k].Subtotal?\r\n auxTotal += +dataRow[k].Subtotal\r\n // : auxTotal += dataRow[k].CP\r\n\r\n ;\r\n }\r\n // console.log(\"newDataRow\", subAuxTotal);\r\n // console.log(\"newDataRow\", auxTotal);\r\n let n:number = +subAuxTotal.toFixed(2);\r\n var nn:number = +auxTotal.toFixed(2);\r\n if(n === NaN){\r\n setSubTotal(0);\r\n }else{\r\n setSubTotal(+n);\r\n } \r\n if(nn === NaN){\r\n setTotal(0);\r\n }else{\r\n setTotal(+nn);\r\n }\r\n \r\n \r\n \r\n \r\n\r\n }, [currentPage, dataRow, currentPagination]);\r\n\r\n\r\n\r\n\r\n\r\n\r\n function getByProperty(row: any, title: string) {\r\n\r\n switch (title) {\r\n case \"BillDate\":\r\n return row.BillDate;\r\n\r\n case \"BillNumber\":\r\n return row.BillNumber;\r\n\r\n case \"Source\":\r\n return row.Source;\r\n\r\n case \"BillAmount\":\r\n return row.BillAmount;\r\n\r\n case \"BillCode\":\r\n return row.BillCode;\r\n\r\n case \"BranchName\":\r\n return row.BranchName;\r\n\r\n case \"Employee\":\r\n return row.Employee;\r\n\r\n case \"Amount\":\r\n return row.Amount;\r\n\r\n case \"SumChild2\":\r\n return row.SumChild2;\r\n\r\n case \"Subtotal\":\r\n return row.Subtotal;\r\n case \"Parent\":\r\n return row.Parent;\r\n case \"Level\":\r\n return row.Level;\r\n case \"CP\":\r\n return row.CP;\r\n\r\n case \"AccountId\":\r\n return row.AccountId;\r\n\r\n case \"AccountDetailId\":\r\n return row.AccountDetailId;\r\n\r\n case \"AccountDetailType\":\r\n return row.AccountDetailType;\r\n\r\n case \"AccountDetailDate\":\r\n return row.AccountDetailDate;\r\n case \"AccountDetailAmmount\":\r\n return row.AccountDetailAmmount;\r\n case \"AccountDetailTask\":\r\n return row.AccountDetailTask;\r\n case \"AccountDetailNetAmount\":\r\n return row.AccountDetailNetAmount;\r\n\r\n case \"CreatedBy\":\r\n return row.CreatedBy;\r\n\r\n case \"AccountDetailDescription\":\r\n return row.AccountDetailDescription;\r\n case \"Deposit\":\r\n return row.Deposit;\r\n case \"Withdrawal\":\r\n return row.Withdrawal;\r\n case \"Balance\":\r\n return row.Balance;\r\n case \"PCN\":\r\n return row.PCN;\r\n case \"Wallet\":\r\n return row.Wallet;\r\n\r\n }\r\n return \"\";\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n function renamerColumn(title: string) {\r\n\r\n switch (title) {\r\n case \"BillDate\":\r\n return \"Fecha\";\r\n\r\n case \"BillNumber\":\r\n return \"BillNumber\";\r\n\r\n case \"Source\":\r\n return \"Origen\";\r\n\r\n case \"BillAmount\":\r\n return \"Importe\";\r\n\r\n case \"BillCode\":\r\n return \"BillCode\";\r\n\r\n case \"BranchName\":\r\n return \"BranchName\";\r\n\r\n case \"Employee\":\r\n return currentReport===\"RESUMEN PROMOTOR SELECCIONADO\"?\"Promotor\": \"Referido\";\r\n\r\n case \"Amount\":\r\n return currentReport===\"RESUMEN PROMOTOR SELECCIONADO\"?\"Nivel 1\": \"Importe\";\r\n\r\n case \"SumChild2\":\r\n return currentReport===\"RESUMEN PROMOTOR SELECCIONADO\"?\"Nivel 2\": \"SumChild2\";\r\n\r\n case \"Subtotal\":\r\n return \"Billetera\";\r\n case \"Parent\":\r\n return \"Referido de\";\r\n case \"Level\":\r\n return \"Nivel\";\r\n case \"CP\":\r\n return currentReport == \"BILLETERA POR NIVEL\" ? \"Total\" : \"Compras Personales\";\r\n\r\n case \"AccountId\":\r\n return \"AccountId\";\r\n\r\n case \"AccountDetailId\":\r\n return \"AccountDetailId\";\r\n\r\n case \"AccountDetailType\":\r\n return \"AccountDetailType\";\r\n\r\n case \"AccountDetailDate\":\r\n return \"Fecha\";\r\n case \"AccountDetailAmmount\":\r\n return \"AccountDetailAmmount\";\r\n case \"AccountDetailTask\":\r\n return \"AccountDetailTask\";\r\n case \"AccountDetailNetAmount\":\r\n return \"AccountDetailNetAmount\";\r\n\r\n case \"CreatedBy\":\r\n return \"CreatedBy\";\r\n\r\n case \"AccountDetailDescription\":\r\n return \"AccountDetailDescription\";\r\n case \"Deposit\":\r\n return \"Abono\";\r\n case \"Withdrawal\":\r\n return \"Retiro\";\r\n case \"Balance\":\r\n return \"Saldo\";\r\n case \"PCN\":\r\n return \"PCN\";\r\n case \"Wallet\":\r\n return \"Billetera\";\r\n\r\n }\r\n return \"\";\r\n\r\n\r\n }\r\n useEffect(() => {\r\n // console.log(\"setting new report\")\r\n //setReportSelected(true);\r\n }, [currentReport]);\r\n useEffect(() => {\r\n addLevels()\r\n }, [dataRow]);\r\n \r\n\r\n const handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\r\n setCurrentPagination(+(event.target.value as string));\r\n };\r\n\r\n\r\n\r\n const handleChangePage = (event: unknown, newPage: number) => {\r\n setCurrentPage(newPage);\r\n };\r\n\r\n const handleChangeRowsPerPage = (event: React.ChangeEvent) => {\r\n setCurrentPagination(parseInt(event.target.value, 10));\r\n setCurrentPage(0);\r\n };\r\n\r\n\r\n function getTotal() {\r\n\r\n if (currentReport == \"RESUMEN CLIENTE REFERIDOS\") {\r\n \r\n let aux: number = 0;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n aux += dataRow[i].Amount;\r\n }\r\n return aux;\r\n\r\n }else if(currentReport == \"RESUMEN PROMOTOR SELECCIONADO\"){\r\n\r\n let aux: number = 0;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n aux += dataRow[i].Amount;\r\n }\r\n return aux;\r\n \r\n } else {\r\n\r\n let aux: number = 0;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n aux += dataRow[i].CP;\r\n }\r\n return aux;\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n function getTotal3() {\r\n\r\n if (currentReport == \"COMPRAS PERSONALES\") {\r\n \r\n let aux: number = 0;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n aux += dataRow[i].BillAmount;\r\n }\r\n return aux;\r\n\r\n }\r\n\r\nreturn 0;\r\n }\r\n function getTotal2() {\r\n if (currentReport == \"RESUMEN CLIENTE REFERIDOS\") {\r\n let aux: number = 0;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n aux += dataRow[i].Subtotal;\r\n }\r\n return aux;\r\n\r\n } else if(currentReport == \"RESUMEN PROMOTOR SELECCIONADO\"){\r\n\r\n let aux: number = 0;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n aux += dataRow[i].SumChild2;\r\n }\r\n return aux;\r\n }else {\r\n let aux: number = 0;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n aux += dataRow[i].Wallet;\r\n }\r\n return aux;\r\n }\r\n }\r\n function getSubTotal() {\r\n if (currentReport == \"RESUMEN CLIENTE REFERIDOS\") {\r\n let aux: number = 0;\r\n let rowAux: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n for (let i = 0; i < rowAux.length; i++) {\r\n\r\n aux += rowAux[i].Amount;\r\n }\r\n return aux;\r\n\r\n } else if(currentReport == \"RESUMEN PROMOTOR SELECCIONADO\"){\r\n\r\n let aux: number = 0;\r\n let rowAux: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n for (let i = 0; i < rowAux.length; i++) {\r\n\r\n aux += rowAux[i].Amount;\r\n }\r\n return aux;\r\n }\r\n \r\n \r\n \r\n \r\n else {\r\n let aux: number = 0;\r\n let rowAux: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n for (let i = 0; i < rowAux.length; i++) {\r\n\r\n aux += rowAux[i].CP;\r\n }\r\n return aux;\r\n }\r\n }\r\n\r\n\r\n function getSubTotal3() {\r\n if (currentReport == \"COMPRAS PERSONALES\") {\r\n let aux: number = 0;\r\n let rowAux: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n for (let i = 0; i < rowAux.length; i++) {\r\n\r\n aux += rowAux[i].BillAmount;\r\n }\r\n return aux;\r\n\r\n } \r\n return 0;\r\n }\r\n\r\n\r\n function getSubTotal2() {\r\n if (currentReport == \"RESUMEN CLIENTE REFERIDOS\") {\r\n let aux: number = 0;\r\n let rowAux: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n for (let i = 0; i < rowAux.length; i++) {\r\n\r\n aux += rowAux[i].Subtotal;\r\n }\r\n return aux;\r\n\r\n }else if(currentReport == \"RESUMEN PROMOTOR SELECCIONADO\"){\r\n let aux: number = 0;\r\n let rowAux: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n for (let i = 0; i < rowAux.length; i++) {\r\n\r\n aux += rowAux[i].SumChild2;\r\n }\r\n return aux;\r\n \r\n } else {\r\n let aux: number = 0;\r\n let rowAux: Array = dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination);\r\n for (let i = 0; i < rowAux.length; i++) {\r\n\r\n aux += rowAux[i].Wallet;\r\n }\r\n return aux;\r\n }\r\n \r\n }\r\n\r\n \r\n\r\n\r\n\r\n function addLevels(){\r\n\r\n if(dataRow && dataRow.length){\r\nlet aux:number =0;\r\n let arrayWithLevels:Array=[];\r\n let counterLevel:number=dataRow[0].Level;\r\n for (let i = 0; i < dataRow.length; i++) {\r\n\r\n arrayWithLevels.push( dataRow[i])\r\n\r\n aux += dataRow[i].CP;\r\n\r\n if(dataRow[i+1]){\r\n\r\n\r\n if(dataRow[i].Level==dataRow[i+1].Level){\r\n\r\n\r\n }else{\r\n\r\n arrayWithLevels.push({total:aux})\r\n aux=0;\r\n }\r\n\r\n\r\n\r\n }else{\r\n\r\n arrayWithLevels.push({total:aux})\r\n }\r\n\r\n\r\n }\r\n // console.log(\"arrayWithLevels\",arrayWithLevels)\r\n setDataRowsToShowPromotoresReferidos(arrayWithLevels);\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n\r\n function round(num:any, decimales = 2) {\r\n const base = 10**decimales;\r\n const precioxBase = num*base;\r\n \r\n const rPrecioxBase = Math.round(precioxBase);\r\n \r\n const precioFinal = rPrecioxBase/base;\r\n return precioFinal; \r\n }\r\n\r\n return (\r\n
\r\n {!loading? \r\n\r\n
\r\n\r\n {currentReport}\r\n\r\n
\r\n\r\n {dataRow && dataRow.length && currentReport ?
\r\n\r\n \r\n \r\n \r\n \r\n\r\n {currentProps.map((row, index) => (\r\n\r\n \r\n {renamerColumn(row)}\r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n {hasData && currentReport!==\"RESUMEN PROMOTORES REFERIDOS\" && dataRow.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination).map((row, index) => (\r\n \r\n {currentProps.map((row2, index2) => (\r\n \r\n \r\n {getByProperty(row, row2)}\r\n \r\n\r\n ))}\r\n\r\n \r\n ))}\r\n\r\n\r\n\r\n {currentReport===\"RESUMEN PROMOTORES REFERIDOS\" && dataRowsToShowPromotoresReferidos.slice(currentPage * currentPagination, currentPage * currentPagination + currentPagination).map((row, index) => {\r\n if(row.total){\r\n return( \r\n \r\n \r\n Total\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {hasData?round(row.total):0}\r\n \r\n \r\n\r\n )\r\n\r\n }else{\r\n return( \r\n {currentProps.map((row2, index2) => (\r\n \r\n \r\n {getByProperty(row, row2)}\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 {hasTotal && !hasTwo ? \r\n\r\n \r\n Sub Total-\r\n \r\n\r\n\r\n\r\n \r\n {hasData && currentReport==\"COMPRAS PERSONALES\"?round(getSubTotal3()):subTotal }\r\n \r\n\r\n\r\n\r\n\r\n : <>}\r\n\r\n {hasTotal && !hasTwo ? \r\n\r\n \r\n Total-\r\n \r\n\r\n\r\n\r\n \r\n {hasData && currentReport==\"COMPRAS PERSONALES\" ?round(getTotal3()):total}\r\n \r\n\r\n\r\n : <>}\r\n\r\n\r\n {hasTotal && hasTwo ? \r\n\r\n \r\n Sub Total\r\n \r\n\r\n\r\n\r\n \r\n {hasData?round(getSubTotal()):0}\r\n \r\n\r\n \r\n {hasData?round(getSubTotal2()):0}\r\n \r\n\r\n\r\n\r\n : <>}\r\n\r\n {hasTotal && hasTwo ? \r\n\r\n \r\n Total\r\n \r\n\r\n\r\n\r\n \r\n {hasData?round(getTotal()):0}\r\n \r\n\r\n \r\n {hasData?round(getTotal2()):0}\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\nexport default FormComponent;","\r\nimport { ClientModel, PeriodModel, AgentPromotorModel, ClientPromotorModel, ReportModel, UserModel, WalletModel, ReportWalletLevelModel, ReportModelToShow, ReportWalletLevelModelToShow, WalletModelToShow, ClientPromotorModelToShow, ClientPromotorModelToShow2 } from './Models/Models';\r\n\r\n\r\nexport function mapperToReportModel(genericArray: Array): Array {\r\n let arrayResult: Array = [];\r\n\r\n for (let i = 0; i < genericArray.length; i++) {\r\n let date:string = genericArray[i].BillDate.split(\"T\");\r\n arrayResult.push({ BillDate: date[0], BillAmount: genericArray[i].BillAmount, Source: genericArray[i].Source })\r\n\r\n }\r\n // if(arrayResult.length==0){\r\n // arrayResult.push({ BillDate:\"-\", BillAmount: 0, Source: \"-\" })\r\n\r\n // }\r\n return arrayResult;\r\n\r\n}\r\nexport function mapperToWalletLevel(genericArray: Array): Array {\r\n let arrayResult: Array = [];\r\n\r\n for (let i = 0; i < genericArray.length; i++) {\r\n\r\n arrayResult.push({ Level: genericArray[i].Level, CP: genericArray[i].CP, Wallet: genericArray[i].Wallet })\r\n\r\n }\r\n // if(arrayResult.length==0){\r\n // arrayResult.push({ Level: 0, CP: 0, Wallet: 0})\r\n\r\n // }\r\n return arrayResult;\r\n\r\n}\r\nexport function mapperToWalletModel(genericArray :Array ):Array{\r\n let arrayResult : Array=[];\r\n \r\n for(let i =0 ; i< genericArray.length;i++){\r\n let date:string = genericArray[i].AccountDetailDate.split(\"T\");\r\n arrayResult.push({AccountDetailDate:date[0], Deposit : genericArray[i].Deposit,Withdrawal: genericArray[i].Withdrawal,Balance: genericArray[i].Balance})\r\n \r\n }\r\n console.log(\"arrayResult\",arrayResult)\r\n return arrayResult;\r\n \r\n }\r\n\r\n export function mapperToClientPromotor(genericArray: Array): Array {\r\n let arrayResult: Array = [];\r\n \r\n for (let i = 0; i < genericArray.length; i++) {\r\n \r\n arrayResult.push({Employee:genericArray[i].Employee, Amount:genericArray[i].Amount,Subtotal:genericArray[i].Subtotal })\r\n \r\n }\r\n // if(arrayResult.length==0){\r\n // arrayResult.push({ Amount:0 ,Employee:\"-\",Subtotal:0})\r\n \r\n // }\r\n return arrayResult;\r\n \r\n }\r\n export function mapperToClientPromotor2(genericArray: Array): Array {\r\n let arrayResult: Array = [];\r\n \r\n for (let i = 0; i < genericArray.length; i++) {\r\n \r\n arrayResult.push({Employee:genericArray[i].Employee, Amount:genericArray[i].Amount,SumChild2:genericArray[i].SumChild2 })\r\n \r\n }\r\n // if(arrayResult.length==0){\r\n // arrayResult.push({ Amount:0 ,Employee:\"-\",SumChild2:0})\r\n \r\n // }\r\n return arrayResult;\r\n \r\n }\r\n ","import React, { useEffect } from 'react';\r\n// import { ProSidebar, Menu, MenuItem, SubMenu } from 'react-pro-sidebar';\r\nimport { createStyles, Theme, makeStyles } from '@material-ui/core/styles';\r\n// import Drawer from '@material-ui/core/Drawer';\r\n// import CssBaseline from '@material-ui/core/CssBaseline';\r\n// import AppBar from '@material-ui/core/AppBar';\r\n// import Toolbar from '@material-ui/core/Toolbar';\r\n// import List from '@material-ui/core/List';\r\n// import Typography from '@material-ui/core/Typography';\r\n// import Divider from '@material-ui/core/Divider';\r\n// import ListItem from '@material-ui/core/ListItem';\r\n// import ListItemIcon from '@material-ui/core/ListItemIcon';\r\n// import ListItemText from '@material-ui/core/ListItemText';\r\n// import InboxIcon from '@material-ui/icons/MoveToInbox';\r\n// import MailIcon from '@material-ui/icons/Mail';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport Slide from '@material-ui/core/Slide';\r\nimport Button from '@material-ui/core/Button';\r\nimport InboxIcon from '@material-ui/icons/Inbox';\r\nimport DraftsIcon from '@material-ui/icons/Drafts';\r\nimport Container from '@material-ui/core/Container';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { ClientModel, PeriodModel, AgentPromotorModel, ClientPromotorModel, ReportModel, UserModel, WalletModel, ReportWalletLevelModel, ReportModelToShow, WalletModelToShow } from '../Models/Models';\r\nimport { fetchViewListPeriods, fetchViewPersonalPurchases, fetchViewByWallet, fetchViewClient, fetchViewAgent, fetchViewByPeriodWallet, fetchViewSelectedPromotor } from '../Services/Services';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport TreeViewRed from '../Components/TreeView';\r\nimport FormComponent from '../Components/FormComponent';\r\nimport { mapperToClientPromotor, mapperToClientPromotor2, mapperToReportModel, mapperToWalletLevel, mapperToWalletModel } from '../utils';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n \r\n width: \"100%\",\r\n maxWidth: 400,\r\n backgroundColor: theme.palette.background.paper,\r\n fontSize: \"20px\"\r\n },\r\n paper: {\r\n \r\n padding: theme.spacing(2),\r\n textAlign: 'center',\r\n color: theme.palette.text.secondary,\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 120,\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n}));\r\n\r\n\r\nconst ReportsPage: React.FC = () => {\r\n\r\n\r\n const classes = useStyles();\r\n const [dataRow, setDataRow] = React.useState>([]);\r\n const [dataRow2, setDataRow2] = React.useState>([]);\r\n const [dataRow3, setDataRow3] = React.useState>([]);\r\n const [dataRow4, setDataRow4] = React.useState>([]);\r\n const [currentReport, setCurrentViewStatus] = React.useState(\"\");\r\n const [dataPeriods, setDataPeriods] = React.useState>([]);\r\n const [period, setPeriod] = React.useState('');\r\n const [currentViewStatus, setCurrentViewTableStatus] = React.useState(0);\r\n const [dataWallet, setDataWallet] = React.useState>([]);\r\n const [dataWallettoShow, setDataWallettoShow] = React.useState>([]);\r\n const [dataRowMiRed1, setDataMiRed1] = React.useState>();\r\n const [dataRowMiRed2, setDataMiRed2] = React.useState>();\r\n\r\n const [report1, setReport1] = React.useState(true);\r\n const [report2, setReport2] = React.useState(true);\r\n const [report3, setReport3] = React.useState(true);\r\n const [report4, setReport4] = React.useState(true);\r\n const [report5, setReport5] = React.useState(true);\r\n const [report6, setReport6] = React.useState(true);\r\n const [report7, setReport7] = React.useState(true);\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n const [treeUser, setTreeUser] = React.useState(0);\r\n const [treeUserName, setTreeUserName] = React.useState(\"\");\r\n\r\n\r\n const handleChange = (event: any) => {\r\n setPeriod(event.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n console.log(\"setting\")\r\n sessionStorage.setItem(\"currentView\", \"inicio\")\r\n //window.location.reload();\r\n }\r\n\r\n });\r\n\r\n useEffect(() => {\r\n\r\n getDataPeriods();\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n console.log(\"treeUser\",treeUser) \r\n console.log(\"treeUserName\",treeUserName) \r\n }, [treeUser,treeUserName]);\r\n\r\n\r\n function treeUserSet(){\r\n \r\n let cookieUser: any = sessionStorage.getItem(\"user\");\r\n let currentUserlogged: UserModel = JSON.parse(cookieUser);\r\n\r\n if (currentUserlogged) {\r\n \r\n setTreeUser(+currentUserlogged.EmployeeId)\r\n setTreeUserName(currentUserlogged.UserName.toString())\r\n }else{\r\n \r\n\r\n }\r\n setCurrentViewTable(3, \"Reporte 3\")\r\n\r\n }\r\n\r\n function setCurrentViewTable(view: number, title: string) {\r\n\r\n setCurrentViewTableStatus(view);\r\n setCurrentViewStatus(title);\r\n if (view == 2) {\r\n getDataWallet();\r\n }\r\n }\r\n useEffect(() => {\r\n\r\n console.log(\"period\",period);\r\n \r\n }, [period]);\r\n useEffect(() => {\r\n\r\n getData();\r\n\r\n }, [period]);\r\n\r\n useEffect(() => {\r\n //setPeriod('');\r\n //setDataRow([])\r\n }, [currentReport]);\r\n\r\n useEffect(() => {\r\n getDataRed();\r\n }, [treeUserName, period]);\r\n\r\n\r\n useEffect(() => {\r\n //console.log(\"setting new report\")\r\n //setReportSelected(true);\r\n }, [currentReport]);\r\n\r\n //fetchViewListReport\r\n async function getData() {\r\n\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n\r\n } else {\r\n let currentUser: UserModel = JSON.parse(guardado ? guardado : \"\");\r\n\r\n if (period !== \"\" && currentUser !== null && currentUser !== undefined) {\r\n\r\n\r\n let currentList1: Array = await fetchViewPersonalPurchases(currentUser.EmployeeId.toString(), period);\r\n\r\n\r\n //if(currentList.length==0){currentList.push({BranchName:\"\",BillAmount:0,BillCode:\"\",BillDate:\"\",BillNumber:0,Source:\"\"})}\r\n let currentList11: Array = mapperToReportModel(currentList1)\r\n\r\n \r\n\r\n\r\n if(currentList11.length==0){\r\n setReport1(false)\r\n currentList11.push({ BillDate:\"-\", BillAmount: 0, Source: \"-\" })\r\n }\r\n setDataRow(currentList11);\r\n let currentList2: Array = await fetchViewByPeriodWallet(currentUser.EmployeeId.toString(), period);\r\n\r\n console.log(\"dataform2\",currentList2)\r\n\r\n let currentList22: Array = mapperToWalletLevel(currentList2);\r\n\r\n \r\n if(currentList22.length==0){\r\n setReport2(false)\r\n currentList22.push({ Level: 0, CP: 0, Wallet: 0})\r\n }\r\n setDataRow2(currentList22);\r\n\r\n let currentList3: Array = await fetchViewClient(currentUser.EmployeeId.toString(), period);\r\n let currentList33: Array = mapperToClientPromotor(currentList3);\r\n\r\n \r\n if(currentList33.length==0){\r\n setReport3(false)\r\n currentList33.push({ Amount:0 ,Employee:\"-\",Subtotal:0})\r\n }\r\n setDataRow3(currentList33);\r\n let currentList4: Array = await fetchViewAgent(currentUser.EmployeeId.toString(), period);\r\n \r\n \r\n\r\n if(currentList4.length==0){\r\n setReport4(false)\r\n }\r\n setDataRow4(currentList4);\r\n\r\n\r\n\r\n let currentList5: Array = await fetchViewByWallet(currentUser.EmployeeId.toString());\r\n\r\n setDataWallet(currentList5);\r\n\r\n // console.log(\"setting new report1\",currentList)\r\n // console.log(\"setting new report2\",currentList2)\r\n // console.log(\"setting new report3\",currentList3)\r\n // console.log(\"setting new report4\",currentList4)\r\n\r\n }\r\n }\r\n }\r\n\r\n async function getDataWallet() {\r\n\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n\r\n } else {\r\n let currentUser: UserModel = JSON.parse(guardado ? guardado : \"\");\r\n\r\n if (currentUser !== null && currentUser !== undefined) {\r\n\r\n let currentList5: Array = await fetchViewByWallet(currentUser.EmployeeId.toString());\r\n let currentList55: Array = mapperToWalletModel(currentList5);\r\n let currentList555: Array = mapperToWalletModel(currentList5);\r\n console.log(\"Wallet\",currentList555)\r\n \r\n\r\n if(currentList555.length==0){\r\n setReport5(false)\r\n }\r\n\r\n setDataWallet(currentList55);\r\n setDataWallettoShow(currentList555);\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n async function getDataRed() {\r\n\r\n\r\n if (period !== \"\" && treeUser !== 0) {\r\n\r\n\r\n\r\n let currentList6: Array = await fetchViewPersonalPurchases(treeUser.toString(),period);\r\n\r\n let currentList66: Array = mapperToReportModel(currentList6);\r\n\r\n \r\n\r\n if(currentList66.length==0){\r\n console.log(\"red1 sin data\")\r\n setReport6(false)\r\n\r\n \r\n currentList66.push({ BillAmount: 0,\r\n BillCode: \"-\",\r\n BillDate: \"\",\r\n BillNumber: 0,\r\n BranchName: \"\",\r\n Source: \"\" })\r\n }\r\n setDataMiRed1(currentList66);\r\n\r\n\r\n let currentList7: Array = await fetchViewSelectedPromotor(treeUser.toString(),period);\r\n let currentList77: Array = mapperToClientPromotor2(currentList7);\r\n \r\n\r\n if(currentList77.length==0){\r\n setReport7(false)\r\n currentList77.push({ Amount:0 ,Employee:\"-\",SumChild2:0})\r\n }\r\n setDataMiRed2(currentList77);\r\n\r\n\r\n\r\n }\r\n \r\n }\r\n\r\n async function getDataPeriods() {\r\n let currentList: Array = await fetchViewListPeriods();\r\n setDataPeriods(currentList);\r\n\r\n setPeriod(currentList[currentList.length-1].PeriodId.toString());\r\n }\r\n\r\n\r\n const [selectedIndex, setSelectedIndex] = React.useState(4);\r\n\r\n function handleListItemClick(event: any, index: any) {\r\n setSelectedIndex(index);\r\n }\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n handleListItemClick(event, 0)}\r\n >\r\n \r\n \r\n \r\n { setCurrentViewTable(1, \"Reporte 1\") }} >Resumen Periodo\r\n \r\n handleListItemClick(event, 1)}\r\n >\r\n \r\n \r\n \r\n { setCurrentViewTable(2, \"Reporte 2\") }} >Billetera\r\n \r\n\r\n handleListItemClick(event, 2)}\r\n >\r\n \r\n \r\n \r\n { treeUserSet() }} >Mi Red\r\n \r\n \r\n
\r\n
\r\n {currentViewStatus == 3 ? : <>}\r\n
\r\n\r\n {currentViewStatus == 1 ?\r\n \r\n {currentReport ?
\r\n\r\n \r\n \r\n PERIODO\r\n \r\n {dataPeriods.map((row, index) => (\r\n {row.PeriodDescription}\r\n ))}\r\n\r\n \r\n \r\n \r\n {/*

{currentReport}

*/}\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 currentViewStatus == 2 ?\r\n \r\n {currentReport ?
\r\n\r\n \r\n\r\n
: <>}\r\n
\r\n : <>\r\n }\r\n\r\n\r\n {currentViewStatus == 3 ?\r\n \r\n {currentReport ?
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n PERIODO\r\n \r\n {dataPeriods.map((row, index) => (\r\n {row.PeriodDescription}\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 Usuario Seleccionado:{treeUserName}\r\n
\r\n
\r\n {/*

{currentReport}

*/}\r\n
\r\n {\r\n dataRowMiRed1 ? :\r\n } \r\n
\r\n\r\n {\r\n dataRowMiRed2 ? :\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 export default ReportsPage;","import React, { useEffect, useState } from 'react';\r\n// import { ProSidebar, Menu, MenuItem, SubMenu } from 'react-pro-sidebar';\r\nimport { createStyles, Theme, makeStyles } from '@material-ui/core/styles';\r\n// import Drawer from '@material-ui/core/Drawer';\r\n// import CssBaseline from '@material-ui/core/CssBaseline';\r\n// import AppBar from '@material-ui/core/AppBar';\r\n// import Toolbar from '@material-ui/core/Toolbar';\r\n// import List from '@material-ui/core/List';\r\n// import Typography from '@material-ui/core/Typography';\r\n// import Divider from '@material-ui/core/Divider';\r\n// import ListItem from '@material-ui/core/ListItem';\r\n// import ListItemIcon from '@material-ui/core/ListItemIcon';\r\n// import ListItemText from '@material-ui/core/ListItemText';\r\n// import InboxIcon from '@material-ui/icons/MoveToInbox';\r\n// import MailIcon from '@material-ui/icons/Mail';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport Slide from '@material-ui/core/Slide';\r\nimport Button from '@material-ui/core/Button';\r\nimport InboxIcon from '@material-ui/icons/Inbox';\r\nimport DraftsIcon from '@material-ui/icons/Drafts';\r\nimport Container from '@material-ui/core/Container';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\nimport { ClientModel, PeriodModel, AgentPromotorModel, ClientPromotorModel, ReportModel, UserModel, WalletModel, ReportWalletLevelModel, ReportModelToShow, EmployeeModel } from '../Models/Models';\r\nimport { fetchViewListPeriods, fetchViewPersonalPurchases, fetchViewByWallet, fetchViewClient, fetchViewAgent, fetchViewByPeriodWallet, fetchViewSelectedPromotor, fetchViewRegisterClient, fetchViewListEmployeeChilds } from '../Services/Services';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport TreeViewRed from '../Components/TreeView';\r\n\r\nimport TextField from '@material-ui/core/TextField';\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: 150,\r\n maxWidth: 400,\r\n backgroundColor: theme.palette.background.paper,\r\n fontSize: \"20px\"\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: 'center',\r\n color: theme.palette.text.secondary,\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 120,\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n }, labelRoot: {\r\n fontSize: 15,\r\n color: \"black\",\r\n \"&$labelFocused\": {\r\n color: \"purple\"\r\n }, marginLeft: \"15px\"\r\n },\r\n input: { fontSize: 25, },\r\n labelFocused: {}\r\n}));\r\n\r\n\r\nconst\r\n RegisterPage: React.FC = () => {\r\n\r\n\r\n const classes = useStyles();\r\n\r\n const [age, setAge] = React.useState('');\r\n\r\n const [firstName, setFirstName] = useState('');\r\n const [lastName, setLastName] = useState('');\r\n const [lastName2, setLastName2] = useState('');\r\n const [email, setEmail] = useState('');\r\n const [telephone, setTelephone] = useState('');\r\n const [cellphone, setCellphone] = useState('');\r\n const [address, setAddress] = useState('');\r\n const [city, setCity] = useState('Cochabamba');\r\n const [nit, setNit] = useState('');\r\n const [obs, setObs] = useState('');\r\n const [type, setType] = useState('Agente Promotor');\r\n const [parent, setParent] = useState('');\r\n const [parentName, setParentName] = useState('');\r\n const [openCheckBoxData, setOpenCheckBoxData] = React.useState(false);\r\n const [openCheckBoxData2, setOpenCheckBoxData2] = React.useState(false);\r\n const [EmployeeList, setEmployeeList] = React.useState();\r\n const [currentUserLogged, setCurrentUserLogged] = React.useState();\r\n const handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\r\n setAge(event.target.value as string);\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n\r\n }, []);\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n getDataFromUser()\r\n }, []);\r\n\r\n async function getDataFromUser() {\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n\r\n } else {\r\n let currentUser: UserModel = JSON.parse(guardado ? guardado : \"\");\r\n setCurrentUserLogged(currentUser);\r\n let currentEmployeee: EmployeeModel = await fetchViewListEmployeeChilds(currentUser.EmployeeId.toString());\r\n setEmployeeList(currentEmployeee);\r\n console.log(currentEmployeee.Children.length)\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n function Alert(props: any) {\r\n return ;\r\n }\r\n\r\n function validarNumber(str: any) {\r\n if (str === \"\") { return false }\r\n var pattern = /^\\d+$/;\r\n return pattern.test(str); // returns a boolean\r\n }\r\n function validarEmail(str: any) {\r\n var pattern = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n return pattern.test(str); // returns a boolean\r\n }\r\n const handleClickData = () => {\r\n setOpenCheckBoxData(true);\r\n };\r\n const handleCloseData = (event: any, reason: any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpenCheckBoxData(false);\r\n };\r\n const handleClickData2 = () => {\r\n setOpenCheckBoxData2(true);\r\n };\r\n const handleCloseData2 = (event: any, reason: any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpenCheckBoxData2(false);\r\n };\r\n\r\n async function registerClient() {\r\n\r\n let client: ClientModel = {\r\n\r\n firstName: firstName,\r\n lastName1: lastName,\r\n lastName2: lastName2,\r\n email: email,\r\n address: address,\r\n latitude: 0,\r\n longitude: 0,\r\n mobile: cellphone,\r\n name: firstName,\r\n password: \"\",\r\n phone: telephone,\r\n ciudad: city,\r\n billName: \"\",\r\n billNit: nit,\r\n documentNumber: nit,\r\n localizationId: 1,\r\n observaciones: obs,\r\n parentId: +parent,\r\n tipo: type\r\n\r\n\r\n\r\n }\r\n\r\n console.log(\"clientttttttttttt\", client)\r\n if (firstName === \"\" || lastName === \"\" || lastName2 === \"\" || email === \"\" || address === \"\" || cellphone === \"\" || nit === \"\" || parent==\"\") {\r\n handleClickData();\r\n\r\n\r\n } else {\r\n let result: string = await fetchViewRegisterClient(client);\r\n console.log(\"clientttttttttttt\", result)\r\n handleClickData2(); \r\n \r\n setFirstName(\"\");\r\n setLastName(\"\");\r\n setLastName2(\"\");\r\n setEmail(\"\");\r\n setAddress(\"\");\r\n setCellphone(\"\");\r\n setNit(\"\");\r\n setParent(\"\");\r\n setObs(\"\");\r\n setTelephone(\"\"); \r\n\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n

Registro

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setFirstName((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", width: \"100%\" }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setLastName((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setLastName2((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setNit((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setEmail((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setCellphone((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setTelephone((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setAddress((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n setObs((e.target as HTMLInputElement).value)}\r\n style={{ marginLeft: \"5px\", fontSize: \"15px\", }} InputProps={{ disableUnderline: true }} inputProps={{ style: { fontSize: 15, marginLeft: \"20px\" } }} InputLabelProps={{\r\n classes: {\r\n root: classes.labelRoot,\r\n focused: classes.labelFocused\r\n }\r\n }} />\r\n
\r\n
\r\n\r\n \r\n Ciudad\r\n setCity((e.target as HTMLInputElement).value)}\r\n disableUnderline\r\n style={{ marginLeft: \"20px\", fontSize: \"15px\" }}\r\n\r\n >\r\n Cochabamba\r\n Santa Cruz\r\n La Paz\r\n Potosi\r\n Oruro\r\n Pando\r\n Beniv\r\n Tarija\r\n Chuquisaca\r\n\r\n \r\n \r\n\r\n\r\n
\r\n
\r\n\r\n \r\n Tipo\r\n setType((e.target as HTMLInputElement).value)}\r\n disableUnderline\r\n style={{ marginLeft: \"20px\", fontSize: \"15px\" }}\r\n\r\n >\r\n AGENTE PROMOTOR\r\n CLIENTE PROMOTOR\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n\r\n \r\n Referido de:\r\n setParentName((e.target as HTMLInputElement).value)}\r\n disableUnderline\r\n style={{ marginLeft: \"20px\", fontSize: \"15px\" }}\r\n\r\n >\r\n {setParent(currentUserLogged?.EmployeeId.toString()?currentUserLogged?.EmployeeId.toString():'')}}>{currentUserLogged?.UserName}\r\n {EmployeeList && EmployeeList.Children.map(m => {\r\n return {setParent(m.Id.toString())}}>{m.CompleteName}\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 Por favor llene los datos correctamente\r\n \r\n \r\n\r\n \r\n \r\n Registro Realizado Correctamente\r\n \r\n \r\n
\r\n\r\n );\r\n\r\n }\r\nexport default RegisterPage;","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { red } from '@material-ui/core/colors';\r\nimport { ProductDetail, Cart, OrderDetailItem } from '../Models/Models';\r\nimport TouchRipple from '@material-ui/core/ButtonBase/TouchRipple';\r\nimport { Tooltip, IconButton } from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n maxWidth: \"100%\",\r\n minHeight:380,\r\n borderWidth:\"14px\", \r\n \r\n },\r\n media: {\r\n height: 200,\r\n paddingTop: '90%', // 16:9\r\n\r\n },\r\n expand: {\r\n transform: 'rotate(0deg)',\r\n marginLeft: 'auto',\r\n transition: theme.transitions.create('transform', {\r\n duration: theme.transitions.duration.shortest,\r\n }),\r\n },\r\n expandOpen: {\r\n transform: 'rotate(180deg)',\r\n },\r\n avatar: {\r\n backgroundColor: \"#14A69B\",\r\n },\r\n avatar2: {borderWidth:\"14px\",\r\n backgroundColor: \"#14A69B\",\r\n \r\n },\r\n avatar3: {\r\n backgroundColor: \"white\", \r\n \"&:hover\": {\r\n backgroundColor: \"transparent\"\r\n } \r\n },\r\n avatar4: {borderWidth:\"14px\",\r\n backgroundColor: \"Orange\", \r\n },\r\n title:\r\n {\r\n fontSize:\"1.5rem\",minHeight:\"100px\",maxHeight:\"100px\",overflow:\"hidden\",overflowY:\"auto\"\r\n }\r\n}));\r\n\r\ninterface CardItemProps{\r\n\r\n ProductDetailItem : ProductDetail;\r\n SetCurrentCart: Function;\r\n CurrentCart:Cart;\r\n HandleClick : Function;\r\n} \r\n\r\n\r\nconst CardItem: React.FC = ({ProductDetailItem,SetCurrentCart,CurrentCart,HandleClick}) => {\r\nconst classes = useStyles();\r\n\r\n\r\nfunction AddToCart(){\r\n\r\nlet cart : Cart ={UserName:\"New\",UserNit:\"\",ProductCartDetail:[]}\r\n\r\nvar guardado = sessionStorage.getItem('keyName');\r\n\r\n if(guardado!=null){\r\n cart = JSON.parse(guardado);\r\n \r\n }else{\r\n \r\n }\r\nlet CartDetail : OrderDetailItem[] = cart.ProductCartDetail;\r\n\r\nlet NewCartDetail : OrderDetailItem[] = FindInDetail(CartDetail);\r\n\r\ncart.ProductCartDetail=NewCartDetail;\r\n\r\nSetCurrentCart(cart);\r\nsessionStorage.setItem(\"keyName\", JSON.stringify(cart));\r\n\r\nHandleClick();\r\n\r\n\r\n}\r\n\r\nfunction DropToCart(){\r\n\r\n let cart : Cart ={UserName:\"New\",UserNit:\"\",ProductCartDetail:[]}\r\n \r\n var guardado = sessionStorage.getItem('keyName');\r\n \r\n if(guardado!=null){\r\n cart = JSON.parse(guardado);\r\n \r\n }else{\r\n \r\n }\r\n let CartDetail : OrderDetailItem[] = cart.ProductCartDetail;\r\n \r\n // let NewCartDetail : OrderDetailItem[] = FindInDetailtoDrop(CartDetail);\r\n \r\n // cart.ProductCartDetail=NewCartDetail;\r\n \r\n SetCurrentCart(cart);\r\n sessionStorage.setItem(\"keyName\", JSON.stringify(cart));\r\n \r\n HandleClick();\r\n \r\n \r\n }\r\n\r\nfunction GetCurrentImage(){\r\n\r\n \r\n\r\n return ProductDetailItem.ProductImageURL.toString();\r\n\r\n \r\n}\r\nfunction isOnCart(){\r\n\r\n let cart : Cart ={UserName:\"New\",UserNit:\"\",ProductCartDetail:[]}\r\n \r\n var guardado = sessionStorage.getItem('keyName');\r\n \r\n if(guardado!=null){\r\n cart = JSON.parse(guardado);\r\n \r\n }\r\n let CartDetail : OrderDetailItem[] = cart.ProductCartDetail;\r\n \r\n return FindInDetail2(CartDetail);\r\n \r\n }\r\n\r\n\r\nfunction FindInDetail( ProductCartDetail:OrderDetailItem[]){\r\n let status: boolean = false;\r\n for (let counter = 0; counter < ProductCartDetail.length; counter++) {\r\n\r\n if (ProductCartDetail[counter].ProductId === ProductDetailItem.ProductId) {\r\n\r\n let quantity: number = +ProductCartDetail[counter].ProductQuantity;\r\n ProductCartDetail[counter].ProductQuantity = quantity + 1;\r\n // ProductCartDetail[counter].ProductTotal = ProductCartDetail[counter].ProductQuantity * ProductCartDetail[counter].ProductSalePrice;\r\n status = true;\r\n }\r\n }\r\n if (!status) {\r\n // let newItem: OrderDetailItem = { ProductId: ProductDetailItem.ProductId, ProductName: ProductDetailItem.ProductName, ProductSalePrice: ProductDetailItem.ProductSalePrice, ProductQuantity: 1, ProductTotal: ProductDetailItem.ProductSalePrice , ProductImage:ProductDetailItem.ProductImageURL }\r\n\r\n let newItem: OrderDetailItem = { ProductId: ProductDetailItem.ProductId, ProductName: ProductDetailItem.ProductName, ProductSalePrice: ProductDetailItem.ProductSalePrice, ProductQuantity: 1, ProductImage:ProductDetailItem.ProductImageURL,description:\"\" }\r\n ProductCartDetail.push(newItem);\r\n }\r\n return ProductCartDetail;\r\n\r\n}\r\nfunction FindInDetailtoDrop( ProductCartDetail:OrderDetailItem[]){\r\n let status: boolean = false;\r\n for (let counter = 0; counter < ProductCartDetail.length; counter++) {\r\n\r\n if (ProductCartDetail[counter].ProductId === ProductDetailItem.ProductId) {\r\n\r\n let quantity: number = +ProductCartDetail[counter].ProductQuantity;\r\n ProductCartDetail[counter].ProductQuantity = quantity - 1;\r\n // ProductCartDetail[counter].ProductTotal = ProductCartDetail[counter].ProductQuantity * ProductCartDetail[counter].ProductSalePrice;\r\n status = true;\r\n }\r\n }\r\n if (!status) {\r\n // let newItem: OrderDetailItem = { ProductId: ProductDetailItem.ProductId, ProductName: ProductDetailItem.ProductName, ProductSalePrice: ProductDetailItem.ProductSalePrice, ProductQuantity: 1, ProductTotal: ProductDetailItem.ProductSalePrice , ProductImage:ProductDetailItem.ProductImageURL }\r\n\r\n let newItem: OrderDetailItem = { ProductId: ProductDetailItem.ProductId, ProductName: ProductDetailItem.ProductName, ProductSalePrice: ProductDetailItem.ProductSalePrice, ProductQuantity: 1, ProductImage:ProductDetailItem.ProductImageURL,description:\"\" }\r\n ProductCartDetail.push(newItem);\r\n }\r\n return ProductCartDetail;\r\n\r\n}\r\n\r\nfunction FindInDetail2( ProductCartDetail:OrderDetailItem[]){\r\n let status: boolean = false;\r\n for (let counter = 0; counter < ProductCartDetail.length; counter++) {\r\n\r\n if (ProductCartDetail[counter].ProductId === ProductDetailItem.ProductId) {\r\n\r\n let quantity: number = +ProductCartDetail[counter].ProductQuantity;\r\n return quantity;\r\n }\r\n }\r\n \r\n return 0;\r\n}\r\nfunction getCurrentQuantity(ProductDetailItem : ProductDetail){\r\n\r\n\r\n\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\r\n \r\n }\r\n \r\n title={ProductDetailItem.ProductName}\r\n \r\n />\r\n \r\n \r\n \r\n \r\n {ProductDetailItem.ProductDescription}\r\n \r\n\r\n {/*
{isOnCart()>0?
\r\n \r\n
-
\r\n
\r\n \r\n Cantidad: {isOnCart()}\r\n \r\n \r\n \r\n
+
\r\n
:<>}\r\n
*/}\r\n\r\n
\r\n
\r\n
\r\n { isOnCart()>0?\r\n \r\n \r\n 0?classes.avatar4:classes.avatar3} >\r\n {isOnCart()}\r\n \r\n \r\n :\r\n 0? classes.avatar4:classes.avatar3} >\r\n {isOnCart()}\r\n \r\n \r\n } \r\n
\r\n
\r\n \r\n Bs.{ProductDetailItem.ProductSalePrice}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CardItem;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nimport Grid from '@material-ui/core/Grid';\r\nimport CardItem from './CardItem'\r\nimport {ProductType, Cart} from '../Models/Models';\r\nimport { fetchViewListProducts } from '../Services/Services'; \r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n width:\"93%\",\r\n marginLeft:\"50px\"\r\n },\r\n root2: {\r\n flexGrow: 1,\r\n width:\"90%\",\r\n marginLeft:\"10px\"\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: 'center',\r\n color: theme.palette.text.secondary,\r\n },\r\n }));\r\n \r\n\r\n\r\ninterface RowProps{\r\n\r\n ProductTypeDetail : ProductType;\r\n SetCurrentCart: Function;\r\n CurrentCart:Cart;\r\n HandleClick : Function;\r\n onlySection:Boolean;\r\n LocalizationId:String;\r\n EmployeeType:String;\r\n\r\n}\r\n\r\nconst Row: React.FC = ({ProductTypeDetail,SetCurrentCart,CurrentCart,HandleClick,onlySection,LocalizationId,EmployeeType}) => {\r\n const classes = useStyles();\r\n\r\n \r\n \r\n let [currentProductList,setCurrentProductList] = useState([]);\r\n\r\n useEffect(() => {\r\n\r\n const getProductTypes = async () => {\r\n console.log()\r\n let List : any = await fetchViewListProducts(ProductTypeDetail.ProductTypeId.toString(),LocalizationId,EmployeeType);\r\n setCurrentProductList(List);\r\n // console.log(\"<-->\",List);\r\n };\r\n \r\n getProductTypes();\r\n \r\n }, [ProductTypeDetail,LocalizationId,EmployeeType]);\r\n\r\n \r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n\r\n \r\n {\r\n currentProductList.length > 0 ?\r\n \r\n

{ProductTypeDetail.ProductTypeName}

\r\n\r\n
\r\n : <>\r\n }\r\n {/* {\r\n currentProductList.length > 0 ?\r\n \r\n

{ProductTypeDetail.ProductTypeDescription}

\r\n
\r\n : <>\r\n } */}\r\n {\r\n currentProductList.length > 0 ?\r\n currentProductList.map((item, index) => {\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\nexport default Row;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Row from '../Components/Row';\r\n//import {ProductType} from '../Models/Models';\r\nimport {fetchViewEmployeeDetail, fetchViewList, fetchViewListCatProducts, fetchViewListEmployeeChilds} from '../Services/Services';\r\nimport { Cart, ClientModel, EmployeeModel, UserModel } from '../Models/Models';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\n// import FooterPage from '../Components/Footer';\r\nimport Divider from '@material-ui/core/Divider/Divider';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Container from '@material-ui/core/Container';\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: 'center',\r\n color: theme.palette.text.secondary,\r\n },\r\n dividerColor:{\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n marginTop:\"20px\",\r\n marginBottom:\"20px\",\r\n \r\n color:'black',\r\n\r\n }, formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 320,\r\n },labelRoot: {\r\n fontSize: 15,\r\n color: \"black\",\r\n \"&$labelFocused\": {\r\n color: \"purple\"\r\n }, marginLeft: \"15px\"\r\n },\r\n }));\r\n\r\n function Alert(props:any) {\r\n return ;\r\n }\r\n\r\n function dropCart() {\r\n let cart: Cart = { UserName: \"Nick\", UserNit: \"11010110\", ProductCartDetail: [] }\r\n sessionStorage.setItem(\"keyName\", JSON.stringify(cart)); \r\n}\r\n\r\n const useStyles2 = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n '& > * + *': {\r\n marginTop: theme.spacing(2),\r\n },\r\n },\r\n }));\r\n \r\n \r\n\r\n interface OrderPageProps{\r\n\r\n SetCurrentCart: Function;\r\n CurrentCart:Cart;\r\n } \r\n \r\n \r\n // const areEqual = (prevProps, nextProps) => true;\r\n\r\n // const MyComponent = React.memo(props => {\r\n // return /*whatever jsx you like */\r\n // }, areEqual);\r\n \r\nconst ProductsPage :React.FC = ({CurrentCart,SetCurrentCart}) => {\r\n\r\n // let cart : Cart ={UserName:\"\" \r\n let [currentProductTypes,setCurrentProductTypes] = useState([]);\r\n let [currentProductTypes2,setCurrentProductTypes2] = useState([]);\r\n const [parentName, setParentName] = useState(\"\");\r\n const [userSelected, setUserSelected] = useState();\r\n let [currentUserLogged, setCurrentUserLogged] = useState();\r\n const [EmployeeList, setEmployeeList] = React.useState();\r\n const [LocalizationId, setLocalizationId] = React.useState(\"\");\r\n const [EmployeeType, setEmployeeType] = React.useState(\"\");\r\n useEffect(() => {\r\n\r\n let cookieUser: any = sessionStorage.getItem(\"user\");\r\n let currentUser: any = JSON.parse(cookieUser);\r\n\r\n if (currentUser !== undefined && currentUser !== null) {\r\n setCurrentUserLogged(currentUser); \r\n \r\n }\r\n\r\n}, []);\r\nuseEffect(() => {\r\n\r\n \r\n}, []);\r\nuseEffect(() => {\r\n\r\n getDataFromUser()\r\n}, []);\r\n\r\nasync function getDataFromUser() {\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n\r\n } else {\r\n let currentUser: UserModel = JSON.parse(guardado ? guardado : \"\");\r\n setCurrentUserLogged(currentUser);\r\n //setParentName(currentUser.UserName.toString());\r\n let currentEmployeee: EmployeeModel = await fetchViewListEmployeeChilds(currentUser.EmployeeId.toString());\r\n setEmployeeList(currentEmployeee);\r\n\r\n }\r\n\r\n}\r\n\r\n // let [currentCart,setCurrentCart] = useState(cart);\r\n\r\n // useEffect(() => {\r\n\r\n // console.log(\"Current Cart-->\",currentCart);\r\n // }, [currentCart]);\r\n\r\n const classes = useStyles();\r\n const classes2 = useStyles2();\r\n const [respon, setRespon] = React.useState(false);\r\n const [open, setOpen] = React.useState(false);\r\n const [cat, setCat] = React.useState(3);\r\n\r\n\r\n const handleClick = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleClose = (event:any, reason:any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n const { height, width } = useWindowDimensions();\r\n\r\n function getWindowDimensions() {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n useEffect(() => {\r\n \r\n if(width<500){\r\n setRespon(true);\r\n }else{setRespon(false);}\r\n },[width]);\r\n\r\n\r\n function useWindowDimensions() {\r\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\r\n \r\n useEffect(() => {\r\n function handleResize() {\r\n setWindowDimensions(getWindowDimensions());\r\n }\r\n \r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n \r\n return windowDimensions;\r\n }\r\n\r\n\r\n useEffect(() => {\r\n\r\n const getProductTypes = async () => {\r\n console.log()\r\n let List : any = await fetchViewListCatProducts()\r\n setCurrentProductTypes(List);\r\n // console.log(\"-->\",List);\r\n };\r\n dropCart();\r\n getProductTypes();\r\n sessionStorage.setItem('parentName', parentName)\r\n }, [parentName]);\r\n\r\n useEffect(() => {\r\n\r\n const getProductTypes = async () => {\r\n console.log()\r\n let List : any = await fetchViewListCatProducts()\r\n setCurrentProductTypes(List);\r\n // console.log(\"-->\",List);\r\n };\r\n \r\n getProductTypes(); \r\n \r\n }, [CurrentCart.ProductCartDetail]);\r\n\r\n const handleChange = (event:any) => {\r\n console.log(\"-->\",event)\r\n setCat(event.target.value);\r\n };\r\n useEffect(() => {\r\n\r\n const getProductTypes = async () => {\r\n console.log()\r\n let List : any = await fetchViewList()\r\n console.log(\"list\",List)\r\n setCurrentProductTypes2(List);\r\n // console.log(\"-->\",List);\r\n };\r\n \r\n getProductTypes();\r\n \r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n const getProductTypes = async () => {\r\n console.log()\r\n let List : any = await fetchViewList()\r\n setCurrentProductTypes2(List);\r\n // console.log(\"-->\",List);\r\n };\r\n \r\n getProductTypes();\r\n \r\n \r\n }, [CurrentCart.ProductCartDetail]);\r\n async function handleChangeUser(e:any)\r\n{\r\n setParentName((e.target as HTMLInputElement).value)\r\n console.log(\"productttt\",((e.target as HTMLInputElement).value));\r\n let List : any = await fetchViewEmployeeDetail((e.target as HTMLInputElement).value)\r\n console.log(\"productttt\",List); \r\n setLocalizationId(List.LocalizationId.toString());\r\n setEmployeeType(List.EmployeeType.toString());\r\n \r\n};\r\n return (\r\n \r\n
\r\n\r\n\r\n

Realiza Tu Pedido

\r\n

\r\n \r\n Referido a:\r\n handleChangeUser(e)}\r\n disableUnderline\r\n style={{ marginLeft: \"20px\", fontSize: \"15px\" }} >\r\n {currentUserLogged?.UserName}\r\n {EmployeeList && EmployeeList.Children.map(m => {\r\n return {m.CompleteName}\r\n })}\r\n \r\n \r\n {/* */}\r\n {!respon&&LocalizationId&&EmployeeType&&parentName!=\"\"&&\r\n currentProductTypes.length > 0 ?\r\n currentProductTypes.map((item, index) => {\r\n return
\r\n }) : <>\r\n }\r\n{respon&&parentName!=\"\"? \r\n \r\n Categorias\r\n \r\n {\r\n currentProductTypes2.length > 0 ?\r\n currentProductTypes2.map((item, index) => {\r\n return {item.ProductTypeName}\r\n\r\n }) : <>\r\n}\r\n \r\n\r\n:<>\r\n}\r\n {respon&&LocalizationId&&EmployeeType&& parentName!=\"\"&&\r\n currentProductTypes2.length > 0 ?\r\n currentProductTypes2.map((item2, index) => {if(item2.ProductTypeId==cat){\r\n return
}\r\n }) : <>\r\n }\r\n\r\n \r\n \r\n Objeto agregado al carrito\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 ProductsPage;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Cart, ClientModel, Order, OrderReceive } from '../Models/Models';\r\nimport { fetchViewListOrdersDetail } from '../Services/Services';\r\nimport Base64 from '../Services/functions';\r\n \r\ninterface OrdersPage {\r\n CurrentCart: Cart;\r\n}\r\n\r\nconst OrdersPage :React.FC= ({CurrentCart}) => {\r\n\r\n let [currentUserLogged,setCurrentUserLogged] = useState();\r\n let [currentOrdersUser,setCurrentOrder] = useState>();\r\n\r\n\r\n \r\n\r\n const [total, settotal] = useState(0); \r\n\r\n const CryptoJS = require('crypto-js');\r\n\r\n function encrypt(text:string){\r\n return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text));\r\n };\r\n \r\n function decrypt(text:string) {\r\n return CryptoJS.enc.Base64.parse(text).toString(CryptoJS.enc.Utf8);\r\n };\r\n\r\n useEffect(() => {\r\n \r\n let cookieUser:any = sessionStorage.getItem(\"user\");\r\n console.log(\"cookieUser\",cookieUser);\r\n let currentUser:ClientModel = JSON.parse(cookieUser);\r\n console.log(\"currentUser\",currentUser);\r\n if(currentUser!== undefined && currentUser!== null ){\r\n setCurrentUserLogged(currentUser);\r\n getOrderDetail();\r\n\r\n }else{\r\n \r\n }\r\n \r\n \r\n // let currentOrder:Order = JSON.parse(cookieUser);\r\n\r\n\r\n \r\n }, [CurrentCart]);\r\n\r\n\r\n function reload(){\r\n let cookieUser:any = sessionStorage.getItem(\"user\");\r\n console.log(\"cookieUser\",cookieUser);\r\n let currentUser:ClientModel = JSON.parse(cookieUser);\r\n console.log(\"currentUser\",currentUser);\r\n if(currentUser!== undefined && currentUser!== null ){\r\n setCurrentUserLogged(currentUser);\r\n getOrderDetail();\r\n\r\n }else{\r\n \r\n }\r\n \r\n }\r\n async function getOrderDetail(){\r\n let cookieUser:any = sessionStorage.getItem(\"user\");\r\n let currentUser:any = JSON.parse(cookieUser);\r\n console.log(\"currentUser\",currentUser);\r\n if(currentUser!== undefined && currentUser!== null ){\r\n let order : Array = await fetchViewListOrdersDetail(currentUser.EmployeeId)\r\n console.log(\"order\",order)\r\n if(order)\r\n setCurrentOrder(order)\r\n }else{\r\n \r\n }\r\n\r\n}\r\n \r\n function totalOrder(order :OrderReceive){\r\n let aux :any = 0;\r\n // for(let i of order.items){\r\n\r\n // aux = aux+ (+i.ProductSalePrice*+i.ProductQuantity);\r\n // } \r\n return aux;\r\n }\r\n function totalQuantity(order:OrderReceive){\r\n let aux :any = 0;\r\n // for(let i of order.items){\r\n\r\n // aux = aux+ (i.ProductQuantity);\r\n // } \r\n return aux;\r\n }\r\n\r\n \r\n\r\n return (\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n

Historial de Pedidos

\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 currentOrdersUser? currentOrdersUser.map((item, index) => {\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
Order IDCantidadEstatusFechaTotal
{item.OrderNum}{totalQuantity(item)}{item.State}{item.OrderDate}Bs. {item.Total}
\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 OrdersPage;","import React, { useEffect, useState } from 'react';\r\n\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport FormLabel from '@material-ui/core/FormLabel';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\n\r\nimport { Cart, OrderDetailItem, OrderDetail, Order, ClientModel, EmployeeModel, UserModel } from '../Models/Models';\r\nimport { cloneDeep } from 'lodash';\r\n// import { fetchViewList8, fetchViewListChange, SendOrder2 } from '../Services/Services';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { fetchViewListEmployeeChilds, SendOrder2 } from '../Services/Services';\r\n\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport '../Styles/tableStyles.css';\r\nimport Modal from '@material-ui/core/Modal';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '30%',\r\n '& > * + *': {\r\n marginTop: theme.spacing(2),\r\n }\r\n }, labelRoot: {\r\n fontSize: 15,\r\n color: \"black\",\r\n \"&$labelFocused\": {\r\n color: \"purple\"\r\n }, marginLeft: \"15px\"\r\n }, paper: {\r\n position: 'absolute',\r\n width: 450,\r\n backgroundColor: theme.palette.background.paper,\r\n boxShadow: theme.shadows[5],\r\n padding: theme.spacing(2, 4, 3),\r\n },\r\n paper2: {\r\n position: 'absolute',\r\n width: 300,\r\n backgroundColor: theme.palette.background.paper,\r\n border: '2px solid #000',\r\n boxShadow: theme.shadows[5],\r\n padding: theme.spacing(2, 4, 3),\r\n },\r\n}));\r\ninterface CheckoutProps {\r\n CurrentCart: Cart;\r\n SetCurrentCart: Function;\r\n}\r\nfunction getModalStyle() {\r\n const top = 50 + rand();\r\n const left = 50 + rand();\r\n return {\r\n top: `${top}%`,\r\n left: `${left}%`,\r\n transform: `translate(-${top}%, -${left}%)`,\r\n\r\n };\r\n}\r\nfunction rand() {\r\n return 0;\r\n}\r\nconst CheckoutPage: React.FC = ({ CurrentCart, SetCurrentCart }) => {\r\n let DrawCart: Cart = { UserName: \"\", UserNit: \"\", ProductCartDetail: [] }\r\n\r\n const classes = useStyles();\r\n var oldCart: Cart = { UserName: \"\", UserNit: \"\", ProductCartDetail: [] };\r\n let [currentCart, setCurrentCart] = useState(DrawCart);\r\n let [counter, setCounter] = useState(0);\r\n let [currentOrder, setCurrentOrder] = useState();\r\n let [cellphone, setCellphone] = useState('');\r\n const [valueUserAccount, setValueUserAccount] = React.useState('Registrar cuenta');\r\n const [valuePaymentMethod, setValuePaymentMethod] = React.useState('Transferencia bancaria');\r\n let [currentUserLogged, setCurrentUserLogged] = useState();\r\n const [city, setCity] = useState('Cochabamba');\r\n const [fullName, setFullName] = useState('');\r\n const [address, setAddress] = useState('');\r\n const [billName, setBillName] = useState('');\r\n const [billNit, setBillNit] = useState('');\r\n const [observaciones, setObservaciones] = useState('');\r\n const [orderNumber, setOrderNumber] = React.useState(0);\r\n const [openCheckBox1, setOpenCheckBox1] = React.useState(false);\r\n const [openCheckBoxError, setOpenCheckBoxError] = React.useState(false);\r\n const [openCheckBoxData, setOpenCheckBoxData] = React.useState(false);\r\n const [openCheckBoxUser, setOpenCheckBoxUser] = React.useState(false);\r\n\r\n const [parentNamee, setParentName] = useState(\"\");\r\n const [modalStyle] = React.useState(getModalStyle);\r\n const [openModal, setOpenModal] = React.useState(false);\r\n\r\n const handleOpenModal = () => {\r\n setOpenModal(true);\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setView('inicio')\r\n setOpenModal(false);\r\n };\r\n\r\n const [EmployeeList, setEmployeeList] = React.useState();\r\n\r\n const handleChangePaymentMethod = (event: any) => {\r\n setValuePaymentMethod(event.target.value);\r\n };\r\n const handleChangeUserAccount = (event: any) => {\r\n setValueUserAccount(event.target.value);\r\n };\r\n const [checked, setChecked] = React.useState(true);\r\n\r\n const handleChange = (event: any) => {\r\n setChecked(event.target.checked);\r\n };\r\n const CryptoJS = require('crypto-js');\r\n //let { Id } = useParams();\r\n useEffect(() => {\r\n\r\n\r\n sendOrder(CurrentCart);\r\n }, [CurrentCart]);\r\n\r\n const handleClick1 = () => {\r\n setOpenCheckBox1(true);\r\n };\r\n\r\n const handleClose1 = (event: any, reason: any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpenCheckBox1(false);\r\n };\r\n\r\n function setView(value: any) {\r\n\r\n \r\n sessionStorage.setItem('currentView', value);\r\n \r\n }\r\n const handleClickError = () => {\r\n setOpenCheckBoxError(true);\r\n };\r\n\r\n const handleCloseError = (event: any, reason: any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpenCheckBoxError(false);\r\n };\r\n\r\n const handleClickData = () => {\r\n setOpenCheckBoxData(true);\r\n };\r\n\r\n const handleClickUser = () => {\r\n setOpenCheckBoxUser(true);\r\n };\r\n\r\n const handleCloseData = (event: any, reason: any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpenCheckBoxData(false);\r\n };\r\n const handleCloseUser = (event: any, reason: any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpenCheckBoxUser(false);\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n var guardado = sessionStorage.getItem('keyName');\r\n\r\n if (guardado != null) {\r\n oldCart = JSON.parse(guardado);\r\n DrawCart = cloneDeep(oldCart)\r\n // Current/Cart=(oldCart);\r\n\r\n } else {\r\n DrawCart = cloneDeep(CurrentCart);\r\n }\r\n });\r\n useEffect(() => {\r\n\r\n\r\n setCurrentCart(DrawCart);\r\n }, []);\r\n useEffect(() => {\r\n\r\n SetCurrentCart(DrawCart);\r\n //CurrentCart = oldCart;\r\n setCurrentCart(DrawCart);\r\n\r\n }, [counter]);\r\n\r\n function large(){\r\n let width = window.innerWidth;\r\n return width>768;\r\n\r\n }\r\n useEffect(() => {\r\n\r\n let cookieUser: any = sessionStorage.getItem(\"user\");\r\n let currentUser: any = JSON.parse(cookieUser);\r\n\r\n if (currentUser !== undefined && currentUser !== null) {\r\n setCurrentUserLogged(currentUser);\r\n\r\n setFullName(currentUser.ClientFirstName + \" \" + currentUser.ClientLastName1 + \" \" + currentUser.ClientLastName2)\r\n\r\n console.log(\"currentUser\", currentUser)\r\n setAddress(currentUser.ClientAddress ? currentUser.ClientAddress.toString() : \"\");\r\n setBillName(currentUser.ClientName ? currentUser.ClientName.toString() : \"\");\r\n setBillNit(currentUser.ClientNIT ? currentUser.ClientNIT.toString() : \"\");\r\n\r\n\r\n \r\n // setAddress(currentUser?.ClientAddress ? currentUser?.ClientAddress.toString() : \"\");\r\n // setBillName(currentUser?.ClientName ? currentUser?.ClientName.toString() : \"\");\r\n // setBillNit(currentUser?.ClientNIT ? currentUser?.ClientNIT.toString() : \"\");\r\n setCellphone(currentUser.ClientCelularPhone ? currentUser.ClientCelularPhone.toString() : \"\")\r\n }\r\n\r\n }, []);\r\n\r\n function isUserlogged(): boolean {\r\n\r\n\r\n let currentUser: any = sessionStorage.getItem(\"user\");\r\n\r\n\r\n if (currentUser == null) {\r\n\r\n return false\r\n }\r\n\r\n else { return true; }\r\n }\r\n\r\n function GetCurrentImage(productCart: OrderDetailItem) {\r\n\r\n let currentImage: string = productCart.ProductImage.toString();\r\n return currentImage;\r\n // var http = new XMLHttpRequest();\r\n // try {\r\n\r\n // http.open('HEAD', currentImage, false);\r\n // http.send();\r\n\r\n // if (http.status === 404) {\r\n\r\n // return \"/no-image.png\";\r\n // }\r\n // return currentImage;\r\n // } catch (e) {\r\n\r\n // return \"/no-image.png\";\r\n // }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n\r\n getDataFromUser()\r\n }, []);\r\n\r\n async function getDataFromUser() {\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n\r\n } else {\r\n let currentUser: UserModel = JSON.parse(guardado ? guardado : \"\");\r\n setCurrentUserLogged(currentUser);\r\n //setParentName(currentUser.UserName.toString());\r\n let currentEmployeee: EmployeeModel = await fetchViewListEmployeeChilds(currentUser.EmployeeId.toString());\r\n setEmployeeList(currentEmployeee);\r\n\r\n }\r\n\r\n }\r\n\r\n function DropCartItem(productCart: OrderDetailItem) {\r\n\r\n setCounter(counter + 1)\r\n\r\n let oldCart: Cart = CurrentCart as Cart;\r\n let oldCartDetail: OrderDetailItem[] = [];\r\n\r\n if (CurrentCart && CurrentCart.ProductCartDetail) {\r\n for (let i = 0; i < CurrentCart.ProductCartDetail.length; i++) {\r\n\r\n if (CurrentCart.ProductCartDetail[i].ProductId !== productCart.ProductId) {\r\n oldCartDetail.push(CurrentCart.ProductCartDetail[i]);\r\n }\r\n }\r\n oldCart.ProductCartDetail = cloneDeep(oldCartDetail);\r\n\r\n SetCurrentCart(oldCart);\r\n //CurrentCart = oldCart;\r\n setCurrentCart(oldCart);\r\n sessionStorage.setItem(\"keyName\", JSON.stringify(oldCart));\r\n DrawCart = cloneDeep(oldCart);\r\n }\r\n\r\n\r\n }\r\n async function SendClientorder() {\r\n\r\n let parentNameAux= sessionStorage.getItem('parentName')\r\n \r\n\r\n console.log(parentNamee)\r\n\r\n\r\n var d = new Date();\r\n\r\n let currentUser: any = sessionStorage.getItem(\"user\");\r\n let currentUserModel: ClientModel;\r\n\r\n \r\n\r\n if (currentUser !== null && currentUser !== undefined) {\r\n if (currentOrder != undefined) {\r\n let actualOrder: Order = {\r\n address: \"\",\r\n billName: \"\",\r\n billNit: \"\",\r\n branchId: 1,\r\n clientId: parentNameAux?+parentNameAux:0,\r\n // clientId: parentNameAux?.toString()?+parentNameAux.toString():0,\r\n code: \"PEDIDO\",\r\n items: currentOrder.items,\r\n latitude: 0,\r\n longitude: 0,\r\n observation: observaciones,\r\n scheduledDate: d,\r\n state: \"\",\r\n tableId: 0,\r\n type: \"\",\r\n userId: 1\r\n\r\n\r\n }\r\n console.log(\"oirder setted\")\r\n\r\n console.log(\"oirder setted\", actualOrder)\r\n let orderNum: any = await SendOrder2(actualOrder);\r\n setOrderNumber(orderNum);\r\n console.log(\"orderNum\", orderNum)\r\n setCurrentOrder(actualOrder);\r\n handleOpenModal();\r\n currentUserModel = JSON.parse(currentUser);\r\n dropCart();\r\n // sendOrderDetail(actualOrder);\r\n // handleClick1();\r\n\r\n }\r\n\r\n\r\n\r\n } else {\r\n // handleClickUser();\r\n }\r\n\r\n\r\n\r\n \r\n \r\n }\r\n\r\n function sendOrder(orderCart: Cart) {\r\n let currentUser: any = sessionStorage.getItem(\"user\");\r\n let currentUserModel: ClientModel;\r\n if (currentUser !== null && currentUser !== undefined) {\r\n currentUserModel = JSON.parse(currentUser);\r\n }\r\n let order: Order = {\r\n tableId: 0,\r\n clientId: 2,\r\n branchId: 1,\r\n userId: 1,\r\n scheduledDate: null,\r\n observation: \"\",\r\n code: \"PEDIDO\",\r\n type: \"PEDIDO\",\r\n latitude: 0,\r\n longitude: 0,\r\n items: [],\r\n state: \"ENVIADO\",\r\n billName: \"\",\r\n billNit: \"\",\r\n address: \"\"\r\n }\r\n function addToOrder(cartElement: OrderDetailItem, actualOrder: Order) {\r\n let newOrderToAdd: OrderDetail = {\r\n branchId: actualOrder.branchId,\r\n productId: cartElement.ProductId,\r\n name: cartElement.ProductName,\r\n price: cartElement.ProductSalePrice,\r\n quantity: cartElement.ProductQuantity,\r\n imageUrl: cartElement.ProductImage,\r\n observation: \"\"\r\n }\r\n actualOrder.items.push(newOrderToAdd);\r\n }\r\n if (orderCart && orderCart.ProductCartDetail) {\r\n if (orderCart.ProductCartDetail.length > 0) {\r\n orderCart.ProductCartDetail.forEach(orderElement => addToOrder(orderElement, order));\r\n }\r\n setCurrentOrder(order);\r\n }\r\n\r\n\r\n }\r\n function getData(){\r\n var currentTime = new Date();\r\n return currentTime.toString();\r\n }\r\n function encrypt(text: string) {\r\n return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text));\r\n };\r\n // const sendOrderDetail = async (currentOrder1:Order) => {\r\n // if (currentOrder != undefined){\r\n // let orderNum : any = await SendOrder2(currentOrder1);\r\n // console.log(\"->\",orderNum);\r\n // dropCart();\r\n\r\n\r\n // let client: ClientModel = {\r\n // id: currentUserLogged.ClientId,\r\n // firstName: currentUserLogged.ClientFirstName,\r\n // lastName1: currentUserLogged.ClientLastName1,\r\n // lastName2: currentUserLogged.ClientLastName2,\r\n // email: currentUserLogged.ClientEmail,\r\n // address: currentUserLogged.ClientAddress,\r\n // latitude: 0,\r\n // longitude: 0,\r\n // mobile: currentUserLogged.ClientCelularPhone,\r\n // name: currentUserLogged.ClientFirstName,\r\n // password: currentUserLogged.ClientPassword,\r\n // phone: currentUserLogged.ClientPhone,\r\n // ciudad: currentUserLogged.ClientNationality,\r\n // billName: billName,\r\n // billNit: billNit,\r\n // documentNumber: currentUserLogged.ClientDocumentNumber,\r\n // localizationId: 1,\r\n // observaciones: observaciones,\r\n // parentId: 0,\r\n // tipo: \"\"\r\n // }\r\n // await fetchViewListChange(client);\r\n\r\n // let result : string = await fetchViewListChange(client);\r\n // console.log(\"clientttttttttttt\",result)\r\n\r\n\r\n\r\n // let userResult : any = await fetchViewList8(client.email,client.password?client.password:\"\")\r\n // if(userResult!==null && userResult!= undefined){\r\n // console.log(\"userResult\",userResult)\r\n // let user :ClientModel = userResult.client;\r\n\r\n\r\n\r\n // sessionStorage.setItem(\"user\", JSON.stringify(user)); \r\n\r\n // }\r\n\r\n\r\n\r\n\r\n\r\n\r\n // }\r\n\r\n // }\r\n // async function sendOrderDetail() {\r\n // if (currentOrder != undefined)\r\n // let orderNum : any = await SendOrder2(currentOrder);\r\n // // console.log(\"-->\",SendOrder2(currentOrder));\r\n // }\r\n\r\n function dropCart() {\r\n let cart: Cart = { UserName: \"Nick\", UserNit: \"11010110\", ProductCartDetail: [] }\r\n sessionStorage.setItem(\"keyName\", JSON.stringify(cart));\r\n SetCurrentCart(cart);\r\n }\r\n\r\n function Alert(props: any) {\r\n return ;\r\n }\r\n function iniciarSesion() {\r\n // history.push(\"/login\");\r\n sessionStorage.setItem('fromCheckout', 'true');\r\n }\r\n\r\n function crearCuenta() {\r\n // history.push(\"/register\");\r\n sessionStorage.setItem('fromCheckout', 'true');\r\n }\r\n\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

Confirmar Datos

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

Carrito de Compras

\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {\r\n large()? \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 CurrentCart.ProductCartDetail && CurrentCart.ProductCartDetail.length > 0 ?\r\n CurrentCart.ProductCartDetail.map((item, index) => {\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
ImagenNombre del ProductoCantidadPrecio UnitarioSubTotal
\"\"{item.ProductName}
\r\n \r\n \r\n\r\n \r\n
{item.ProductSalePrice} Bs.{+item.ProductSalePrice * +item.ProductQuantity} Bs.
\r\n
Total:
\r\n
{currentOrder?.items.reduce((a, b) => +a + +(+b[\"price\"] * +b[\"quantity\"] || 0), 0)}Bs.
\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 CurrentCart.ProductCartDetail && CurrentCart.ProductCartDetail.length > 0 ?\r\n CurrentCart.ProductCartDetail.map((item, index) => {\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
ImagenNombre del ProductoCantidadPrecio UnitarioTotal
\"\"{item.ProductName}
\r\n \r\n \r\n\r\n \r\n
{item.ProductSalePrice} Bs.{+item.ProductSalePrice * +item.ProductQuantity} Bs.
Total:{currentOrder?.items.reduce((a, b) => +a + +(+b[\"price\"] * +b[\"quantity\"] || 0), 0)}Bs.
*/}\r\n\r\n
\r\n{/* \r\n \r\n Referido a:\r\n setParentName((e.target as HTMLInputElement).value)}\r\n disableUnderline\r\n style={{ marginLeft: \"20px\", fontSize: \"15px\" }}\r\n\r\n >\r\n {currentUserLogged?.UserName}\r\n {EmployeeList && EmployeeList.Children.map(m => {\r\n return {m.CompleteName}\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

Método de pago

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

Por favor seleccionar un método de pago.

\r\n \r\n \r\n } label={Transferencia bancaria} />\r\n } label={Pagos por Click Pay} />\r\n } label={Pagos por QR} />\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 {/* - {parentName} - */}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Orden registrada\r\n \r\n \r\n \r\n \r\n Por favor acepte los términos & condiciones\r\n \r\n \r\n \r\n \r\n Por favor seleccione un usuario referido\r\n \r\n \r\n \r\n \r\n Por favor inicie sesión o se registre como nuevo usuario\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

Resumen de compra

\r\n

\r\n Id de orden: {orderNumber}\r\n

\r\n

\r\n fecha: {getData()}\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 CheckoutPage;\r\n","import React, { useEffect, useState } from 'react';\r\nimport ReactPlayer from \"react-player\"\r\nimport WhatsAppIcon from '@material-ui/icons/WhatsApp';\r\nimport InstagramIcon from '@material-ui/icons/Instagram';\r\nimport FacebookIcon from '@material-ui/icons/Facebook';\r\nimport { UserModel } from '../Models/Models';\r\nconst HomePage: React.FC = () => {\r\n\r\n\r\n const [currentUser, setCurrentUser] = useState();\r\n const [isLogged, setIsLogged] = useState(false);\r\n const [respon, setRespon] = useState(false);\r\n\r\n\r\n\r\n useEffect(() => {\r\n let cookieUser: any = sessionStorage.getItem(\"user\");\r\n let currentUserlogged: UserModel = JSON.parse(cookieUser);\r\n\r\n if (currentUserlogged) {\r\n\r\n setIsLogged(true);\r\n }\r\n\r\n\r\n }, []);\r\n\r\n function setView(value: any) {\r\n\r\n\r\n sessionStorage.setItem('currentView', value);\r\n\r\n }\r\n\r\n\r\n function myFunction2(value: any) {\r\n sessionStorage.setItem(\"cart\", value)\r\n }\r\n function myFunction3(value: any) {\r\n\r\n myFunction2(value)\r\n var aux = sessionStorage.getItem(\"cart2\");\r\n if (aux == undefined || aux == null || aux == \"unhover\") {\r\n sessionStorage.setItem(\"cart2\", value)\r\n\r\n } else if (aux == \"hover\") { sessionStorage.setItem(\"cart2\", \"unhover\") }\r\n else { { sessionStorage.setItem(\"cart2\", \"unhover\") } }\r\n\r\n }\r\n // background:'url(../img/Fondo.jpg)',\r\n // background-size:cover,\r\n\r\n // background-attachment: fixed,\r\n // background-position: 0% 20%,\r\n // padding: 280px 0 450px 0,\r\n // position: relative\r\n\r\n const { height, width } = useWindowDimensions();\r\n\r\n function getWindowDimensions() {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n useEffect(() => {\r\n\r\n if (width < 767) {\r\n setRespon(true);\r\n } else { setRespon(false); }\r\n }, [width]);\r\n\r\n function useWindowDimensions() {\r\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWindowDimensions(getWindowDimensions());\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n return windowDimensions;\r\n }\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Bienvenido a tu portal web Montecristo

\r\n {isLogged ?

Sigamos creciendo juntos!

: <>}\r\n {isLogged ? <> : \r\n { myFunction3('hover') }} >Iniciar Sesión\r\n \r\n }\r\n

\r\n {isLogged ? <> : \r\n Mas de Montecristo\r\n }\r\n\r\n {/*

Sigamos creciendo juntos!

\r\n \r\n { setView('productos') }}>Productos */}\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

Nuevo portal web para promotores!

\r\n

Descubre todas las herramientas de la nueva web para promotores en este video tutorial.\r\nEsta página te permitirá estar informado y realizar las actividades diarias como promotor Montecristo de forma digital.

\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

Realiza tu pedido disfrutando de un 30% de descuento.

\r\n {/*

Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Fusce\r\n dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\r\n

*/}\r\n {/*

Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Fusce\r\n dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\r\n

\r\n

Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Fusce\r\n dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\r\n

*/}\r\n { setView('productos') }}>Productos\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Nuestros Servicios

\r\n {/*

Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the\r\n blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics

*/}\r\n
\r\n
\r\n
\r\n
{ setView('reportes') }}>\r\n
\r\n \"IMG\"\r\n

Reporte de Ventas

\r\n

Conoce tus compras personales acumuladas por mes y año de tu red.

\r\n
\r\n
\r\n
{ setView('reportes') }}>\r\n
\r\n \"IMG\"\r\n

Tu red

\r\n

Conoce las compras de tu red y la actividad de todos tus niveles.

\r\n
\r\n
\r\n
{ setView('registro') }}>\r\n
\r\n \"IMG\"\r\n

Registro de Promotores

\r\n

Registra tus promotores para agilizar la inscripción de los mismos.

\r\n
\r\n
\r\n
{ setView('registro') }}>\r\n
\r\n \"IMG\"\r\n

Registro de Clientes

\r\n

Registra clientes referidos que se habiliten automáticamente para que puedas ingresarles un pedido.

\r\n
\r\n
\r\n
{ setView('reportes') }}>\r\n
\r\n \"IMG\"\r\n

Billetera Montecristo

\r\n

Verifica los abonos y retiros mensuales de billetera Montecristo a tu cuenta digital.

\r\n
\r\n
\r\n
{ setView('productos') }}>\r\n
\r\n \"IMG\"\r\n

Pedidos

\r\n

realiza tus pedidos desde cualquier departamentos de Bolivia, también puedes pedir para unos de tus referidos.

\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

Comunícate con atención al cliente si tienes alguna duda de cómo utilizar esta herramienta.

\r\n {/*

Read more about what we do and our philosophy of design. Judge for yourself The work and results we’ve\r\n achieved for other clients, and meet our highly experienced Team who just love to design.

*/}\r\n \r\n {/* Tell Us Your Story */}\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

Copyright © Crafted by Dcrazed.

\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/*
\r\n
\r\n
\r\n
\r\n

Fun Facts About Us

\r\n

Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the\r\n blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n

    20000

    \r\n Cups Of Coffee\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n

    20000

    \r\n Cups Of Coffee\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n

    20000

    \r\n Cups Of Coffee\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n

    20000

    \r\n Cups Of Coffee\r\n
    \r\n
  • \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"IMG\"/\r\n

\"This Company created an e-commerce site with the tools to make our business a success, with\r\n innovative ideas we feel that our site has unique elements that make us stand out from the crowd.\"

\r\n
\r\n \"Pepole\"/\r\n

Rose Ray CEO

\r\n
\r\n
\r\n
\r\n \"IMG\"/\r\n

\"This Company created an e-commerce site with the tools to make our business a success, with\r\n innovative ideas we feel that our site has unique elements that make us stand out from the crowd.\"

\r\n
\r\n \"Pepole\"/\r\n

Rose Ray CEO

\r\n
\r\n
\r\n
\r\n \"IMG\"/\r\n

\"This Company created an e-commerce site with the tools to make our business a success, with\r\n innovative ideas we feel that our site has unique elements that make us stand out from the crowd.\"

\r\n
\r\n \"Pepole\"/\r\n

Rose Ray CEO

\r\n
\r\n
\r\n
\r\n \"IMG\"/\r\n

\"This Company created an e-commerce site with the tools to make our business a success, with\r\n innovative ideas we feel that our site has unique elements that make us stand out from the crowd.\"

\r\n
\r\n \"Pepole\"/\r\n

Rose Ray CEO

\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 HomePage;\r\n","import React, { useState } from 'react';\r\n\r\nimport './App.css';\r\nimport LoginForm from './Components/LoginForm';\r\nimport ReportsPage from './Pages/ReportsPage';\r\nimport RegisterPage from './Pages/RegisterPage';\r\nimport ProductsPage from './Pages/ProductsPage';\r\nimport { Cart } from './Models/Models';\r\nimport OrdersPage from './Pages/OrdersPage';\r\nimport CheckoutPage from './Pages/CheckoutPage';\r\nimport HomePage from './Pages/HomePage';\r\nconst App2 :React.FC= () => {\r\n let cart : Cart ={UserName:\"Nick\",UserNit:\"11010110\",ProductCartDetail:[]}\r\n const [currentState,setCurrentState] = useState(\"\");\r\n let [currentCart,setCurrentCart] = useState(cart);\r\n \r\n\r\n\r\n setInterval(function(){\r\n var modalValue = sessionStorage.getItem( 'currentView' );\r\n\r\n if( modalValue ){\r\n // use the value\r\n // remove the value when you are done so that this code doesn't run every time\r\n setCurrentState(modalValue)\r\n // sessionStorage.setItem( 'key', modalValue );\r\n }else{\r\n setCurrentState(\"inicio\")\r\n\r\n }\r\n}, 100 );\r\n return (\r\n
\r\n \r\n {/* */}\r\n {currentState==\"inicio\"?\r\n :<> } \r\n {currentState==\"reportes\"?\r\n :<> } \r\n {currentState==\"registro\"?\r\n :<> } \r\n\r\n{currentState==\"productos\"?\r\n :<> } \r\n{currentState==\"pedidos\"?\r\n :<> } \r\n{currentState==\"check\"?\r\n :<> } \r\n\r\n
\r\n );\r\n}\r\n\r\nexport default App2;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n process.env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import cloneDeep from 'lodash/cloneDeep';\r\nimport React, { useEffect, useState } from 'react';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\n\r\nimport '../Styles/AppNavBar.css';\r\nimport { Cart, OrderDetailItem } from '../Models/Models';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\n\r\nfunction Alert(props:any) {\r\n return ;\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n '& > * + *': {\r\n marginTop: theme.spacing(2),\r\n },\r\n },\r\n}));\r\n\r\n\r\n\r\ninterface AppNavBarCartProps {\r\n CurrentCart:Cart;\r\n SetCurrentCart:Function;\r\n}\r\n\r\n\r\nconst AppNavBarCart: React.FC = ({CurrentCart,SetCurrentCart}) => {\r\n\r\n\r\n let DrawCart : Cart = {UserName:\"\",UserNit:\"\",ProductCartDetail:[]}\r\n var oldCart:Cart={UserName:\"\",UserNit:\"\",ProductCartDetail:[]};\r\n let [currentCart,setCurrentCart] = useState(DrawCart);\r\n let [counter,setCounter] = useState(0);\r\n\r\n\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const handleClick = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleClose = (event:any, reason:any) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n var guardado = sessionStorage.getItem('keyName');\r\n console.log(\"AppCurrent Cart Recuperado-->\",guardado);\r\n if(guardado!=null){\r\n oldCart = JSON.parse(guardado);\r\n DrawCart = cloneDeep(oldCart)\r\n // Current/Cart=(oldCart);\r\n console.log(\"seteado\");\r\n }else{\r\n DrawCart = cloneDeep(CurrentCart);\r\n \r\n console.log(\"Cart-->\",CurrentCart);\r\n console.log(\"Drwa Cart-->\",DrawCart);\r\n }\r\n\r\n\r\n } );\r\n\r\n useEffect(() => {\r\n\r\n var guardado = sessionStorage.getItem('keyName');\r\n console.log(\"callingthis mwthos--\",guardado);\r\n if(guardado!=null){\r\n oldCart = JSON.parse(guardado);\r\n DrawCart = cloneDeep(oldCart)\r\n setCurrentCart(DrawCart);\r\n // Current/Cart=(oldCart);\r\n console.log(\"seteado\");\r\n }else{\r\n DrawCart = cloneDeep(CurrentCart);\r\n \r\n console.log(\"Cart-->\",CurrentCart);\r\n console.log(\"Drwa Cart-->\",DrawCart);\r\n }\r\n\r\n\r\n},[CurrentCart] );\r\n\r\n\r\n useEffect(() => {\r\n \r\n console.log(\"Cart-->\",CurrentCart);\r\n console.log(\"Drwa Cart-->\",DrawCart);\r\n setCurrentCart(DrawCart);\r\n } ,[]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n \r\n console.log(\"counter\",counter);\r\n\r\n SetCurrentCart(DrawCart);\r\n \r\n setCurrentCart(DrawCart);\r\n\r\n } ,[counter]);\r\n\r\n \r\n \r\n function GetCurrentImage(productCart:OrderDetailItem){\r\n\r\n let currentImage: string = productCart.ProductImage.toString();\r\n return currentImage;\r\n // var http = new XMLHttpRequest();\r\n // try{\r\n \r\n // http.open('HEAD', currentImage, false);\r\n // http.send();\r\n \r\n // if(http.status===404){\r\n \r\n // return \"/no-image.png\";\r\n // }\r\n // return currentImage;\r\n // }catch( e){\r\n \r\n // return \"/no-image.png\";\r\n \r\n // }\r\n }\r\n function DropCartItem(productCart:OrderDetailItem){\r\n\r\n setCounter(counter+1)\r\n console.log(\"dropde\",productCart)\r\n let oldCart:Cart = CurrentCart as Cart;\r\n let oldCartDetail:OrderDetailItem[] = [];\r\n\r\n // console.log(\"oldCARRRRTTTT\",oldCart)\r\n // console.log(\"droped item\",productCart)\r\n for(let i =0 ; i\r\n {\r\n currentCart.ProductCartDetail.length > 0 ?\r\n currentCart.ProductCartDetail.map((item, index) => {\r\n return
\r\n
\r\n \"\"\r\n
\r\n
\r\n

{item.ProductName}

\r\n Bs. {item.ProductSalePrice} P/U Cantidad:{item.ProductQuantity}\r\n\r\n {/* { DropCartItem(item) }}> icon-trash\r\n */}\r\n\r\n { DropCartItem(item) }} className=\"fa fa-trash cart-icon2 icon-text\" style={{\"float\":\"right\" }} aria-hidden=\"true\">\r\n \r\n\r\n {/* { DropCartItem(item) }} className=\"fa fa-trash cart-icon2\" aria-hidden=\"true\"> */}\r\n {/* */}\r\n
\r\n
\r\n }) : <>\r\n }\r\n\r\n \r\n \r\n Objeto quitado del carrito\r\n \r\n \r\n\r\n )\r\n\r\n\r\n}\r\n\r\nexport default AppNavBarCart;\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport CardItem from './CardItem'\r\nimport { ProductType, Cart, UserModel } from '../Models/Models';\r\nimport { fetchViewListProducts } from '../Services/Services';\r\nimport AppNavBarCart from './AppNavBarCart';\r\nimport \"../Styles/Header.css\";\r\n\r\ninterface AppNavBarProps {\r\n CurrentCart: Cart;\r\n SetCurrentCart: Function;\r\n\r\n}\r\n\r\nconst HeaderComponent: React.FC = ({ CurrentCart, SetCurrentCart }) => {\r\n const [isVisible, setIsVisible] = React.useState(false);\r\n const [isVisible2, setIsVisible2] = React.useState(false);\r\n const [cantidad, setCantidad] = React.useState(0);\r\n const [respon, setRespon] = React.useState(false);\r\n function setView(value: any) {\r\n\r\n // if (value == \"reportes\") {\r\n // document.getElementById(\"slider\").hidden = true;\r\n // } if (value == \"inicio\") {\r\n // document.getElementById(\"slider\").hidden = false;\r\n // }\r\n sessionStorage.setItem('currentView', value);\r\n\r\n }\r\n\r\n\r\n function closeSesion() {\r\n sessionStorage.removeItem('user');\r\n\r\n window.location.reload();\r\n setView('');\r\n dropCart();\r\n };\r\n\r\n function GetCartStatus() {\r\n let counter = 0;\r\n for (let i = 0; i < CurrentCart.ProductCartDetail.length; i++) {\r\n counter += +CurrentCart.ProductCartDetail[i].ProductQuantity;\r\n }\r\n return counter;\r\n }\r\n function ShowChart() {\r\n\r\n // use the value\r\n // remove the value when you are done so that this code doesn't run every time\r\n if (isVisible2 == false) { setIsVisible2(true) } else { setIsVisible2(false) }\r\n\r\n\r\n // sessionStorage.setItem( 'key', modalValue );\r\n\r\n\r\n }\r\n\r\n function GetCartTotal() {\r\n let total = 0;\r\n for (let i = 0; i < CurrentCart.ProductCartDetail.length; i++) {\r\n\r\n total += +CurrentCart.ProductCartDetail[i].ProductQuantity * +CurrentCart.ProductCartDetail[i].ProductSalePrice;\r\n }\r\n return total;\r\n }\r\n function goCheckout() {\r\n ShowChart();\r\n\r\n let cookieUser: any = sessionStorage.getItem(\"user\");\r\n let currentUserlogged: UserModel = JSON.parse(cookieUser);\r\n\r\n if (currentUserlogged) {\r\n sessionStorage.setItem('currentView', 'check')\r\n \r\n }else{\r\n myFunction3('hover')\r\n\r\n }\r\n }\r\n\r\n \r\n function dropCart() {\r\n let cart: Cart = { UserName: \"Nick\", UserNit: \"11010110\", ProductCartDetail: [] }\r\n sessionStorage.setItem(\"keyName\", JSON.stringify(cart));\r\n SetCurrentCart(cart);\r\n }\r\n\r\n function myFunction2(value: any) {\r\n sessionStorage.setItem(\"cart\", value)\r\n }\r\n function myFunction3(value: any) {\r\n\r\n myFunction2(value)\r\n var aux = sessionStorage.getItem(\"cart2\");\r\n if (aux == undefined || aux == null || aux == \"unhover\") {\r\n sessionStorage.setItem(\"cart2\", value)\r\n\r\n } else if (aux == \"hover\") { sessionStorage.setItem(\"cart2\", \"unhover\") }\r\n else { { sessionStorage.setItem(\"cart2\", \"unhover\") } }\r\n\r\n }\r\n\r\n function isUserlog() {\r\n\r\n\r\n var guardado = sessionStorage.getItem('user');\r\n if (guardado == null || guardado == undefined) {\r\n\r\n } else {\r\n let currentUser: UserModel = JSON.parse(guardado ? guardado : \"\");\r\n\r\n if (currentUser !== null && currentUser !== undefined) {\r\n return true;\r\n }\r\n\r\n }\r\n return false;\r\n }\r\n\r\n const { height, width } = useWindowDimensions();\r\n\r\n function getWindowDimensions() {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n useEffect(() => {\r\n\r\n if (width < 767) {\r\n setRespon(true);\r\n } else { setRespon(false); }\r\n }, [width]);\r\n\r\n function useWindowDimensions() {\r\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWindowDimensions(getWindowDimensions());\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n return windowDimensions;\r\n }\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
\r\n
\r\n\r\n\r\n\r\n\r\n );\r\n}\r\n\r\n\r\n\r\nexport default HeaderComponent;\r\n","import React, { useState } from 'react';\r\n\r\nimport './App.css';\r\nimport LoginForm from './Components/LoginForm';\r\nimport ReportsPage from './Pages/ReportsPage';\r\nimport RegisterPage from './Pages/RegisterPage';\r\nimport ProductsPage from './Pages/ProductsPage';\r\nimport { Cart } from './Models/Models';\r\nimport HeaderComponent from './Components/HeaderComponent';\r\n\r\n\r\nconst AppHeader :React.FC= () => {\r\n let cart : Cart ={UserName:\"Nick\",UserNit:\"11010110\",ProductCartDetail:[]}\r\n let [currentCart,setCurrentCart] = useState(cart);\r\n return (\r\n
\r\n \r\n\r\n
\r\n );\r\n}\r\n\r\nexport default AppHeader;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App2 from './App2';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport AppHeader from './AppHeader';\r\n// ReactDOM.render(\r\n// \r\n// \r\n// ,\r\n// document.getElementById('root')\r\n// );\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('rootTab')\r\n);\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('rootTabHeader')\r\n);\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}